- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
猜数字游戏课程设计
(c/c++程序设计课程设计)
设计说明书
猜数字游戏的设计与实现
学生姓名 学号 班级 成绩 指导教师
计算机科学与技术系
2010年7月9日
C/C++程序设计课程设计评阅书
题 目 猜数字游戏的设计与实现 学生姓名 学号 指导教师评语及成绩: 成绩: 教师签名: 年 月 日 答辩教师评语及成绩: 成绩: 教师签名: 年 月 日 教研室意见: 总成绩: 室主任签名: 年 月 日 注:指导教师成绩60%,答辩成绩40%,总成绩合成后按五级制记入。
课程设计任务书
2009 —2010 学年第 二 学期
专业: 计算机科学与技术 学号: 姓名:
课程设计名称: c\c++程序设计课程设计
设计题目: 猜数字游戏的设计与实现
完成期限:自 2010 年 6 月 28 日至 2010 年 7 月 9 日共 2 周
设计依据、要求及主要内容(可另加附页):
猜数字是一种益智类小游戏游戏规则比较简单,一般两个人玩,一方出数字,一方猜《猜数字》游戏中的出数字方,要求程序完成以下功能:随机抽取一个4位整数,要求这个四位数没有重复数字,最高位不是0提示玩家,猜一个数字根据玩家猜的数,与比较,判断玩家猜的数字中位置正确的数字个数m和数字正确而位置不对的数的个数n,并以mAnB的形式输出 如果玩家没有猜对,那么提示mAnB,让玩家继续猜,否则输出“你,这个数字就是,你一共猜了次哦!” 如果玩家猜了次还不对,那么提示玩家“你已经猜了次了,还要继续吗
目录
1.课题描述 1
2.问题分析和任务定义 2
3.逻辑设计 3
4.详细设计 5
5.程序编码 12
6.程序调试与测试结果 18
7.总结 20
参考文献 21
1.课题描述
本次课题是猜数字游戏的设计与实现。主要是通过C或C++语言开发,实现《猜数字》游戏中的出数字方,环境由电脑随机产生一个数字不重复的四位数(最高位不为零)所猜的数与它自动产生的数进行比较,mAnB,A代表位置正确数字也正确,B代表数字正确但位置不正确
2.问题分析和任务定义
这次课设是要求用C++编写程序,实现数字之间的相互比较,让玩家找出电脑写的四位数字,而玩家在找出四位数字中,电脑需要给出玩家一些提示信息,用以帮助玩家找出答案。对于猜一个各个位数不等的四位数,电脑需要在程序刚运行时,确定一个随机的四位数,且各个位数不相等。而在玩家输入数字时,也需要检验玩家输入的数字是否满足条件,即一个各个位数不重复的四位数。只有玩家输入正确的数字后,电脑才能进行比较数字的运算,如果玩家输入的数字和电脑的不相等,输出提示信息,并应从新读取玩家的数字进行判断,直到玩家放弃猜数字或数字猜对为止。
3.逻辑设计
猜数字处理系统,包括三个模块,和一个主函数。三个模块分别是电脑产生一个正确的随机数,读取玩家正确的四位数,电脑与玩家数字的比较。其中脑产随机数函数和主函数为整型,其它都无返回类型。主函数通过在不断循环使用三大模块来实现。该程序采用面向对象的思想,来处理函数之间的调用。
图3.1 总程序流程图
4.详细设计
本程序设计为三个模块
1) 使电脑随机产生一个四位数字
int shuzi::suiji()
{
srand((unsigned int(time(NULL)))); //这是一个伪随机数种子,可以产生随机数;
int r1,r2,r3,r4;
r1=rand()%10;
r2=rand()%10;
r3=rand()%10;
r4=rand()%10;
return r1*r2*r3*r4;
}
{
b=0;
cout请稍等endl;
while(system=1023||system=9876) //判断产生的随机数是否满足大小
{
system=shu.suiji();
}
int temp_system[4];//存放系统数字的各位数
int i = 0;
int TS = system;
while(0 TS )
{
temp_system[i++] = TS%10;
TS /= 10;
}
for(i=0; i3; i++)
f
文档评论(0)