清算所有空细胞扫雷艇(游戏)的代码
23日视图(30天)
显示旧的评论
我整天一直试图解决这个问题,我认为我要疯了。
我想写一个代码来模拟扫雷艇——我不想比起它,但我想要的基本功能。我知道有一些bug的代码在这里但我最艰难的事情是如何清晰的面积“0”当你点击一个网格空间没有我和我的邻居。(谷歌扫雷艇如果你不知道我指的是什么)。
这就是我想要达到:
- 单击一个正方形,它包含没有我和邻近的矿山
- 发现这个广场及其周边8广场
- 找到这些8广场也没有邻近的矿山
- 发现这些方块的8个邻国
- 重复步骤3和4,直到所有正方形的周长是发现和“无我”区域显示
到目前为止,我只是横扫向一个方向,直到我达到一个地方煤矿开始出现,但我不知道如何继续重复,直到所有的区域是清除。
我附上了我的代码希望它应该更容易想象我的问题。我想我不能连续思考思考这个问题这么多小时后(我v新MatLab)。
巨大的提前谢谢!
0评论
答案(1)
Doug船体
2014年2月24日
我喜欢问自己“可能工作的最简单的事是什么?”This is always going to be fast, so how about this routine after you have clicked on an empty square:
“我改变国旗”= True
而“我改变国旗”= = True
“我改变国旗”= FALSE
开始在左上角,扫描从左到右,上下直到你触底右:
如果当前方块是空的,任何相邻的平方是未知的
揭示未知的广场
使“我改变了一些旗帜”真的
结束
结束
结束
这几次你横扫,但它将是最有可能不够快。逻辑很简单,但是效率不高。低效的并不重要,所以简单。
道格