C++猜数字游戏

萌到你眼炸
506次浏览
2021年01月01日 02:56
最佳经验
本文由作者推荐

清夜吟-元宵节灯展

2021年1月1日发(作者:邵曾可)


一、题目
猜数字游戏
二、实验开发环境
Visual C++ 6.0

三、前言
猜数字游戏是休闲娱乐和智力锻炼的一种智力型游戏。
游戏规则:让系统随机产生一组数字,由游戏者输入要猜的数字,
然后,系统会将输入的数字与 随机生成的数字进行比较,当输入的数
字与随机生成的这组数字数值和位置完全对应时,就获得了胜利。
四、实验目的
(1)了解程序开发环境调试工具的使用;
(2)掌握小型系统的开发过程,学会用C++语言解决问题。
五、软件开发过程
(1)程序运行后呈现的游戏菜单上要有“开始游戏”、“查看游
戏规则”、“设置游戏难度”、“退出 游戏”等多项选择。因此可以采用
多文件结构来进行调用,由主函数来实现呈现游戏菜单与实现游戏者< br>选择的功能,根据游戏者的选择来有选择的调用其他文件中的函数。
主函数用于设计游戏开始界面和调用其他文件中的函数:



(2)当 游戏者选择一项功能后,就要跳转到相应的界面,游戏开始
界面要清除掉,可以使用系统界面清除功能:

#include
system(
(3)当游戏者选择 的某一功能运行结束后,要按任意键返回游戏开
始界面,因此主函数需要用到循环语句:先定义变量a, 当a不等于4
时执行程序,后面要结束程序时,令a等于4就可以结束循环,进而
结束程序:

(4)首先游戏者查看游戏规则,当游戏者选择功能2后,主函数调
用rules( )函数,这个函数就会输出游戏规则:

(5)开始游戏前要求先设置游戏难度,否则按默认 设置难度进行游戏。


事先将游戏难度系数设置为一个全局变量,并赋初值1(即最低难度
系数),若有进行难度设置,则可通过调用函数改变难度系数,游戏
难度系数必须为1~10, 如果输入其他数字,系统会要求重新输入:

(6)游戏者开始游戏后,首先系统产生与游戏 难度系数相等的几个
随机数并存放在数组a[]中,这需要一个函数来实现:

然后提示游戏者输入要猜的数字,输入后存放在数组b[]中;
将数组a和b进行比较,统计出数据相同且位置相同的个数k和数据
相同但位置不同的个数p:



游戏函数也要用循环语句,直到游戏者输入完全正确为止
(7)若游戏者想知道答案或中途退出游戏,则第一个数字输入10即
可:

实验源程序:

headf.h
void rules();
void game(int c);
int exit();
int classes();

#include


#include
#include
#include
#include
using namespace std;
int a,c=1;
int main()
{













while (a!=4)
{
cout<<
cout<<猜数字游戏
cout<<
co ut<<开始游戏(yn)?
cout<<查看游戏规则
cout<<设置游戏的难易度
cout<<退出游戏
cout<<请选择功能:
cin>>a;
switch(a)
{case 1:system(
case 2:system(
case 3:system(







case 4:system(
}
cout<<按任意键继续....
getch();
system(
}
return 0;


}

#include
#include
using namespace std;
void rules()
{


cout<<猜字游戏规则:
cout<<可先设置难易度,如果不设置,则默认最低级,即第1级,难易度可分为1~10
级,1级猜一个数字,2级猜两个数字....10级猜10个数字;


cout< <请输入猜测的数字(0~9),输入数字时要用空格分隔开每两个数字;
cout<<提示输入的数字 数值正确和位置正确的个数,输入的数字数值正确但位置不
对的个数;
cout<<不断的重 复2、3步,若猜数完全正确,提示游戏者胜利;若试了15次还不正
确,宣布游戏者失败。
}

#include
#include
int classes()
{









double c,y=1;
while(y)
{
cout<<设计游戏的难易度->
cout<<请输入1到10之间的任意正整 数n为难度系统(难易度级别):
cin>>c;
if(c==1||c==2||c==3 ||c==4||c==5||c==6||c==7||c==8||c==9||c==10) y=0;
else cout<}



}
return c;

#include
#include
#include
#include
using namespace std;
void game(int c)
{




int a[10];
double b[10];
void create_Ary(int a[],int c);
cout<<游戏的难易度为:若要答案且退出,第一个数字输入
10)















create_Ary(a,c);
int x=1,n=1;
while (x)
{











int i,j,k=0,p=0;
cout<<请输入个要猜的数字(用空格隔开每个数字):
fo r(j=0;j>b[j];
for(j=0,k;j{

}
for(j=0;j{


for(i=j+1;i{
if(b[j]==a[j]) k++; 统计出数据相同且位置相同的个数k






























}

}
if(b[i]==a[j]) p++;
for(j=0;j{




}
if(k==c)
for(i=j+1;i{

}
if(a[i]==b[j]) p++; 统计出数据相同但位置不同的个数p
{






cout<<数据相同且位置相同的个数:
cout<<数据相同但位置 不同的个数:
if(c>=3&&n==1) cout<<第一名!你的天赋简直是前无古人后无来者!!!















else
{
cout<<数据相同且位置相同的个数:













}
else if(nc<=2) cout<<你的天赋非常好,太棒了!!
else if(nc<=3) cout<<你的天赋不错,赞一个!
else if(nc<=4) cout<<你是有天赋的,继续努力!!
else cout<<你是游戏的胜利者!
cout<x=0;
cout<<数据相同但位置不同的个数:






if(n==15)
{


















}
















}














}



}
cout<cout<<你已经尝试了15次,仍未成功,游戏失败!
x=0;
n++;
if(b[0]==10)
{






}
cout<for(j=0;j cout<cout<x=0;
cout<<游戏已结束,

void create_Ary(int a[],int c)
{










srand(time(0)); 使随机数函数rand产生一序列随机数而设置种子值
int i=0,j,x;
while (i{





}
x=rand();
if (x<0||x>=10) continue;
j=0;
while (j<=i&&a[j]!=x) j++; 舍弃相同元素
if (j>i) a[i++]=x; 不同的元素送入数组


}

#include
#include
using namespace std;
int exit()
{














}
int main();
char b;
while (b!='y'&&b!='Y'&&b!='n'&&b!='N')
{
cout<<退出游戏吗?(yn)
cin>>b;
if(b=='y'||b=='Y')
{


}
else if (b=='n'||b=='N') return 0;
else cout<<输入错误,请输入y(Y)或n(N).
}
cout<<欢迎下次再来!
return 4;
六、系统测试情况

(1)开始游戏



(2)输入2,查看游戏规则

(3)按任意键返回主菜单后,输入3,设计游戏难度

(4)按任意键返回主菜单后,输入1,开始游戏



(5)若游戏者想知道答案或中途退出游戏,则第一个数字输入10即


描写春景的诗-计生证


qqanquanzhongxin-饮食与健康论文


平分秋色一轮满-特朗普女儿演讲


个人简历模板word版-压岁钱理财


女性减肥-鲍国安朗诵


天涯若比邻的意思-我一个人歌词


多姿多彩的世界-游天堂


office办公软件2007-思无邪