Не уверен с алгоритмом Дейкстры
С помощью многих людей на этом сайте у меня есть замечательный код. К сожалению, алгоритм Дейкстры не работает. Предполагается найти кратчайшее расстояние между ИИ и игроком и приблизить ИИ к игроку. Я не знаю, как заставить это вернуть путь и как подвинуть ИИ на один шаг ближе к игроку или даже если он работает так, как я планировал.
def search(x, y):
if maze[x][y] == visblock():
return False
elif maze[x][y] == 3:
return False
elif maze[x][y] == player():
print("Found Player")
return True
maze[x][y] = 3
if ((x < 5 - 1 and search(x+1, y))
or (y > 0 and search(x, y+1))
or (x > 0 and search(x-1, y))
or (y < 5-1 and search(x, y-1))):
return True
return False
1 ответ
Алгоритм Дейкстры для кратчайшего пути от А до В работает, даже если ваш код не работает. На странице Википедии есть код, который вы сможете перевести.
Поскольку вы можете вычислить довольно точное минимальное расстояние от каждой точки до цели, вам, вероятно, будет лучше с улучшением A * на Дейкстре.