该楼层疑似违规已被系统折叠隐藏此楼查看此楼
//NumberRiddle.c
//这个程序还没有做完,用户输入检测部分没有做,不继续了。-12-22
//猜数字游戏
//游戏规则:
//电脑随机产生4个0~9的数字排列(没有重复数字),如:2459
//玩家输入4个猜测的数字,如:2345
//电脑给出猜测的结果:1A2B
//其中,1A表示有一个数字猜对了而且位置也是对的
//2B则表示有两个数字虽然猜对了,但是位置不对
//玩家根据提示继续猜测,直到猜中(即:4A0B)或超过限制的猜测次数
//一盘结束,由玩家选择继续游戏或者退出
//
//--------------------预编译----------------------------------
#include
#include
#include
//
#defineYES1
#defineNO2
#defineNUMBER_MAX4
#defineSEED((unsigned)(time(NULL)))
//-------------------函数声明---------------------------------
intinit();//初始化,打印开始信息等
intmenu();//菜单,返回用户选择
intgame();//一局游戏
intset_rand(intn[]);//产生4个随机数
intguess_it(intguess[]);//猜一次
intmatch_it(intn[],intguess[]);//验证结果
intsay_right();//显示猜对信息
intsay_wrong(intn[]);//显示失败信息
//-------------------main函数---------------------------------
intmain(void)
{
init();//初始化
while(menu()==YES)
{
game();
}
system("pause");
return0;
}
//-------------------------------------------------------------
intinit()
{
system("cls");
printf("\t猜数字\n");
return0;
}
//
intmenu()
{
intchoise=0;
printf("1.玩一盘;2.不玩了\n请选择:");
while((choise!=YES)&&(choise!=NO))
{
scanf("%d",&choise);
}
returnchoise;
}
//
intgame()
{
intn[NUMBER_MAX];
intguess[NUMBER_MAX];
intcounter=0;//猜的次数
intwin=0;
set_rand(n);//产生4个随机数
while((counter
{
guess_it(guess);
win=match_it(n,guess);
counter++;
}
if(win)say_right();