




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+实验报告石头、剪刀、布游戏目录C+实验报告2石头、剪刀、布游戏2一、目的与要求2二、工具/准备工作2三、分析2四、实现步骤5五、测试与结论8六、实验总结11C+实验报告石头、剪刀、布游戏一、目的与要求 在游戏中,孩子们用手表示石头、剪刀或布中的一个,出拳头表示石头,伸出两根手指表示剪刀,伸手表示布,孩子们面对面地数到三时做出他们的选择,如果所作选择是一样的,则表示平局,否则就按如下规则决定胜负:(1)石头砸坏剪刀(2)剪刀剪碎布(3)布覆盖石头编程实现电脑与人进行游戏。二、工具/准备工作Micros Visual C+ 6.0。三、分析1.构造一个运行石头、剪刀、布的类RockPaperScissors:class RockPaperScissorspublic:int Roll();void start();void choice();void compare(int a,int b);private:int a,b;在类外定义函数Roll(),start(),choice(),compare(int a,int b)。2.由于石头、剪刀、布游戏有三种状态,现在分别用1、2、3来表示石头、剪刀、布,使用随机数模3并加1来表示一枚骰子所产生的数:a=rand()%3+1;a即一次骰子游戏所得到的数字。3.在compare(int a,int b) 函数中进行比较判定胜负:void RockPaperScissors:compare(int a,int b)cout电脑出的为:;if (a=1)cout石头endl;if (b=1)cout您出的石头,平局!endl;else if (b=2)cout您出的剪刀,您输了!endl;else if (b=3)cout您出的布,您赢了!endl;else if (a=2)cout剪刀endl;if (b=1)cout您出的石头,您赢了!endl;else if (b=2)cout您出的剪刀,平局!endl;else if (b=3)cout您出的布,您输了!endl;else if (a=3)cout布endl;if (b=1)cout您出的石头,您输了!endl;else if (b=2)cout您出的剪刀,您赢了!endl;else if (b=3)cout您出的布,平局!endl;4.根据玩家的选择运行程序:doif (p!=1&p!=2)else if (p=1)while (p!=2);5.在每一次游戏开始前,为确保随机数的随机性,使用srand函数来生成伪随机数序列的种子:srand(unsigned)time(NULL);6.游戏开始时,提示玩家输入1、2、3来进行选择:void RockPaperScissors:choice()cout请输入您的选择:endl;cout1.石头.endl;cout2.剪刀.endl;cout3.布.n;if (n!=1&n!=2&n!=3&n!=4)cout输入错误,请重新输入:endl;else if(n=4)RPS.start();break;elsem=RPS.Roll();RPS.compare(m,n); while(n!=4);四、实现步骤1.建立头文件并定义所用到的字符常量:#include #include #include using namespace std;2.定义类并在类外定义类中函数:class RockPaperScissorspublic:int Roll();void start();void choice();void compare(int a,int b);private:int a,b;int RockPaperScissors:Roll()a=rand()%3+1;return a;void RockPaperScissors:start()cout-石头剪刀布-endl;cout1.开始游戏.endl;cout2.退出游戏.endl;cout请输入您的选择:endl;void RockPaperScissors:choice()cout请输入您的选择:endl;cout1.石头.endl;cout2.剪刀.endl;cout3.布.endl;void RockPaperScissors:compare(int a,int b)cout电脑出的为:;if (a=1)cout石头endl;if (b=1)cout您出的石头,平局!endl;else if (b=2)cout您出的剪刀,您输了!endl;else if (b=3)cout您出的布,您赢了!endl;else if (a=2)cout剪刀endl;if (b=1)cout您出的石头,您赢了!endl;else if (b=2)cout您出的剪刀,平局!endl;else if (b=3)cout您出的布,您输了!endl;else if (a=3)cout布endl;if (b=1)cout您出的石头,您输了!endl;else if (b=2)cout您出的剪刀,您赢了!endl;else if (b=3)cout您出的布,平局!i;if (i!=1&i!=2)cout输入错误,请重新输入:n;if (n!=1&n!=2&n!=3&n!=4)cout输入错误,请重新输入:endl;else if(n=4)RPS.start();break;elsem=RPS.Roll();RPS.compare(m,n); while(n!=4); while(i!=2);return 0;五、测试与结论1.运行程序:2.当输入1时程序运行如下:3.当继续随机输入6次1/2/3时程序运行如下:4.当输入4程序如图所示。5.输入2结束程序。由运行结果可知,程序满足设计要求。六、实验总结由于rand() 函数所产生的随机数是伪随
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行孝感市大悟县2025秋招笔试价值观测评题专练及答案
- 农发行宣城市宁国市2025秋招笔试专业知识题专练及答案
- 农发行石家庄市新乐市2025秋招无领导小组面试案例库
- 农发行徐州市贾汪区2025秋招半结构化面试题库及参考答案
- 农发行郴州市汝城县2025秋招信息科技岗笔试题及答案
- 农发行哈尔滨市依兰县2025秋招半结构化面试题库及参考答案
- 国家能源广州市荔湾区2025秋招心理测评常考题型与答题技巧
- 国家能源百色市凌云县2025秋招笔试题库含答案
- 国家能源抚顺市望花区2025秋招心理测评常考题型与答题技巧
- 巴中平昌县中石油2025秋招笔试行测50题速记
- DB3301T 0461-2024电动自行车停放充电场所消防安全管理规范
- 渔船合伙投资协议书
- 大坝帷幕灌浆及充填灌浆施工方案
- 23年成考本科英语试卷及答案
- 冲孔灌注桩施工方案
- 高压输电线路维护保养方案
- 2025年物联网安装调试员(高级)技能鉴定考试题库
- 学校“1530”安全教育记录表(2024年秋季全学期)
- 2025年篮球比赛免责协议书模板
- 新入职教师法律法规培训
- 幼儿园护学岗职责
评论
0/150
提交评论