2009-12-01 54 views
0

我正在嘗試製作Vista掃雷艇克隆。現在我的發現算法是級聯算法。它看起來像一個正方形變得越來越大。我注意到,在視頻掃描器中,當它的遊戲過程中,它通過循環遍歷遊戲來揭開地雷。有誰知道這個算法被稱爲什麼?謝謝Vista掃雷艇Gameover揭祕算法

回答

0

我能找到的算法描述的最接近的官方名稱是"Rectangular Spiral Search",它是一種輸出路徑的算法,以螺旋方式完全掃描網格。

一個簡單算法尺寸的正方形網格的順時針掃描(2N + 1)^ 2,N> 0應該是這樣的:

(假設網格的座標(0,0)到是在網格的左下角)

  1. 開始在電網(N的中心單元,N)
  2. 向左移動(-1,0)爲下一個信元
  3. 設置運動方向向上(0,+ 1)
  4. While當前單元格(X,Y)不是角落(即, (XN)^ 2 ==(YN)^ 2),移動在設置方向
  5. 如果當前小區不是(0,0)
  6. 方向順時針轉動
    • (0,+ 1)變爲(+1,0)
    • (+1,0) - >(0,-1)
    • (0,-1) - >( - 1, 0)
    • (-1,0) - >(0,+ 1))
  7. 向新移動方向一次
  8. 轉到步驟4
  • 如果當前單元是(0,0),則完成
  • 對於(2N)^ 2的尺寸和非正方形網格,則必須調整前3個步驟。

    Array-Tour模塊的Spiral對象中的Perl可用於方形網格的實現。