欢迎光临散文网 会员登陆 & 注册

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

2018-07-18 22:02 作者:喜欢安静の泡面君  | 我要投稿

/*大神轻喷*/

/*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");
}



自学C语言小游戏《十滴水》的评论 (共 条)

分享到微博请遵守国家法律