⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 szyx.c

📁 西北工业大学程序设计大赛作品 拿出来与大家分享传统的猜数字游戏
💻 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 + -