猜数字游戏C语言代码.docx
《猜数字游戏C语言代码.docx》由会员分享,可在线阅读,更多相关《猜数字游戏C语言代码.docx(9页珍藏版)》请在冰豆网上搜索。
![猜数字游戏C语言代码.docx](https://file1.bdocx.com/fileroot1/2023-2/10/7721a754-83d6-4013-ab70-ad60871d179a/7721a754-83d6-4013-ab70-ad60871d179a1.gif)
猜数字游戏C语言代码
#include
#include
#include
voidfun()
{
staticintgc,count,try_time;
staticinta[4],b[4],i,j,k=0,m=0,n=1,u,sumA=0,sumB=0,flag[10]={0};
srand(time(NULL));
count=4;
try_time=10;
for(i=0;i{
intt;
do
{
t=rand()%10;
}while(i==0&&t==0);
if(flag[t]==0)
{
a[i]=t;
flag[t]=1;
}
elsei--;
}
printf("\n∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n");
printf("∽猜数游戏∽\n");
printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n");
printf("∽1:
开始游戏∽\n");
printf("∽2:
查看上次成绩∽\n");
printf("∽3:
帮助信息∽\n");
printf("∽4:
系统设置∽\n");
printf("∽0:
退出游戏∽\n");
printf("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽\n");
printf("请输入选择:
");
scanf("%d",&n);
if(n==0)
{
printf("\n\n感谢您的使用,游戏退出!
\n");
exit(0);
}
if(n==2){printf("\n\n上次的成绩为:
%d\n",u);
do
{
printf("输入0返回上级菜单:
");
scanf("%d",&n);
printf("输入错误!
请重新输入!
\n");
}while(n>0);
{
system("CLS");
fun();
}
}
if(n==3)
{
printf("----------------------------------------------------------\n");
printf("游戏规则:
\n");
printf("在屏幕上输入个不同的数,在系统生成的个数进行比较,\n");
printf("如果数字跟位置都正确,则胜出!
总共可以尝试%d次。
每尝试一次扣10分。
\n\n",try_time);
printf("----------------------------------------------------------\n");
do
{
printf("输入0返回上级菜单:
");
scanf("%d",&n);
system("pause");
if(n!
=0)
printf("输入错误!
请重新输入!
\n");
}
while(n>0);
{
system("CLS");
fun();
}
}
if(n==1)
{
printf("\n请输入%d位不同的数字(0~9之间):
",count);
for(j=0;jscanf("%d",&b[j]);
gc=0;
for(i=0;i{
for(j=i+1;j{
if(b[i]==b[j])
{
printf("输入有重复\n\n");
gc=1;
break;
}
}
}
if(gc==1)
for(i=0;i{
for(j=0;j{
if(i==j&&a[i]==b[j])
sumA++;
elseif(i!
=j&&a[i]==b[j])
sumB++;
}
}
printf("猜数结果为:
");
printf("有%d个数数值和位置都相同!
有%d个数数值相同,但位置不同。
\n",sumA,sumB);
if(sumA==4)
{
printf("\n恭喜你!
猜对了!
!
\n");
printf("本次得分是:
%d\n",u);
printf("\n恭喜你!
你的成绩能进入积分榜!
\n");
printf("请输入你的姓名:
");
printf("请输入0返回上级菜单:
");
scanf("%d",&n);
do
{
printf("输入0返回上级菜单:
");
scanf("%d",&n);
if(n!
=0)
printf("输入错误!
请重新输入!
\n");
}while(n>0);
{
system("CLS");
fun();
}
}
sumA=0,sumB=0;
k++;
u=100-try_time*k;
if(k==try_time)
{
printf("所猜数字为:
");
for(i=0;iprintf("%d",a[i]);
printf("\n");
printf("请输入0返回上级菜单:
");
scanf("%d",&n);
do
{
printf("请输入0返回上级菜单:
");
scanf("%d",&n);
if(n!
=0)
printf("输入错误!
请重新输入!
\n");
}while(n>0);
{
system("CLS");
fun();
}
}
}
if(n==4)
{
intmenu;
inttemp;
system("cls");
printf("游戏设置\n
(1)修改要猜的数字的个数.\n
(2)修改可以尝试的次数.\n(3)退出设置.\n");
printf("请输入1到3:
\n");
scanf("%d",&menu);
while(menu<1||menu>3)
{
printf("请输入1到3:
\n");
scanf("%d",&menu);
return;
}
switch(menu)
{
case1:
printf("目前游戏中系统会自动产生%d个数",count);
printf("请输入你要修改的个数(0到10):
(输入0不修改)\n");
scanf("%d",&temp);
while(temp<0||temp>10)
{
if(temp=0)
{
printf("你并未修改.\n");
system("pause");
}
else
{
printf("请输入0到10:
\n");
scanf("%d",&temp);
}
}
count=temp;
printf("你修改的新个位为:
%d.\n",count);
system("pause");
break;
case2:
printf("目前游戏中尝试次数为%d次",try_time);
printf("请输入你要修改的次数:
(输入0不修改)\n");
scanf("%d",&temp);
while(temp<0)
{
if(temp==0)
{
printf("你并未修改.\n");
system("pause");
return;
}
else
{
printf("请输入大于0的数:
\n");
scanf("%d",&temp);
}
}
try_time=temp;
printf("你修改的新次数为:
%d.\n",try_time);
system("pause");
break;
}
}
}
voidmain()
{
fun();
}