Vista Minesweeper Gameover发现算法

时间:2009-12-01 12:18:29

标签: .net algorithm

我正在尝试制作远景扫雷。现在我的揭秘算法是级联算法。它看起来像一个越来越大的广场。我注意到在vista mnesweeper中,当它的游戏结束时,它以循环的方式遍历游戏以揭开地雷。有谁知道这个算法叫什么?感谢

1 个答案:

答案 0 :(得分:0)

我能为您描述的算法找到的最接近的官方名称是"Rectangular Spiral Search",这是一种算法,输出要以螺旋方式完全扫描网格的路径。

用于顺时针扫描尺寸为(2N + 1)^ 2的方形网格的简单算法,N> 1。 0看起来像这样:

(假设网格的坐标(0,0)位于网格的左下角)

  1. 从网格的中心单元格(N,N)开始
  2. 向左移动(-1,0)以显示下一个单元格
  3. 向上设置移动方向(0,+ 1)
  4. 当前单元格(X,Y)不是一个角落(即(X-N)^ 2 ==(Y-N)^ 2),按设定方向移动
  5. 如果当前单元格不在(0,0)
    1. 顺时针转动方向
      • (0,+ 1)变为(+1,0)
      • (+ 1,0) - > (0,-1)
      • (0,-1) - > (-1,0)
      • ( - 1,0) - > (0,+ 1))
    2. 一旦走向新方向
    3. 转到第4步
  6. 如果当前单元格为(0,0),则表示您已完成
  7. 对于(2N)^ 2大小和非方形网格,您必须调整前3个步骤。

    在Array-Tour模块的Spiral对象中,Perl可以使用方格网格实现。