C++猜数字游戏Word文件下载.docx
- 文档编号:17291543
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:11
- 大小:377KB
C++猜数字游戏Word文件下载.docx
《C++猜数字游戏Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++猜数字游戏Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
(3)当游戏者选择的某一功能运行结束后,要按任意键返回游戏开始界面,因此主函数需要用到循环语句:
先定义变量a,当a不等于4时执行程序,后面要结束程序时,令a等于4就可以结束循环,进而结束程序:
(4)首先游戏者查看游戏规则,当游戏者选择功能2后,主函数调用rules()函数,这个函数就会输出游戏规则:
(5)开始游戏前要求先设置游戏难度,否则按默认设置难度进行游戏。
事先将游戏难度系数设置为一个全局变量,并赋初值1(即最低难度系数),若有进行难度设置,则可通过调用函数改变难度系数,游戏难度系数必须为1~10,如果输入其他数字,系统会要求重新输入:
(6)游戏者开始游戏后,首先系统产生与游戏难度系数相等的几个随机数并存放在数组a[]中,这需要一个函数来实现:
然后提示游戏者输入要猜的数字,输入后存放在数组b[]中;
将数组a和b进行比较,统计出数据相同且位置相同的个数k和数据相同但位置不同的个数p:
游戏函数也要用循环语句,直到游戏者输入完全正确为止
(7)若游戏者想知道答案或中途退出游戏,则第一个数字输入10即可:
实验源程序:
//headf.h
voidrules();
voidgame(intc);
intexit();
intclasses();
//mainf.cpp
#include"
stdafx.h"
headf.h"
conio.h"
#include<
iostream>
usingnamespacestd;
inta,c=1;
intmain()
{
while(a!
=4)
{
cout<
<
"
----------------"
endl;
猜数字游戏"
----------------"
1.开始游戏(y/n)?
endl<
2.查看游戏规则"
3.设置游戏的难易度"
4.退出游戏"
请选择功能:
;
cin>
>
a;
switch(a)
{case1:
system("
game(c);
break;
case2:
rules();
case3:
c=classes();
case4:
a=exit();
}
按任意键继续...."
getch();
return0;
}
//rules.cpp
voidrules()
{
猜字游戏规则:
1.可先设置难易度,如果不设置,则默认最低级,即第1级,难易度可分为1~10级,1级猜一个数字,2级猜两个数字....10级猜10个数字;
2.请输入猜测的数字(0~9),输入数字时要用空格分隔开每两个数字;
3.提示输入的数字数值正确和位置正确的个数,输入的数字数值正确但位置不对的个数;
4.不断的重复2、3步,若猜数完全正确,提示游戏者胜利;
若试了15次还不正确,宣布游戏者失败。
//classes.cpp
iostream.h>
intclasses()
doublec,y=1;
while(y)
设计游戏的难易度->
请输入1到10之间的任意正整数n为难度系统(难易度级别):
c;
if(c==1||c==2||c==3||c==4||c==5||c==6||c==7||c==8||c==9||c==10)y=0;
elsecout<
输入错误,请重新输入"
returnc;
//game.cpp
stdlib.h"
time.h"
voidgame(intc)
inta[10];
doubleb[10];
voidcreate_Ary(inta[],intc);
游戏的难易度为:
c<
(若要答案且退出,第一个数字输入10)"
create_Ary(a,c);
intx=1,n=1;
while(x)
inti,j,k=0,p=0;
cout<
请输入"
个要猜的数字(用空格隔开每个数字):
for(j=0;
j<
j++)cin>
b[j];
for(j=0,k;
j++)
{
if(b[j]==a[j])k++;
//统计出数据相同且位置相同的个数k
}
c-1;
j++)
for(i=j+1;
i<
i++)
{
if(b[i]==a[j])p++;
}
if(a[i]==b[j])p++;
////统计出数据相同但位置不同的个数p
if(k==c)
cout<
数据相同且位置相同的个数:
k<
数据相同但位置不同的个数:
p<
if(c>
=3&
&
n==1)cout<
第一名!
你的天赋简直是前无古人后无来者!
!
elseif(n/c<
=2)cout<
你的天赋非常好,太棒了!
=3)cout<
你的天赋不错,赞一个!
=4)cout<
你是有天赋的,继续努力!
elsecout<
你是游戏的胜利者!
x=0;
else
if(n==15)
cout<
你已经尝试了15次,仍未成功,游戏失败!
x=0;
n++;
if(b[0]==10)
正确答案是:
for(j=0;
cout<
a[j]<
"
游戏已结束,"
voidcreate_Ary(inta[],intc)
srand(time(0));
//使随机数函数rand产生一序列随机数而设置种子值
inti=0,j,x;
while(i<
c)
x=rand();
if(x<
0||x>
=10)continue;
j=0;
while(j<
=i&
a[j]!
=x)j++;
//舍弃相同元素
if(j>
i)a[i++]=x;
//不同的元素送入数组
//exit.cpp
intexit()
intmain();
charb;
while(b!
='
y'
b!
Y'
n'
N'
)
退出游戏吗?
(y/n)"
b;
if(b=='
||b=='
欢迎下次再来!
return4;
elseif(b=='
)return0;
输入错误,请输入y(Y)或n(N)."
六、系统测试情况
(1)开始游戏
(2)输入2,查看游戏规则
(3)按任意键返回主菜单后,输入3,设计游戏难度
(4)按任意键返回主菜单后,输入1,开始游戏
(5)若游戏者想知道答案或中途退出游戏,则第一个数字输入10即可
如有侵权请联系告知删除,感谢你们的配合!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数字 游戏