我有什麼算法或方法這個問題我會考慮的,其中兩個點都不在同一平面上(要解決尋找到B點,從A點的路徑的一個特殊問題在不同的樓層/樓層上 - 可能不在同一棟樓裏)。路徑在不同的樓層找到A點到B
我正在考慮這兩個A*和Dijkstra's算法。然而,僅僅基於這個算法,只有這樣(糾正我,如果我錯了)只關注單個地圖圖。具有不同的地圖(由於許多樓層和許多建築物)對於所述算法都可以具有不同的故事。
與難度線,我設計了一個格式,以我所有的地圖,按照數據的一致性。在每張地圖上都存在建築物名稱,樓層號,每層可能有的部分以及樓層平面圖(轉換爲二維單字符數組)的數據。例如(這兩種地圖在不同的文件):
//MainFloor1 //MainFloor2
Main Main
1st 2nd
1:Wall 1:Wall
2:Door 2:Door
3:Elevator 3:Elevator
# 4:Room1
1111441111 5:Room2
1 1 #
1 1 1111441111
1 1 1552 2441
1111221111 1551 1441
# 1551 1441
//End-MainFloor1 1111221111
#
//End-MainFloor2
從給定的地圖,如果我要考慮從A點去(下面從以免MainFloor1的第一個「2」)到B點(第一個' 4「從MainFloor2的左上角)將返回給我的結果。
// X is the path from Point A to Point B
1111X41111 1111X41111
1 X 1 1552XXXB41
1 X 1 1551 1441
1 X 1 1551 1441
1111A21111 1111221111
我會考慮採用什麼方法來從給定的地圖輸入中產生這樣的結果?
感謝
如果過了一段時間你沒有在這裏得到答案,你可以試試[gamedev.stackexchange.com](http://gamedev.stackexchange.com/)。 – Virtlink 2013-03-23 16:28:49
謝謝,我會等待任何評論或等待這個線程轉移到gamedev [雖然這個線程不是遊戲相關]。 – 2013-03-23 16:32:40
路徑尋找算法在遊戲中非常常見(爲了讓敵人穿過建築物或圍繞障礙物移動),這就是我爲什麼提出它的原因。 – Virtlink 2013-03-23 16:34:25