文档介绍:计算机科学与技术 专业
课程设计题单
班级098206114 学生李文
课程名称 面向对象程序设计
课 题 猜数游戏程序设计
设计要求 (1)设计友好的中文交互界面;
按H键,可以得到详细的帮助信息:如第2位数字
正确,第2,void CompNumber(int&a, int&b, int&c, int&d)
(
srand(time(0));
bool bIS=false;
while(bIS==false) 〃循环生成,可以猜多组数字
(
a=l+(rand()%9);
b=l+(rand()%9);
c=l+(rand()%9);
d=l+(rand()%9);
if(a!=b&&a!=c&&a !=d&&b !=c&&b !=d&&c !=d)
〃生成4位都不相同的随机数
bIS=true;
〃生成成功
else{bIS=false;} 〃生成失败
bool End(int a, int b, int c, int d)
(
if(a==9&&b==9&&c==9&&d==9)
(
return true; 〃结束游戏信息
)
else
{return false;} 〃不结束,继续循环
)
bool Help(int a, int b, int c, int d,int &xl, int &x2, int &x3, int
&x4, int &yl, int &y2, int &y3, int &y4)
(
if(a==8&&b==8&&c==8&&d==8)(//玩家输入 8888 后给出提
示
if(xl) cout«"您的第1位数字和位置均猜对"«endl;
if(x2) cout«"您的第2位数字和位置均猜对"«endl;
if(x3) cout«"您的第3位数字和位置均猜对"«endl;
if(x4) cout«"您的第4位数字和位置均猜对"«endl;
if(yl) cout«"您的第1位数字猜对,但位置不对"«endl;
if(y2) cout«"您的第2位数字猜对,但位置不对"«endl;
if(y3) cout«"您的第3位数字猜对,但位置不对"«endl;
if(y4) cout«"您的第4位数字猜对,但位置不对"«endl;
if(!(xlllx2llx3llx4llyllly2lly3lly4))
cout«"您输入的数字和位置均未猜对"«endl;
return true;
)
else
return false; 〃判断出是哪一位数字猜对或位
置猜对,给玩家提示,帮助猜数
3. 1:测试
运行程序,打开Visual C++ 6. 0,新建一个名为1. C的文件, 输入主程序代码, 保存,然后对源文件进行编译,无错误后
对程序进行运行。
出现"Press any key to continue, or press 9999 to exit" 提示,输入任意键,输入4个不同的一位数,键入回车键,出现 *A*B。其中B前的*代表你本次猜对了多少个数字,A前的*代表 你本次猜对的数字并且位置正确的个数。10次机会若没有猜中 则出现正确答案,重新开始新的猜数字游戏。
3. 2:运行效果图
密码查询功能效果图:
应14、15猜敖字游戏程序设计'程序调试\Debug\
X菜1名900
肝第2名740
■第 3 名 700
输入9 9 9 :
输入9 9 9 9退出游戏:
输入9 9 9 9退出游戏:
〔茉单】输入8 8 8 8提示帮助,输入? 7 7 7密码查看答案, 游戏开女晋,请输入您所猜测的4位不同的数字:
8 5 7 6
您有。位数字位置匹配,1位数字数字匹配,3位数字不对
您的得分是9丽
[菜勒箱入8 8 8 8提示帮助,输入? 7 7 7密码查看答案, 游戏开女者,请输入您所猜测的4位不同的数字:
P 7 7 7
情输入密码:
1234
隹曲的数字为5341
[菜单】新入8 8 8 8提示帮助,输入7 7 7 7密码查看答案, 游戏开孀^请输入您所猜测的4位不同的数字:
说明:当游戏玩家输入4个不同的数字时,系统会告诉玩家结果,玩家可以根 据情况选择游戏的菜单,游戏者没猜错一次,要扣相应的分,猜对会加分。
分值储存效果图:
应14、15猜数字游戏程序设计'程序调试\Debug\'
X 游戏金榜—*******
**'第1名9丽
**'第2 名 740
**'甯3 名 700
[菜单】椅入8 8 8 8提示帮助,输入7 7 7 7密码查看答案,输入9 9 9 9退出游戏: 游戏开女£请输入您所猜测的4