手机上写的一个小游戏 求精简又换一下代码
#include "stdio.h"#include "conio.h"
int x=0,y=0;
draw(int (*a)[3])
{
int i1,i2;
for(i1=0;i1<3;i1++)
{
for(i2=0;i2<3;i2++)
{
if(a[i1][i2]==10)
{
gotoxy(i2*5,i1*5);
printf("%c",42);}
else
{
gotoxy(i2*5,i1*5);
printf("%d",a[i1][i2]); }}}
gotoxy(y,x);
printf("%c",64);}
dong(int s)
{
char j;
if(s==97||s==100||s==115||s==119)j=s;
else
j=getch();
switch(j)
{
case 'w': x-=5;
if(x<0)break;
gotoxy(y,x);
printf("%c",64);
break;
case 's': x+=5;
if(x>15)break;
gotoxy(y,x);
printf("%c",64);
break;
case 'a': y-=5;
if(y<0)break;
gotoxy(y,x);
printf("%c",64);
break;
case 'd': y+=5;
if(y>15)break;
gotoxy(y,x);
printf("%c",64);
break;
}
}
sheng(int (*a)[3])
{
int i1,i2,j=0;
for(i1=0;i1<3;i1++)
for(i2=0;i2<3;i2++)
{
if(a[i1][i2]==10)j+=1;
}
if(j==0)li(a);
}
li(int (*a)[3])
{
int i1,i2,l1=0,l2=0,t=0;
for(i1=0;i1<3;i1++)
{ l1=0; l2=0;
for(i2=0;i2<3;i2++)
{
l1+=a[i1][i2];if(l1==24)t+=1;
l2+=a[i2][i1];if(l2==24)t+=1;
}
}
if(t==6)
{
if(a[0][0]+a[1][1]+a[2][2]==24)t+=1;
if(a[0][2]+a[1][1]+a[2][0]==24)t+=1;
}
if(t==8)
{
gotoxy(5,20);
printf("鎮ㄨ儨鍒╀簡");getch();
}
}
main()
{
int a[3][3]={{7,10,10},{10,8,10,},{10,10,9}};
int i=1;
int i1,i2,s=0;
while(i)
{
clrscr();
draw(a);
dong(s);
clrscr();
draw(a);
i1=x;
i2=y;
i1/=5;
i2/=5;
if(a[i1][i2]==10)
{
s=getch();
if(s>=48&&s<=57)
a[i1][i2]=(s-48);
if(s=='a'||s=='d'||s=='w'||s=='s')
dong(s);
s=0;
sheng(a);
}
sheng(a);
}
}
上回发表文章 都说平排版不好现在我应该差不多了