自学C语言小游戏《十滴水》

/*大神轻喷*/
/*AV27154943是视频*/
/*
规则与4399上的一样,0代表没有水,1、2、3分别代表水的数量。
输入坐标冲水,如果容器内水是满的就会爆开向四周发射水滴,
如果四周的容器里有水的话就会被增加水量,如果大于三同样会爆掉。
纯自学,大神轻喷*/
#include<stdio.h>
#include<stdlib.h>
#define hs 6
short int a,b,water=10;
short int table[hs][hs]={0};
int m,n;
int jiafen;
void start_table(){
int z,c;
for(z=0;z<hs;z+=1){
for(c=0;c<hs;c+=1){
table[z][c]=rand()%4;
}
}
}
void boom(int x,int y){
int i;
jiafen+=1;
if(table[y-1][x-1]>3){
table[y-1][x-1]=0;
for(i=y-2;i>=0;i--){
if (table[i][x-1]!=0){
table[i][x-1]+=1;
boom(x,i+1);
i=-1;
}
}
for(i=y;i<hs;i+=1){
if (table[i][x-1]!=0){
table[i][x-1]+=1;
boom(x,i+1);
i=hs;
}
}
for(i=x-2;i>=0;i--){
if(table[y-1][i]!=0){
table[y-1][i]+=1;
boom(i+1,y);
i-=1;
}
}
for(i=x;i<hs;i+=1){
if(table[y-1][i]!=0){
table[y-1][i]+=1;
boom(i+1,y);
i=hs;
}
}
}
}
void print_table(){
for(m=0;m<hs;m+=1){
for(n=0;n<hs;n+=1){
printf("%d_",table[m][n]);
}
printf("\n");
}
}
void panduan(){
int t=0;
for(m=0;m<hs;m+=1){
for(n=0;n<hs;n+=1){
if(table[m][n]!=0){
t+=1;
}
}
}
if(t==0){
start_table();
print_table();
}
}
int main(){
printf("按任意键开始游戏\n");
system("pause");
start_table();
print_table();
printf("water=%d\n",water);
for(;water>0&&water<100;){
scanf("%d,%d",&a,&b);
table[b-1][a-1]+=1;
water-=1;
jiafen=0;
boom(a,b);
if(jiafen>=2){
water+=1;
}
print_table();
printf("water=%d\n",water);
panduan();
}
if(water<=0){
printf("你输了!\n");
}else if(water>=100){
printf("你赢了!\n");
}
system("pause");
}