猜数字小游戏算是一个比较经典的智力游戏

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

猜数字小游戏算是一个比较经典的智力游戏,当然这个游戏做起来比较简单,写这个程序的目的主要是为了说明如何编写一个游戏,这里有一个通用游戏编成模板,万变不离其踪,绝大多数游戏都逃脱不了这个格式:

#include........

#define........

void main()

{inta,b,c;

a=1; b=2; c=3; //设置初始值

while(a!='q') //循环直到退出游戏标志出现

{printf("%d",c); //相当于重画屏

a=getch(); //相应输入设备

c=a*b; //相当于重新运算变量值算法

}

}

牢记这个模板格式,以后你所要做的事就是用具体的游戏代码代替模板中的相应部分。祝你好运!

#include 《conio.h》

#include 《stdio.h》

#include 《stdlib.h》

#include 《time.h》

#include 《math.h》

#define RED 4

#define GREEN 2

#define YELLOW 62

#define WHITE 63

main()

{

int a=0,b,i,j,k1,k,n,times=0,guess[4],answer[4];char Q;

clrscr();

textcolor(RED);

for(i=1;i《=21;i++)

cprintf("\03");printf("\n"); /*做一个开头小图形*/

cprintf("\03");

textcolor(WHITE);

cprintf(" GUESS NUMBER GAME ");

textcolor(RED);

cprintf("\03\r\n");

for(i=1;i《=21;i++)

cprintf("\03");printf("\n");

textcolor(GREEN);

cprintf("%10c\r\n",'\01');

textcolor(YELLOW);

cprintf("Times ");

textcolor(GREEN);

cprintf("Guess\r\n");

for(k=0;k《4;k++) /*在0~9中随机产生4个不同的数字*/

{

Renew: srand(time(NULL));

i=rand()%10;

for(k1=0;k1《k;k1++)

if(answer[k1]==i) goto Renew;

answer[k]=i;

}

while(a!=4) /*当4A0B时游戏结束*/

{a=0;b=0;times++;

textcolor(YELLOW);

cprintf("%3d ",times);

Reguess:textcolor(GREEN);

scanf("%d",&n); /*输入猜测的4个数字*/

if(n》0&&n《100||n》9999) /*如果输入的不是3位或4位数则重新输入,输入12等价于0123 */

{textcolor(1);

cprintf(" Date error!\r\n ");

gotoReguess;

}

if(n==0)

exit(0);

for(i=0;i《4;i++)

{guess[i]=n/pow10(3-i);

n%=(int)pow10(3-i);

}

for(k=0;k《4;k++)

{

for(i=0;i《4;i++)

if(answer[k]==guess[i])

{if(k==i) a++;

else b++;

}

}

printf("%9c",'\032');

cprintf("%dA%dB\r\n",a,b);

}

textcolor(RED);

if(times《=7) cprintf("Very Good !\r\n"); /*最后成绩评价*/

else if(times》7&×《=9)

cprintf("Just so so !\r\n");

else cprintf("You are fool !\r\n");

puts("Press R to replay game,else quite game...");

Q=getch();

if(Q=='r'||Q=='R') /*重新开始游戏*/ main();

return 0;

}

相关文档
最新文档