資源簡介
A*算法迷宮搜索(基于matplotlib.pyplot)
代碼片段和文件信息
#?a_star.py
import?sys
import?time
import?numpy?as?np
from?matplotlib.pyplot?import?Rectangle
import?point
import?random_map
class?AStar:????????????????????????????????????????????????????????????????????#通過一個類來封裝代碼
????def?__init__(self?map):????????????????????????????????????????????????????#類的構造函數
????????self.map=map
????????self.open_set?=?[]
????????self.close_set?=?[]
????def?baseCost(self?p):??????????????????????????????????????????????????????#結點到起點的最佳路徑(g(n))
????????x_dis?=?p.x
????????y_dis?=?p.y
????????#?Distance?to?start?point
????????return?x_dis?+?y_dis?+?(np.sqrt(2)?-?2)?*?min(x_dis?y_dis)
????def?HeuristicCost(self?p):?????????????????????????????????????????????????#結點到終點的啟發函數(h(n))
????????x_dis?=?self.map.size?-?1?-?p.x
????????y_dis?=?self.map.size?-?1?-?p.y
????????#?Distance?to?end?point(我用的是網格圖所以算的就是對角距離)
????????return?x_dis?+?y_dis?+?(np.sqrt(2)?-?2)?*?min(x_dis?y_dis)
????def?TotalCost(self?p):???????????????????????????????????????????????
評論
共有 條評論