2016-09-07 29 views
-4

目前我正在使用路徑查找遊戲。我需要幫助來完成這個小遊戲。找到開始和結束之間的移動

這裏是我的道路

S= starting point; 

* = can move 

# = blocker, you can’t move to it, must move around. 

O=end point. 

的鑰匙,我需要從S到去O和我需要得到的舉動從「S」到「O」去數。以上是我在java中的2D數組。我需要找到從'S'到'O'的移動數量。

我是這個論壇的新人。請幫我做到這一點。

+0

我很困惑先生......需要一個起點... :( –

+4

你就不能要求多所社區爲你做你的作業不顯示至少一些努力 –

+0

你需要一個路徑尋找算法,如果你不知道從dijkstra開始,那麼移動到*(a-star) –

回答

2

你可以用1來填充開始處的所有非阻塞單元。然後在每個1單元周圍填寫2全部空的(未被阻止和未啓動)單元。在他們周圍 - 填寫3(除1,塊和開始)。重複,直到最後一個數字周圍沒有更多的空單元,或者到最後。結束單元格中的數字將成爲結果。

{'1', '*', '#', 'O', '*'} {'1', '2', '#', 'O', '*'} {'1', '2', '#', 'O', '*'} 
{'S', '#', '*', '*', '*'} {'S', '#', '*', '*', '*'} {'S', '#', '*', '*', '*'} 
{'1', '*', '*', '*', '*'} {'1', '2', '*', '*', '*'} {'1', '2', '3', '*', '*'} 

{'1', '2', '#', 'O', '*'} {'1', '2', '#', 'O', '*'} {'1', '2', '#', 'O(6)', '*'} 
{'S', '#', '4', '*', '*'} {'S', '#', '4', '5', '*'} {'S', '#', '4', '5', '6'} 
{'1', '2', '3', '4', '*'} {'1', '2', '3', '4', '5'} {'1', '2', '3', '4', '5'} 
+0

謝謝你幫助我 –

相關問題