猜数字游戏课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
攀枝花学院课程设计
题目:猜数字游戏
院(系):数学与计算机
年级专业:
姓名:
学号:
指导教师:
二〇**年*月***日
攀枝花学院教务处制
攀枝花学院本科学生课程设计任务书
课程设计(论文)指导教师成绩评定表
目录
摘要 (5)
1 需求分析 (6)
1.1 需求概述: (6)
1.2 需求环境: (6)
1.3 功能描述: (6)
2 概要设计 (7)
2.1程序功能模块 (7)
2.2 程序流程图 (7)
3 详细设计 (8)
3.1 随机数字模块 (8)
3.1.1 代码功能 (8)
3.1.2 详细代码 (8)
3.2 循环输入所猜测数字 (8)
3.2.1 代码功能 (8)
3.2.2 详细代码 (8)
3.3 对比两数字 (9)
3.3.1 代码功能 (9)
3.3.2 详细代码 (9)
3.4 游戏计时 (9)
3.4.1 代码功能 (9)
3.4.2 详细代码 (9)
4 测试运行 (10)
4.1 显示随机数字 (10)
4.2 不显示随机数字 (11)
结束语 (12)
参考文献 (13)
程序源代码 (14)
摘要
猜数字游戏是一项有趣的小游戏,玩家需要输入一个数字与电脑所给出的随机数字相比较,如若数字相同,则游戏结束;若数字不同,则给出所猜测数字同随机数字比较大小,继续进行猜测,直至猜对为止。
猜数字游戏小程序编写过程中,需要循环输入所猜测数字;同时也需要电脑随机给出一个数字以及游戏计时函数。
关键词:循环;随机函数;计时函数;
1 需求分析
1.1 需求概述:
猜数游戏突破一般游戏的娱乐功能,在娱乐的同时开拓了玩家的思维及应变能力。猜数字游戏是一种看似简单但事实很难的游戏,我们在玩的同时要不停地动脑筋,计算着数字的概率,这就锻炼着我们对数字的敏感和对概率的熟悉。这个游戏不仅学生可以玩,成人也是很适合的,我们在玩游戏的同时也在不停的锻炼我们的耐心和恒心。由于我们是初学者,设计过程中有很多不足之处,所以我们的游戏并没有排行等功能。该游戏可能有点难度,但我认为这或许会更好,我们玩的时候也是和我们自己比赛,不停的超越自己。
1.2 需求环境:
本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:
①硬件要求:一台计算机。
②软件配置:WINDOWS、C/VC++6.0。
1.3 功能描述:
1,游戏软件随机产生1个数字,但不显示,给用户提供输入提示符,让用户猜这个数字的值。如果正确地猜中这个数字,则猜数字成功。
2,玩家猜数字的次数不限。
3,玩家每次输入猜测数字,统会将输入数字与本次游戏产生的随机数比较,相等则猜数字成功,不相等则根提示猜测数字与随机数比较,大了还是小了并记录当前游戏猜测时间。
4,当玩家成功猜中数字时,系统会输出本局所用时间作出评价。
2 概要设计
2.1程序功能模块
由需求分析知,本次课程设计是用循环实现猜数字演示程序,故其功能模块分为:随机数字模块,循环输入模块,对比模块,计时模块四个模块。
2.2 程序流程图
3 详细设计
3.1 随机数字模块
3.1.1 代码功能
由电脑随机产生提供一个整数(0到10000)来给游戏者猜测。
3.1.2 详细代码
srand((unsigned)time(NULL)*100);
srand((unsigned)time(NULL)*100);
ran_num = 10000*rand() / (RAND_MAX)+0;
解析:随机数字出现范围0~1000;要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a或者(rand() * (b-a)) / RAND_MAX + a。
3.2 循环输入所猜测数字
3.2.1 代码功能
键盘上输入猜测数字直至猜正确为止。
3.2.2 详细代码
while(cin >> a)
解析:使用while语句循环更加简洁,明了。
3.3 对比两数字
3.3.1 代码功能
输入数字同电脑随机数字比较,如果相同,则游戏结束;不同,给出提示,继续输入。
3.3.2 详细代码
if(a < ran_num)
{
cout <<" your number is small."<< endl;
}
else if(a > ran_num)
{
cout <<"your number is big."<< endl;
}
else
{
break;
}
解析:比较输入数字同随机数字的大小,并给出提示。
3.4 游戏计时
3.4.1 代码功能
游戏开始时计时到游戏结束时终止计时,统计游戏所花时间,根据时间给出相应评语。
3.4.2 详细代码
srand((unsigned)time(NULL)*100);
clock_t start, finish;
double duration; /* 测量猜数字的时间*/
start = clock();
.