猜数字小游戏//试着写,不怎么漂亮
[
之前看到论坛上有发过猜数字的小游戏,感兴趣就自己写了下,因为是新人,花了好久,写的也不怎么漂亮,不过至少跑得起来
程序代码:#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define X 0
#define Y 9
#define MAX 7
void main()
{
int n,m;
int Num_source[4],Num_purpose[4];
int a,b,life,i_source,i_purpose;
printf("游戏初始化...\n");
//随机函数
for(i_source=0;i_source<4;i_source++)
{
re: srand((unsigned)time(NULL));
n=rand()%(Y-X+1)+X;
for(m=0;m<i_source;m++)
{
if(n==Num_source[m])
goto re;
else continue;
}
Num_source[i_source]=n;
}
printf("初始化成功!\n");
printf("请输入一个四位数,如1234:\n");
//printf("%d%d%d%d\n",Num_source[0],Num_source[1],Num_source[2],Num_source[3]);
//数据对比
for(life=0;life<MAX;life++)
{
a=0,b=0;
//键盘输入
for(i_purpose=0;i_purpose<4;i_purpose++)
Num_purpose[i_purpose]=((int)getchar()-48);
fflush(stdin);
for(i_purpose=0;i_purpose<4;i_purpose++)
if(Num_purpose[i_purpose]>9||Num_purpose[i_purpose]<0)
{
if(life<MAX-1)
{
printf("输入错误,请重新输入:\n");
fflush(stdin);
goto lp2;
}
else goto lp2;
}
for(i_source=0;i_source<4;i_source++)
for(i_purpose=0;i_purpose<4;i_purpose++)
if(Num_purpose[i_purpose]==Num_source[i_source])
{
if(i_purpose==i_source)
a++;
else b++;
}
if(a==4)
{
printf("恭喜你答对了!\n");
break;
}
else
{
if(life<MAX-1)
{
printf("%dA%dB\n",a,b);
printf("回答错误,请重新输入:\n");
}
else printf("%dA%dB\n",a,b);
}
if(0)
lp2: continue;
}
if(a!=4)
printf("GAME OVER !\n");
}
学会了个新函数,fflush(stdin);用于缓存清空的








