




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+课程设计实验报告姓名: XXX 学号: XXXXXXX 班级: XXXXXX 指导教师: XX 完成日期: XXXX年X月X日 目 录一、问题简述(2)二、需求分析及系统设计(2)(一)需求分析(2)(二)系统设计(2)三、程序测试结果(4)四、问题及解决方案和收获与心得(7)(一)问题及解决方案(7)(二)收获与心得(7)五、程序源代码(8)一、问题简述 本题目(参考题五)要求设计并实现一个打字游戏,游戏要求如下:游戏开始后,屏幕上方同时有四个数字分四列下落,每个数字由三位组成(随机生成,但首位不可相同)。玩家用键盘依次输入数字,如果输入的数字序列与某一列正在下落的数字三位全部相同,则给玩家加10分,该列数字消失,该列新产生数字并下落;如果输入的数字某一位不相同,则输入的数字序列全部作废,重新接收输入。某一列数字到达屏幕底部则游戏结束。对于本题目我采用C+进行设计并实现。二、需求分析及系统设计(一)需求分析需要设计的这个游戏程序,其规则在上述问题简述中已经进行了详细描述。其中有几个方面是这个程序所需要的主要模块: (1)生成四组随机的三位数,并且所生成的四组随机数要求首位不相同;(2)分析并选取合适的方式来存储这些随机数;(3)所有显示出的数能够按照一定频率向下进行滚动;(4)键盘输入一组数字,并在输入匹配的情况下消除与之匹配的数,然后产生一个不同于其他三组的新随机数;(5)判断游戏结束的标准并输出分数。(二)系统设计通过分析,选择二维数组作为存储并处理这些随机数的容器,所有主要步骤都在这个二维数组中设计并实现;在随机数的生成上选择以当前系统时间为随机种子来生成所需要的四组随机数;该程序包含的模块:class GRN -(该类负责生成随机数 Generate Random Number) void generate()-(生成随机数) int RN()-(将生成的随机数返回n)class Run -(该类负责实现程序的其他主要功能) void initialize()-(对数组以及各类参数进行初始化) void importing()-(将生成的符合要求的随机数导入到数组中) void show()-(显示游戏运行过程) void judge()-(判断所输入的数是否满足消去条件并进行记分) void act(int t)-(执行,消去满足条件的数并在该列顶端生成新随机数)系统流程图:三、程序测试结果(OS:Windows 8 编译:VS2012)1.游戏程序开始执行界面2.输入数字每次移动的时间间隔(单位ms)3.游戏开始运行4.游戏进行中5.游戏结束6.经过测试,游戏能够正常运行并且所得分数正确。四、问题及解决方案和收获与心得(一)问题及解决方案在设计开始时,希望能把这个游戏程序做成windows图形界面来显示,但是由于时间和能力不足,最终选择将程序实现在DOS窗口界面下。在设计过程中,对游戏进行时的滚动速度想实现成逐渐加快的模式,但是实现过程发现有一些缺陷,于是改善成由用户自己手动输入Sleep(t)中t的数值来设置游戏中数字的滚动速度,这样用户可以有不同的体验。(二)收获与心得 通过完成本次C+游戏程序的设计与实现,我对C+程序的设计有了更深一层的了解,锻炼了使用C+编程的熟练程度,对程序的设计步骤与相关细节的实现有了更好的认识;在完成程序的过程中,会出现一些错误,但是有些错误只要细心一点就可以避免,这样写程序的效率就会提高,另外,整洁的代码对于所写程序的质量也有很好的帮助与提升。五、程序源代码Type.h#include#include#include#include#includeusing namespace std;class GRN /Generate Random Numberpublic:void generate(); /Generateint RN(); /Random Numberprivate:int n;class Runpublic:void initialize(); /初始化void importing(); /导入void show(); /显示void judge(); /判断 void act(int t); /执行private:GRN a4;int i,j,k,l,z4;int num,grade;int n254;char s4;Type.cpp#includetype.hvoid GRN:generate() n=rand()%900+100; /生成三位随机数int GRN:RN()return n;void Run:initialize()for(i=0;i4;i+)zi=0;for(i=0;i25;i+)for(j=0;j4;j+)nij=0;k=0;i=0;j=0;grade=0;s0=0;void Run:importing()for( ; ; )a0.generate(); a1.generate(); a2.generate(); a3.generate();if(a0.RN()/100!=a1.RN()/100 & a1.RN()/100!=a2.RN()/100 & a2.RN()/100!=a3.RN()/100 & a0.RN()/100!=a2.RN()/100 & a0.RN()/100!=a3.RN()/100 & a1.RN()/100!=a3.RN()/100) /保证生成的四组随机数的首位不相同break;n00=a0.RN();n01=a1.RN();n02=a2.RN(); n03=a3.RN();void Run:show()for(i=0;i25;i+)for(j=0;j4;j+)if(nij!=0)coutnij ; elsecout ; if(_kbhit() sk=_getch(); k+;coutendl; void Run:judge()if(k=3) s3=0;num=atoi(s);if(num=a0.RN() | num=a1.RN() | num=a2.RN() | num=a3.RN() /所输入数字与任意一已显示数字相同grade += 10;cout已得分数:grade;if(num=a0.RN() /所输入数字与第一列中显示数字相同for( ; ; )a0.generate();if(a0.RN()/100!=a1.RN()/100 & a0.RN()/100!=a2.RN()/100 & a0.RN()/100!=a3.RN()/100)break; nl-1-z00=0; z0=l-1; if(num=a1.RN() /所输入数字与第二列中显示数字相同for( ; ; )a1.generate();if(a0.RN()/100!=a1.RN()/100 & a1.RN()/100!=a2.RN()/100 & a1.RN()/100!=a3.RN()/100)break;nl-1-z1 1=0; z1 = l - 1;if(num=a2.RN() /所输入数字与第三列中显示数字相同for( ; ; )a2.generate();if(a2.RN()/100!=a1.RN()/100 & a0.RN()/100!=a2.RN()/100 & a2.RN()/100!=a3.RN()/100)break; nl-1-z22=0; z2=l-1; if(num=a3.RN() /所输入数字与第四列中显示数字相同for( ; ; )a3.generate();if(a3.RN()/100!=a1.RN()/100 & a3.RN()/100!=a2.RN()/100 & a0.RN()/100!=a3.RN()/100)break;nl-1-z33=0; z3=l-1; k=0;s0=0;void Run:act(int t)for(l=1; ;l+) show();judge();nl-z0-10=0;nl-z1-11=0;nl-z2-12=0;nl-z3-13=0; nl-z00=a0.RN();nl-z11=a1.RN(); nl-z22=a2.RN();nl-z33=a3.RN(); Sleep(t);system(cls); if(l-z0=24 | l-z1=24 | l-z2=24 | l-z3=24) cout*GAM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 慢性前列腺炎合并性功能障碍患者护理查房
- 阿克苏地区2025-2026学年七年级上学期语文期中模拟试卷
- 安徽省淮南市凤台县2023-2024学年高三下学期高考第一模拟考试(一模)生物试题含参考答案
- 安徽省蚌埠市龙子湖区2023-2024学年高一下学期期末考试思想政治试题及答案
- 2025 年小升初邢台市初一新生分班考试语文试卷(带答案解析)-(人教版)
- 2025 年小升初晋中市初一新生分班考试数学试卷(带答案解析)-(冀教版)
- 湖北省襄阳市樊城区2025年中考适应性考试物理试题
- 社区消防知识培训课件评语
- 统编版2025-2026学年三年级语文上册第七单元检测卷(有答案)
- 甘肃省平凉市第四中学2024-2025学年七年级下学期7月期末数学试题(含部分答案)
- 棬槽沟村道路建设实施方案
- 中国民族史纲要罗佑贤
- JJF(石化)053-2021间隙式湿膜制备器校准规范
- 4.3闭环控制系统的工作过程教学设计-高中通用技术必修《技术与设计2》
- 2023版设备管理体系标准
- 产品设计程序与方法-整理版
- 办公家具供货安装、保障实施及售后服务方案
- 《曼陀罗绘画疗愈-初三减压》PPT
- 企业外包业务安全生产专项检查表(全面)1管理学资料
- 航海英语听力与会话第四版朗读题70篇
- 垃圾中转站设备安全操作规程
评论
0/150
提交评论