C++剪刀石头布游戏课程设计_第1页
C++剪刀石头布游戏课程设计_第2页
C++剪刀石头布游戏课程设计_第3页
C++剪刀石头布游戏课程设计_第4页
C++剪刀石头布游戏课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术学院C+高级语言程序设计课程设计报告 (2016/2017学年 第一学期)学生姓名: 常满琪 学生班级: 软件工程152601学生学号: 201526170101指导教师: 韩里虎 2016年12月20日计算机科学与技术学院课程设计任务书课程设计名称C+高级语言程序设计课程设计课程设计题目 剪刀石头布学生姓名常满琪专业班级软件工程 152601学号201526170101课程设计任务内容问题描述 基本要求 (1) 实现人机对战的功能,(2)可以记录比赛次数 ,输赢的次数测试要求(1)(2)指导教师: 时 间: 年 月 日 目 录(1) 设计问题描述与需求分析待定(2) 数据结构与算法设计4(3) 程序设计编码与测试5(4)设计过程总结与体会1313程序源代码:#includeusing namespace std;enum c_h_scloth,hammer,scissors,game,help,instructions,quit;class Game /构造类 public: Game(); enum c_h_s select(); enum c_h_s mach(); void instruct(); int won(enum c_h_s,enum c_h_s); void gamee(int,int,int); void helpp(); void solution(); private: int win; int lose; int tie; enum c_h_s player; enum c_h_s machine;*成员函数定义模块define.cpp*#includeusing namespace std;Game:Game() /初始化数据成员win=0;lose=0;tie=0;void Game:instruct()coutendl;cout* 剪刀 锤子 布 * endl;cout在这个游戏中endl;coutc 表示布endl;couth 表示锤子endl;couts 表示剪刀.endl;cout游戏者和机器都只选择 c,h,s中的一个.如果二者的选择相同endl;cout那么这一局就是平局.此外:endl;cout布包锤子(布获胜).endl;cout锤子打烂剪刀(锤子获胜).endl;cout剪刀剪布(剪刀获胜).endl; coutendl;cout还有其它的选择是:endl;coutg 表示游戏的结果(至今获胜的次数)endl;coutp 可获得帮助endl;couti 可获得游戏方法的指导信息endl;coutq 表示退出游戏.endl;cout这个游戏一直重复到游戏者选择 q 为止.endl;cout祝你好运!endl; /游戏结束enum c_h_s Game:select()char c;enum c_h_s p;coutendl;cout请选择 c,h,或s:;/提示用户输入字符while(c=getchar()= |c=n|c=t);switch(c) case c:p=cloth;break;case h: p=hammer;break;case s: p=scissors;break;case g: p=game;break;case i: p=instructions;break;case q: p=quit;break;default: p=help;break;return(p);enum c_h_s Game:mach()static int i;i=+i%3;return(i=0)?cloth:(i=1)?hammer:scissors);void Game:gamee(int win,int lose,int tie)coutendl;cout游戏结果如下:;coutendl;cout.width(7);cout你获胜的次数是:winendl;cout.width(7);cout我获胜的次数是:loseendl;cout.width(7);cout平局的次数为: tieendl;cout.width(7);cout游戏的总次数是:win+lose+tieendl;void Game:helpp()coutendl;cout你可以输入下列的字符:endl;coutc 表示布endl;couth 表示锤子endl;couts 表示剪刀endl;coutg 查看游戏结果endl;coutp 打印出这些信息endl;couti 重新打印出游戏指导信息endl;coutq 退出游戏endl;int Game:won(enum c_h_s player,enum c_h_s machine)int victory;if(player=cloth)victory=machine=hammer;else if(player=hammer)victory=machine=scissors;else victory=machine=cloth;return(victory);void Game:solution()instruct();while(player=select()!=quit)switch(player) case cloth:case hammer:case scissors:machine=mach();if(player=machine) +tie;coutendl;cout平局;else if(won(player,machine) +win;coutendl;cout你获胜;else +lose;coutendl;cout我获胜;case game:gamee(win,lose,tie);break;case instructions:instruct();break;case help:helpp();break;gamee(win,lose,tie);coutendl;coutendl;coutBYE!endl;*主函数定义模块main.cpp*#includeusing namespace std;int main()Game g;g.solution();return 0;运行结果:1、未输入任何命令2、 输入命令 c3、输入命令s4、输入命令q,结束游戏。设计过程本次设计主要参考了网上搜索的资料,但搜索的资料并不符合课程设计要求,所以就要求我们运用我们所学知识按照课程设计要求改进,生成C+面向对象的程序文件。首先,我根据网上的资料,把程序的流程图画出来。把程序分成若干的功能块。每个功能块能实现不通的功能,各功能块之间能够相互的调用。功能块之间的合理组合实现了整个游戏的功能。然后再定义各个功能块的作用,再根据作用用C+语言实现其功能。并编译与链接各功能块,各功能块编译与链接正确后再把它们链接成一个工程。本次设计中构造了一个Game类,将实现游戏的一些过程函数封装成类的函数,将在游戏里面需要的变量变成C+程序里面的数据成员。然后分块将各个功能实现。本次设计的评价与收获三周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论