关于展开空格的算法

第一种:
方法的相互调用
达到递归的效果

//打开盒子public  boolean  click(int x,int y) {if(grid[x][y].isType()) {//盒子类已经打开return true;}else {if(grid[x][y].getContent()=='*') {//是雷直接显示show();return false;}else {if(grid[x][y].getContent()==' ') {//是空格grid[x][y].setType(true);clickBlank(x,y);return true;}else {//是数字grid[x][y].setType(true);return true;}}     }
}
//判断空白的格子
public void  clickBlank(int x,int y) {if(x-1>-1&&x-1<9&&grid[x-1][y].getContent()!='*') {click(x-1,y);}if(x+1>-1&&x+1<9&&grid[x+1][y].getContent()!='*') {click(x+1,y);}if(y-1>-1&&y-1<9&&grid[x][y-1].getContent()!='*') {click(x,y-1);}if(y+1>-1&&y+1<9&&grid[x][y+1].getContent()!='*') {click(x,y+1);}
}

第二种方法:
递归调用。达到遍历效果。将相连的空格全部展示
//打开盒子方法

public  void   click(int x,int y) {if(!grid[x][y].isType()) {if(grid[x][y].getContent()=='*'){grid[x][y].setType(true);//雷的处理}else {if(grid[x][y].getContent()==' '){grid[x][y].setType(true);if(x-1>-1&&x-1<9&&grid[x-1][y].getContent()!='*') {click(x-1,y);      }if(x+1>-1&&x+1<9&&grid[x+1][y].getContent()!='*') {click(x+1,y);}if(y-1>-1&&y-1<9&&grid[x][y-1].getContent()!='*') {click(x,y-1);}if(y+1>-1&&y+1<9&&grid[x][y+1].getContent()!='*') {click(x,y+1);}         }else {grid[x][y].setType(true);}}}
}

扫雷——关于展开空格的算法相关推荐

  1. C语言用‘%20‘替换字符串中的所有空格的算法(附完整源码)

    C语言用'%20'替换字符串中的所有空格的算法 C语言用'%20'替换字符串中的所有空格的算法完整源码(定义,实现,main函数测试) C语言用'%20'替换字符串中的所有空格的算法完整源码(定义,实 ...

  2. 基于圆展开自适应三边测量算法的室内定位

    基于圆展开自适应三边测量算法的室内定位 具有无线通信功能的移动设备的日益普及刺激了室内定位服务的增长.室内定位用于实时定位设备位置,方便访问.然而,由于大量障碍物,与室外定位相比,室内定位具有挑战性. ...

  3. 扫雷-空白展开算法(优化)-详解

    扫雷是电脑上很经典的游戏,虽然我没玩过.为了写这个博客,我特意去网上玩了一会. 几次调试之后,我觉得这个比三子棋要复杂一些,尤其是空白展开算法上和堵截玩家有的一拼.这个与实际游戏差别较大,不能使用光标 ...

  4. 有没有五金产品展开计算机软件,花样算法猫腻不断 全屋定制这本账真心不好算...

    花样算法猫腻不断 全屋定制这本账真心不好算 人民网 2017-03-14 09:50 [摘要] 选材差不多.尺寸也差不多,在不同定制品牌之间,不要说终的产品价格相差多少,就光中间的计价过程估计就能让人 ...

  5. 室友说你怎么才学到数组,然后我用C语言做了个扫雷(递归展开+难度选择+优化打印)

    扫雷 创作不易,还请观众老爷耐心看完儿! 目录 扫雷 1.扫雷框架 2.初始化棋盘 3.打印棋盘 格式1: 格式2: 4.布置雷 5.排查雷 5.1排查雷的功能 5.2递归展开功能bool_mine ...

  6. matlab进行相位展开,相位展开(phase unwrapping)算法研究与实践

    1. 什么是相位展开? 相位展开(Phase Unwrapping)是一个经典的信号处理问题,它指的是从值区间 中恢复原始相位值(原因在于:计算相位时,运用反正切函数,则相位图中提取的相位都是包裹在一 ...

  7. python扫雷 高级算法_扫雷游戏的布雷算法、策略与优化(附Python代码)

    1 布雷算法的应用 在扫雷游戏中,将雷均匀地分布在局面中依靠一种布雷算法.众所周知,在原始版本的Windows扫雷中,由于布雷算法的缺陷,使得其存在Board Cycle(局面循环).而标准扫雷游戏中 ...

  8. 2021秋招-算法-BFS-DFS

    LeetCode刷题总结-DFS.BFS和回溯法篇 一.深度优先搜索 一.字符匹配问题 [1.lc-301. 删除无效的括号-困难] 二.数组或字符串问题 [1. lc-329. 矩阵中的最长递增路径 ...

  9. 根据坐标如何标记图片_如何玩转FloodFill算法?

    读完本文,你可以去力扣拿下如下题目: 733.图像渲染 ----------- 啥是 FloodFill 算法呢,最直接的一个应用就是「颜色填充」,就是 Windows 绘画本中那个小油漆桶的标志,可 ...

最新文章

  1. 这8份前沿Paper+Code ,你一定用得上!
  2. 【Flask】数据的CRUD操作之聚合函数
  3. python常用面试题_史上最全Python工程师常见面试题集锦,有这一份就够了
  4. 视频 + PPT | 数字化运营,从理论到实践
  5. c语言sleep函数上限多久解除,关于sleep函数的问题,
  6. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作...
  7. 安全的本质--理解CIA和AAA
  8. 文件名lin.php是什么,宝塔面板-PHP服务添加‘扩展名=ixed.5.4.lin
  9. 电脑表格制作教程入门_微信销售小程序入门教程:制作+营销
  10. 最新版本启动HBuilderX.exe时,被联想mcafee杀毒软件删除的解决方法
  11. 高等数学——常用不定积分公式
  12. Hive 内部表和外部表
  13. 2020携程java面试题整理,开发实习一面面经
  14. 拿棱镜门黑客软件攻击“俄版百度”,不偷情报只想装大V,FBI们被抓包了
  15. 什么是哥德尔不完备定理?
  16. ele ui 清空选项和重新校验
  17. C#中二维数组的二维长度
  18. 想知道自己30分钟能“走”多远嘛?
  19. Android线程优化之线程池的详解
  20. 企业数字化转型的驱动引擎—看中机云如何赋能企业,纵横云端|中机智库

热门文章

  1. spring cloud tencent:框架概括及组件详解(一)
  2. React的非受控组件和受控组件
  3. 跟柴静的《穹顶之下》学习演讲的十大技巧
  4. 2020年计算机考研408操作系统真题(客观题)
  5. Linux虚拟机添加快照,Linux系统下kvm虚拟化(六)创建快照、恢复快照和删除快照...
  6. 如何选择和使用视频质量客观评价指标
  7. 网名接龙--之追求完美
  8. javascript成神之路(1):如何编写高质量的js代码
  9. pythontkinter图片_Python tkinter实现图片标注功能(完整代码)
  10. 使用模拟退火算法解决TSP问题