를 길 찾기 속도 :파이썬이 내 길 찾기 기능입니다
def get_distance(x1,y1,x2,y2):
neighbors = [(-1,0),(1,0),(0,-1),(0,1)]
old_nodes = [(square_pos[x1,y1],0)]
new_nodes = []
for i in range(50):
for node in old_nodes:
if node[0].x == x2 and node[0].y == y2:
return node[1]
for neighbor in neighbors:
try:
square = square_pos[node[0].x+neighbor[0],node[0].y+neighbor[1]]
if square.lightcycle == None:
new_nodes.append((square,node[1]))
except KeyError:
pass
old_nodes = []
old_nodes = list(new_nodes)
new_nodes = []
nodes = []
return 50
문제는 AI의 응답을 오래하는 데 걸리는입니다 (응답 시간 < = 100ms의) 이 일을 그냥 파이썬 방법입니다 https://en.wikipedia.org/wiki/Pathfinding#Sample_algorithm
'node [0] .y == y2'이 아니어야합니까? – Unapiedra
예. – DrevanTonder
이어야합니다. 또한 'new_nodes.append ((square, node [1] + 1))'여야합니다. '+ 1'을 주목하라. – Unapiedra