#include#include#include#include#include#include
#defineMAX8/*设最大的数字个数是十个*/
voidinit(void/*该函数的功能是为了画出周围的那个背景矩形*/{
setcolor(LIGHTRED;setlinestyle(0,0,3;line(100,50,540,50;line(100,50,100,420;line(100,420,540,420;line(540,50,540,420;setlinestyle(0,0,0;}
intmain({
inta,b,i,j,size,ch,temp,side;chars[30],out[7],in[7],c;void*p=NULL;a=DETECT;
initgraph(&a,&b,"";setbkcolor(BLUE;
/*准备工作:复制出一个小矩形,方便后面粘贴*/
size=imagesize(150,150,180,180;/*初始出复制图形的大小*/rectangle(150,150,180,180;/*初始出一个合适的矩形*/p=malloc(size;if(!preturn;
getimage(150,150,180,180,p;/*复制出图形*/cleardevice(;/*因为是准备工作,所以要清屏*//*欢迎界面*/init(;
setcolor(RED;
settextstyle(1,0,0;
outtextxy(240,200,"welcome!";settextstyle(1,0,3;
outtextxy(180,250,"pressanythingtostart!";getch(;
cleardevice(;
init(;
settextstyle(0,0,0;/*游戏开始!*/
j=3;/*初始开始的时候是三个数字*/while(j{
cleardevice(;init(;
setcolor(RED;
outtextxy(120,105,"Pleaserememberthefollowing(1--100figures:";srand(time(0;/*确保没次运行产生的随机数不一样,用时间作随机种子*/setcolor(GREEN;
for(i=0;i每次产生j个矩形和随机数*/
{
putimage(120+50*i,120,p,COPY_PUT;/*输出开始时复制的矩形*/ch=rand(%99+1;/*产生随机数*/
out[i]=ch;/*将随机数存放在字符数组中,方便输入输出的比较*/sprintf(s,"%d",ch;/*将ch存放在s字符数组中*/
outtextxy(128+50*i,130,s;/*将数字输出在屏幕上的矩形中*/sleep(1;/*延迟一秒,方便玩家记忆*/}
out[j]='\0';
outtextxy(120,180,"Youwillhavefivesecondsforyoutoremember...";sleep(5;
cleardevice(;/*清屏,让玩家输入刚刚让玩家记忆的数字*/init(;
outtextxy(120,105,"Pleaseenterthenumberyousee:";
setcolor(GREEN;i=0;temp=0;side=128;while(i{
if(!temp
putimage(120+50*i,120,p,COPY_PUT;/*输出开始时复制的矩形*/c=getch(;/*输入数字*/