C语言简易扫雷游戏
本文实例为大家分享了C语言扫雷游戏的具体代码,供大家参考,具体内容如下
#include#include #include #defineMAX_ROW9 #defineMAX_COL9 #defineMINE_C0UNT10 voidmenu(){ printf("************************\n"); printf("*****1.play****\n"); printf("*****0.exit****\n"); printf("************************\n"); } //1、先初始化两个地图,玩家看到的,地雷布局图。 voidInit(charshow_map[MAX_ROW][MAX_COL],charmine_map[MAX_ROW][MAX_COL]){ //对于玩家看到的地图,未翻到的都设为*; for(introw=0;row 0){ introw=rand()%MAX_ROW; intcol=rand()%MAX_COL; if(mine_map=='1'){ continue; } mine_map[row][col]='1'; --n; } } voidprintmap(charmap[MAX_ROW][MAX_COL]){ //不光能打印出地图,还能带坐标 //先打印第一行 printf(""); for(inti=0;i =0&&col-1>=0&&row-1 =0&&col>=0&&row-1 =0&&col+1>=0&&row-1 =0&&col-1>=0&&row =0&&col+1>=0&&row =0&&col-1>=0&&row+1 =0&&col+1>=0&&row+1 =MAX_ROW||col<0||col>=MAX_COL){ printf("您的输入不合法,请您重新输入!\n"); continue; } if(show_map[row][col]!='*'){ printf("您输入的位置已经被占用了,请您重新输入!\n"); continue; } //判断玩家输入的坐标对应的是不是地雷,如果是地雷则游戏就结束了 if(mine_map[row][col]=='1'){ printf("游戏结束!\n"); printmap(mine_map); break; } //判断游戏是否胜利,通过计算已翻开的非雷的格子的个数 ++blank_count_already_show; if(blank_count_already_show==MAX_ROW*MAX_COL-MINE_C0UNT){ printf("游戏胜利!\n"); printmap(mine_map); break; } //统计当前位置中周围雷的个数 updateshowmap(row,col,show_map,mine_map); } } intmain(){ srand((unsigned)time(0)); intinput=0; while(1){ menu(); printf("请选择:"); scanf("%d",&input); if(input==1){ printf("开始游戏!\n"); game(); } elseif(input==0){ printf("退出游戏!\n"); break; } else{ printf("输入错误,请重新输入!\n"); continue; } } system("pause"); return0; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。