自學(xué)C語(yǔ)言小游戲《十滴水》

/*大神輕噴*/
/*AV27154943是視頻*/
/*
規(guī)則與4399上的一樣,0代表沒(méi)有水,1、2、3分別代表水的數(shù)量。
輸入坐標(biāo)沖水,如果容器內(nèi)水是滿的就會(huì)爆開(kāi)向四周發(fā)射水滴,
如果四周的容器里有水的話就會(huì)被增加水量,如果大于三同樣會(huì)爆掉。
純自學(xué),大神輕噴*/
#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("按任意鍵開(kāi)始游戲\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");
}