课程设计报告 11213026 -陈心怡-打字母小游戏.doc_第1页
课程设计报告 11213026 -陈心怡-打字母小游戏.doc_第2页
课程设计报告 11213026 -陈心怡-打字母小游戏.doc_第3页
课程设计报告 11213026 -陈心怡-打字母小游戏.doc_第4页
课程设计报告 11213026 -陈心怡-打字母小游戏.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

C+语言程序设计课程设计报告课 程: C+语言程序设计 题 目: 打字母小游戏 年 级: 2011级 专 业: 信息与计算科学 学 号: 11213026 姓 名: 陈心怡 指导教师: 张 超 江苏师范大学数学与统计学院【摘要】 本游戏为“打字母小游戏”,是一种益智类小游戏。系统在页面随机的位置掉下一个随机的字母,玩家得在字母未掉落到底端前把它打出来。本游戏的运行环境为Visual C+ 6.0,该游戏不仅锻炼了玩家的打字能力而且能训练玩家的反应力。【关键词】随机;位置;字母;打字;正确率【引言】打字母小游戏是一款简单的益智类游戏,操作简单,易上手,主要适用于刚接触电脑、对键盘不熟悉的用户,帮助他们尽快熟悉键盘,也在一定程度上锻炼了玩家的反应能力,类似于学习机上的指法练习程序,简答、实用。游戏规则是:初始页面上会有四个选择:进入游戏、游戏指南、关于作者、退出游戏。选择进入游戏之后,系统在随机位置随机显示出字母表中的任意一个字母,玩家得在字母未掉落到底端前把它打出来,不管打对或者打错你都可以继续打下去,每打完一个系统会统计出你的正确率。本文首先简单交代了设计思路与相应的设计过程,然后通过截图显示设计的结果,接着写了设计总结来与大家分享一下我的设计心得,最后附上了这个游戏总的设计代码,包含了类的定义,类的实现以及主函数三个部分,并且几乎每个语句后面都做了相应的注释,方便读者阅读。【设计思路】1.在随机的位置出现随机的字母。实现方法:rand()随机数生成 循环 延时函数sleep()2.统计用户输入的正确率。3.重复第一第二步直至玩家退出游戏。【设计过程】 先定义一个dazi类,里面包含了欢迎选择界面、主游戏界面、界面图形布局和进度条。类的实现主要通过选择循环语句。然后在主函数里调用该类。【设计结果】图1:初始界面。主要有:进入游戏,游戏指南,关于作者,退出游戏四个选项。图2:选择进入游戏后,便出现了打字母的游戏界面,随机掉下一个字母,然后输入相应的字母,输入正确后,该字母会被打掉,进入下一个字母,并会显示相应正确率。这图3:该图表示一共掉下来六个字母,而玩家只输入对了三个,即正确率50%【设计总结】本游戏主要根据已有的打字母游戏进行修改,从书本、网上找思路。但在实际设计的过程中还是出现了许多的问题,但最后都一一解决了。总的设计过程还是挺艰辛的,但由于时间仓促,本游戏还有许多不足,比如:页面过于简单,许多玩家选项都是虚设,没涉及一个可以多玩家比赛的模块等,这些还有待于我以后继续完善。附录:类的定义#ifndef dazi_h#define dazi_h#include #include #include #include #include using namespace std;class dazi public: void setpos(int x,int y); void welcome();/欢迎选择界面 int body();/主游戏界面 void start();/界面图形布局 int time();/LOADING进度条;#endif1、 类的实现#includedazi.hvoid dazi:welcome() for(int i=0;i3;i+) system(cls); coutnnnnnnnnnntttloading; for(int j=0;j10;j+) Sleep(80); cout.; /运用Sleep形成一个载入界面 do system(cls); coutnnendl;coutnttt*endl; coutnttt* 欢迎挑战 *endl; coutnttt*endl; coutnttt* *endl;coutnttt* 1.进入游戏 *endl; coutnttt* 2.游戏指南 *endl;coutnttt* 4.关于作者 *endl; coutnttt* 5.退出 *endl; coutnttt* *endl; coutnttt*endl; couti; switch(i)/选择选项,实际上只有1是可以选的,其他都是错误 case 1: time(); start(); body(); break; default: cout为进度 system(cls); coutnnnnnttttloading.nnnnnendl; for(int i=0;i80;i+) cout; Sleep(20); ; return 0;void dazi:start()/整体界面布局,具体参考游戏 system(cls);/屏幕清空 int i; for(i=1;i=2;i+)/形成前两派的围栏 cout |endl; cout *endl; cout* ZYH * ; for(i=9;i=13;i+) cout- * - ; cout GOOD * endl; for(i=1;i=8;i+) cout |endl clock();int dazi:body() dazi show; int h=20; int w=40; int s=150; int x,y; int c=0,cok=0;/cok代表正确数,c代表总数 char ch, k; while(1) ch=rand()%26+A;/输出字符为A-Z x=10+rand()%w;/x的范围是10-49 y=5; c+; while(yh) if(_kbhit()/这个过程为先获得玩家输入的字符,然后和电脑随机生成的字符进行比较,正确的话cok+ k=getch(); if(k=ch|k=ch+32) cok+; break; show.setpos(x,y); coutch;sleep(s); show.setpos(x,y); cout ;y+;/这四条表示字符向下移动的过程,一共移动15格 show.setpos(0,h+1); cout* GOOD GOOD *endl;/得分界面 coutcok/c cok*1.0/c*100% en

温馨提示

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

评论

0/150

提交评论