已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铜头铁额防盗门购销合同
- 企业委托处理协议
- 节能减排创新合同
- 典型借款协议范本
- 二零二四年度文化传播公司活动赞助合同
- 高效服务购买协议
- 守护安宁保安服务
- 贷款抵押合同模板
- 消防改造工程合同
- 化肥买卖合同范本
- 国内外智慧护理服务模式的研究进展
- 安全生产法律法规注册安全工程师考试(初级)试卷与参考答案
- 深圳2020-2024年中考英语真题专题03 阅读理解之记叙文(解析版)
- 数据安全风险评估
- 【初中历史】秦汉时期的科技与文化课件 2024-2025学年统编版七年级历史上册
- 教育研究方法课程设计
- 国家职业技术技能标准 5-02-03-02 野生植物保护员 人社厅发201512号
- 医务人员职业暴露预防及处理课件(完整版)
- 2024秋期国家开放大学专科《EXCEL在财务中的应用》一平台在线形考(形考作业一至四)试题及答案
- 整本书阅读《平凡的世界》中职语文高教版(2023-2024)基础模块上册
- GB/T 44264-2024光伏组件清洁机器人通用技术条件
评论
0/150
提交评论