📄 szyx.c
字号:
#include "stdio.h"
#include "graphics.h"
#include "stdlib.h"
#include "time.h"
#include "math.h"
#define x 175
#define y 175
char ransum[4];
static char insum[4][2]={{'','\0'},{'','\0'},{'','\0'},{'','\0'}};
void main()
{
void sjnum();
void bj();
void input();
int compare();
void collect();
void wrong();
char yn;
int a,c,i,g_driver=VGA, g_mode=VGAHI;
detectgraph(&g_driver, &g_mode);
initgraph(&g_driver, &g_mode, "..\\bgi");
start:
do
{
bj();
sjnum();
for(c=0;c<8;c++)
{
input();
a=compare(c);
if(a==4)
{
collect();
delay(1500);
goto start;
}
else
wrong();
}
if(a!=4)
{
settextstyle(1,0,1);
bar(x-40,y+75,x+190,y+100);
outtextxy(x-40,y+70,"coutinue?(y/n)");
}
}while((yn=getchar())=='y');
closegraph();
}
void bj()
{
int i;
char time[1];
setfillstyle(1,BLACK);
bar(0,0,480,480);
setcolor(GREEN);
settextstyle(1,0,6);
outtextxy(x-60,y-110,"guess you number:)");
setcolor(YELLOW);
rectangle(x,y,y+120,y+40);
for(i=0;i<=1;i++)
rectangle(x+30+i*30,y,x+30+(i+1)*30,y+40);
rectangle(x+200,y,x+340,y+160);
setcolor(GREEN);
settextstyle(1,0,1);
for(i=0;i<8;i++)
{sprintf(time,"%d:",i+1);
outtextxy(x+205,y+i*20,time);
}
}
void sjnum()
{int j,t;
randomize();
for(j=0;j<4;j++)
{m:
t=random(10);
if(t==ransum[j])
goto m;
ransum[j]=t;
}
}
void input()
{
int i=0,j;
char t;
settextstyle(1,0,4);
do
{
setcolor(BLUE);
rectangle(x+i*30+5,y+30,x+(i+1)*30-5,y+30);
t=getch();
setcolor(BLACK);
if(t=='0'||t=='1'||t=='2'||t=='3'||t=='4'||t=='5'||t=='6'||t=='7'||t=='8'||t=='9')
{
for(j=0;j<4;j++)
{if(j==i)
j+=1;
if(t==insum[j][0])
{bar(x+5+30*j,y+5,x+25+30*j,y+30);
insum[j][0]='';
}
}
insum[i][0]=t;
setcolor(YELLOW);
bar(x+5+30*i,y+5,x+25+30*i,y+30);
outtextxy(x+8+i*30,y,insum[i]);
i+=1;
}
if(t==',')
{
rectangle(x+i*30+5,y+30,x+(i+1)*30-5,y+30);
i-=1;
}
if(t=='.')
{
rectangle(x+i*30+5,y+30,x+(i+1)*30-5,y+30);
i+=1;
}
if(i<0) i=0;
if(i>3) i=3;
}while(t!='\r');
rectangle(x+i*30+5,y+30,x+(i+1)*30-5,y+30);
}
void collect()
{
bar(x-40,y+75,x+100,y+100);
settextstyle(1,0,4);
outtextxy(x-40,y+70,"GOOD");
}
void wrong()
{
}
int compare(int c)
{
int i,j,a=0,b=0;
char ab[6];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(insum[i][0]==ransum[j])
if(i==j)
{
a+=1;
break;
}
else
{
b+=1;
break;
}
setcolor(YELLOW);
settextstyle(1,0,1);
sprintf(ab,"--%dA%dB",a,b);
for(i=0;i<4;i++)
outtextxy(x+225+i*11,y+20*c,insum[i]);
outtextxy(x+270,y+20*c,ab);
return(a);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -