java扫雷随机地雷_原创扫雷(未添加随机分布地雷),想看就进来看下吧
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/* 里面涉及的知识主要是递归和数组 */
#include "stdio.h"
#include "conio.h"
int count=0;
void mark(int mobang[11][11],char xianxi[11][11],int x,int y)
{
xianxi[x][y]=' ';count++;
if((x-1)<1||(y-1)<1||(xianxi[x-1][y-1]==' '));else { if(mobang[x-1][y-1]!=0){xianxi[x-1][y-1]=' ';count++;} else mark(mobang,xianxi,x-1,y-1);}
if((x-1)<1||(xianxi[x-1][y]==' '));else { if(mobang[x-1][y]!=0){xianxi[x-1][y]=' ';count++;} else mark(mobang,xianxi,x-1,y);}
if((x-1)<1||(y+1)>9||(xianxi[x-1][y+1]==' '));else { if(mobang[x-1][y+1]!=0){xianxi[x-1][y+1]=' ';count++;} else mark(mobang,xianxi,x-1,y+1);}
if((y-1)<1||(xianxi[x][y-1]==' '));else { if(mobang[x][y-1]!=0){xianxi[x][y-1]=' ';count++;} else mark(mobang,xianxi,x,y-1);}
if((y+1)>9||(xianxi[x][y+1]==' '));else { if(mobang[x][y+1]!=0){xianxi[x][y+1]=' ';count++;} else mark(mobang,xianxi,x,y+1);}
if((x+1)>9||(y-1)<1||(xianxi[x+1][y-1]==' '));else { if(mobang[x+1][y-1]!=0){xianxi[x+1][y-1]=' ';count++;} else mark(mobang,xianxi,x+1,y-1);}
if((x+1)>9||(xianxi[x+1][y]==' '));else { if(mobang[x+1][y]!=0){xianxi[x+1][y]=' ';count++;} else mark(mobang,xianxi,x+1,y);}
if((x+1)>9||(y+1)>9||(xianxi[x+1][y+1]==' '));else { if(mobang[x+1][y+1]!=0){xianxi[x+1][y+1]=' ';count++;} else mark(mobang,xianxi,x+1,y+1);}
}
int main(void)
{
int mobang[11][11]={0};
char xianxi[11][11]={'*'};
int i,j;
int count1=0;
int zhonglei=0;
int flag1=0;
int flag2=0;
int choice1,choice2;
mobang[1][2]=mobang[2][7]=mobang[2][8]=9;
mobang[5][5]=mobang[6][4]=mobang[7][4]=9;
mobang[8][7]=mobang[9][1]=mobang[9][7]=9;
for(i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
if(mobang[i][j]==9);
else {
if(mobang[i-1][j-1]==9) count1++;
if(mobang[i-1][j]==9) count1++;
if(mobang[i-1][j+1]==9) count1++;
if(mobang[i][j-1]==9) count1++;
if(mobang[i][j+1]==9) count1++;
if(mobang[i+1][j-1]==9) count1++;
if(mobang[i+1][j]==9) count1++;
if(mobang[i+1][j+1]==9) count1++;
mobang[i][j]=count1;
}
count1=0;
}
}
for(i=1;i<11;i++)
for(j=1;j<11;j++) xianxi[i][j]='*';
while(1)
{
printf(" 1 2 3 4 5 6 7 8 9 ");
for(i=1;i<10;i++)
{
if(i!=1)printf("\n ---------------------------\n %d|",i);else printf("\n ===========================\n %d|",i);
for(j=1;j<10;j++)
{
if(xianxi[i][j]=='*')printf(" *|");
else
{
switch(mobang[i][j])
{
case 0: printf(" |");break;
case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8: printf("%2d|",mobang[i][j]);break;
case 9: printf(" #|");break;
default:;
}
}
}
}
if(zhonglei==1||count>=72)break;
printf("\n\n\n\n\nInput a number:");
count1=0;
flag1=0;
flag2=0;
while(1)
{
switch(count1)
{
case 0: {choice1=getchar(); if(choice1==10){ choice1=0;flag1=1; break;}}
case 1: {choice2=getchar(); if(choice2==10){ choice2=0;flag1=1; break;}}
default: if(getchar()=='\n') flag2=1;
}
if(flag1==1||flag2==1)break;
count1++;
}
if(flag1==1||choice1<49||choice1>57||choice2<49||choice2>57)continue;else {choice1-=48;choice2-=48;}
if(xianxi[choice1][choice2]==' ')continue;
if(mobang[choice1][choice2]==9){xianxi[choice1][choice2]=' ';zhonglei=1;}
else {
if(mobang[choice1][choice2]!=0) {xianxi[choice1][choice2]=' ';count++;}
else mark(mobang,xianxi,choice1,choice2);
}
}
if(zhonglei==1)printf("\n\n\n\nYou lose! GAME OVER!");
else printf("\n\n\n\nWell done, my hero! You win!");
getch();
return 0;
}
java扫雷随机地雷_原创扫雷(未添加随机分布地雷),想看就进来看下吧相关推荐
- SEO们,停下互点和伪原创,进来看下
写这篇文章的目的在于,谈下我对seo 的见解.小编在这行业不久(其实我是做全网营销,SEO只是其中一部分),但是有自己独特的见解,希望能通过写这篇文章给同行或者相关人士的一些感悟.建议. 在做这行业的 ...
- 查看java线程是否退出_[原创]IDA调试阻止java线程异常退出
IDA调试阻止java线程异常退出 最近在使用IDA调试分析某款产品遇见了一个头痛的问题,因为程序核心功能在native层实现的,所以主要的侧重点是分析so文件,但是在分析的时候总是出现java线程异 ...
- java配置多环境_[原创]多版本Java环境变量的配置
起因: 偶然突发兴致, 收拾下自己的老T500电脑, 用来做个家庭开发用机. 应为每次装系统都有GHOST备份的习惯, 所以需要提前搭建好开发环境. 而且新装系统的目的之一, 也是想研究下Andr ...
- lisp图库不显示缩略图_[原创]在未安装过任何CAD版本的系统中,也能查看dwg文件的缩略图!...
本帖最后由 作者 于 2008-4-26 22:27:02 编辑 引言------- 我的电脑原来安装了CAD2002版本,在资源管理器中(文件夹)是看不到CAD文件的缩略图的,可有一天我安装了CAD ...
- java读写word框架_[原创]java读写word文档,完美解决方案
作项目的过程当中,常常须要把数据里里的数据读出来,通过加工,以word格式输出. 在网上找了不少解决方案都不太理想,偶尔发现了PageOffice,一个国产的Office插件,开发调用很是简单!比网上 ...
- java打开pdf文件_[原创]java在线打开PDF文档
步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...
- java json 长度限制_[原创]Java中字符串、数组、集合及JSONArray的长度属性
前言:数组没有length()这个方法,有length的属性.String有有length()这个方法. 1.String字符串 String str = "abcdefg"; s ...
- java swt 画按钮_向表中添加按钮(java swt)
我正在尝试复制类似于此的UI: 我一直在关注如何创建表格每列中的按钮的作者说明(没有成功).我的项目与他的区别在于我正在尝试使用Tree而不是Table,而我正在使用eclipse TreeViewe ...
- python随机选择_在python中实现随机选择
想从一个序列中随机抽取若干元素,或者想生成几个随机数. random 模块有大量的函数用来产生随机数和随机选择元素.比如,要想从一个序列中随机的抽取一个元素,可以使用random.choice() : ...
最新文章
- 架构师必备技能:Maven Archetype生成项目模板
- python 用两个栈实现一个队列
- u-boot移植第二弹——移植2012.10u-boot到RealARM210 cortex-A8开发板
- 在vue3+vite+ ts 项目中使用svg
- 微软NNI---AutoFeatureENG
- 在浏览器中在线尝试无服务器框架项目!
- 关于asp.net利用mono部署到Linux上的一些说明
- Redis 实现接口访问频率限制
- SpringCloud微服务注册调用入门教程
- AppStore ipa (苹果内购)笔记
- css-使不同大小的图片在固定大小的容器中居中
- 广州有这么一个无聊的人
- 深入理解ES6之——迭代器与生成器
- kali之搜狗输入法安装下载
- win10开机后底部任务栏无响应的修复方法
- 上瘾啦,又用 Python 制作销售数据可视化看板
- zzuli OJ 2331:小新同学的智商
- 照相机的成像原理,镜头和单反相机的认识
- 在线文档编辑插件——KindEditor
- Java相同类型的两个对象比较属性值,得到不同属性的名称和对应的值,附代码实例
热门文章
- 结婚被要求写代码,到底是怎么回事。
- VHDL电子密码锁设计
- linux oracle 01157,Oracle数据库启动时出现ORA-01157和ORA-01110问题
- 小波相干wtc matlab,实现时间序列的小波相干性分析,并画出图谱
- oracle 设置查询条数,SQL、MySQL、Oracle、 Sqlite、Informix数据库查询指定条数数据的方法...
- 新版kali安装beef-xss一大堆报错解决办法
- java 当一个文本框有值时另一个文本框置灰_【农行DevOps进行时】基于PaaS的持续集成/持续交付实践 | IDCF...
- pingfangsc字体_2020-iOS GUI-字体规范
- SSAS(分析服务)优化手册
- ios新手开发——toast提示和旋转图片加载框