已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 题目猜数字游戏2、 实验开发环境 Visual C+ 6.03、 前言猜数字游戏是休闲娱乐和智力锻炼的一种智力型游戏。游戏规则:让系统随机产生一组数字,由游戏者输入要猜的数字,然后,系统会将输入的数字与随机生成的数字进行比较,当输入的数字与随机生成的这组数字数值和位置完全对应时,就获得了胜利。四、实验目的(1)了解程序开发环境调试工具的使用;(2)掌握小型系统的开发过程,学会用C+语言解决问题。五、软件开发过程(1)程序运行后呈现的游戏菜单上要有“开始游戏”、“查看游戏规则”、“设置游戏难度”、“退出游戏”等多项选择。因此可以采用多文件结构来进行调用,由主函数来实现呈现游戏菜单与实现游戏者选择的功能,根据游戏者的选择来有选择的调用其他文件中的函数。主函数用于设计游戏开始界面和调用其他文件中的函数:(2)当游戏者选择一项功能后,就要跳转到相应的界面,游戏开始界面要清除掉,可以使用系统界面清除功能: #include windows.h system(cls);(3) 当游戏者选择的某一功能运行结束后,要按任意键返回游戏开始界面,因此主函数需要用到循环语句:先定义变量a,当a不等于4时执行程序,后面要结束程序时,令a等于4就可以结束循环,进而结束程序:(4) 首先游戏者查看游戏规则,当游戏者选择功能2后,主函数调用rules()函数,这个函数就会输出游戏规则:(5)开始游戏前要求先设置游戏难度,否则按默认设置难度进行游戏。事先将游戏难度系数设置为一个全局变量,并赋初值1(即最低难度系数),若有进行难度设置,则可通过调用函数改变难度系数,游戏难度系数必须为110,如果输入其他数字,系统会要求重新输入:(6) 游戏者开始游戏后,首先系统产生与游戏难度系数相等的几个随机数并存放在数组a中,这需要一个函数来实现:然后提示游戏者输入要猜的数字,输入后存放在数组b中;将数组a和b进行比较,统计出数据相同且位置相同的个数k和数据相同但位置不同的个数p:游戏函数也要用循环语句,直到游戏者输入完全正确为止(7) 若游戏者想知道答案或中途退出游戏,则第一个数字输入10即可:实验源程序:/headf.hvoid rules();void game(int c);int exit();int classes();/mainf.cpp#include stdafx.h#include headf.h#include windows.h#include conio.h#include using namespace std;int a,c=1;int main()while (a!=4)cout -endl;cout 猜数字游戏 endl;cout -endl;cout1.开始游戏(y/n)?endlendl;cout2.查看游戏规则endlendl;cout3.设置游戏的难易度endlendl;cout4.退出游戏endlendl;couta;switch(a)case 1:system(cls);game(c);break; case 2:system(cls);rules();break; case 3:system(cls);c=classes();break; case 4:system(cls);a=exit();break;cout按任意键继续.;getch();system(cls);return 0;/rules.cpp#include stdafx.h#include using namespace std;void rules()cout猜字游戏规则:endl;cout1.可先设置难易度,如果不设置,则默认最低级,即第1级,难易度可分为110级,1级猜一个数字,2级猜两个数字.10级猜10个数字;endl;cout2.请输入猜测的数字(09),输入数字时要用空格分隔开每两个数字;endl;cout3.提示输入的数字数值正确和位置正确的个数,输入的数字数值正确但位置不对的个数;endl;cout4.不断的重复2、3步,若猜数完全正确,提示游戏者胜利;若试了15次还不正确,宣布游戏者失败。endl;/classes.cpp#include stdafx.h#include int classes()double c,y=1;while(y)coutendl;coutc;if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=8|c=9|c=10) y=0;else coutendl输入错误,请重新输入endlendl;return c;/game.cpp#include stdafx.h#include stdlib.h#include time.h#include using namespace std;void game(int c)int a10;double b10;void create_Ary(int a,int c);cout游戏的难易度为:c (若要答案且退出,第一个数字输入10)endlendl;create_Ary(a,c);int x=1,n=1;while (x)int i,j,k=0,p=0;cout请输入c个要猜的数字(用空格隔开每个数字):;for(j=0;jbj;for(j=0,k;jc;j+) if(bj=aj) k+; /统计出数据相同且位置相同的个数kfor(j=0;jc-1;j+)for(i=j+1;ic;i+)if(bi=aj) p+;for(j=0;jc-1;j+)for(i=j+1;ic;i+)if(ai=bj) p+; / /统计出数据相同但位置不同的个数pif(k=c) cout数据相同且位置相同的个数:kendl;cout数据相同但位置不同的个数:pendl=3&n=1) cout第一名!你的天赋简直是前无古人后无来者!endl;else if(n/c=2) cout你的天赋非常好,太棒了!endl;else if(n/c=3) cout你的天赋不错,赞一个!endl;else if(n/c=4) cout你是有天赋的,继续努力!endl;else cout你是游戏的胜利者!endl;coutendl;x=0;else cout数据相同且位置相同的个数:kendl; cout数据相同但位置不同的个数:pendl;if(n=15)coutendl;cout你已经尝试了15次,仍未成功,游戏失败!endlendl;x=0;n+;if(b0=10)coutendl正确答案是:;for(j=0;jc;j+)coutaj ;coutendlendl;x=0;cout游戏已结束,;void create_Ary(int a,int c)srand(time(0); /使随机数函数rand产生一序列随机数而设置种子值int i=0,j,x;while (ic)x=rand();if (x=10) continue;j=0;while (ji) ai+=x; / 不同的元素送入数组/exit.cpp#include stdafx.h#include using namespace std;int exit()int main();char b;while (b!=y&b!=Y&b!=n&b!=N)coutb;if(b=y|b=Y)cout欢迎下次再来!endl;return 4;else if (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业数字化技术员安全实践考核试卷含答案
- 野生动物保护员发展趋势知识考核试卷含答案
- 医疗设备招标采购流程
- 疼痛管理在临床中的应用与挑战
- 木地板坯料制备工安全文化考核试卷含答案
- 芳香烃生产工安全知识竞赛考核试卷含答案
- 船舶甲板设备操作工安全意识强化评优考核试卷含答案
- 化工生产现场技术员岗前工作合规考核试卷含答案
- 重冶湿法冶炼工安全操作考核试卷含答案
- 2026年餐厨垃圾合同
- 2025年人事行政经理年底工作总结及2026年工作计划
- 病理报告撰写规范指南
- 机器人直销合同范本
- 河南青铜鸣大联考2025-2026学年上学期高二期中考试物理(A)试卷(含解析)
- 幼儿园保育员午睡管理培训
- (独家!)“十五五”防震减灾发展规划
- 2025年国家开放大学《现代汉语》期末考试复习试题及答案解析
- 2025秋新教科版三年级上册科学全册知识点(新教材专用 )
- 2025版中风早期症状识别及急救培训
- 工程伦理-形考任务二(权重20%)-国开(SX)-参考资料
- 心电监护技术精要
评论
0/150
提交评论