在这个网站上这么多人的帮助下,我得到了一些精彩的代码。不幸的是,Dijkstra算法不起作用。它应该找到AI和玩家之间的最短距离,并将AI移近玩家。我不知道如何让它返回一条路径,如何让人工智能离玩家更近一步,甚至它是否按照我的意图工作。你知道吗
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
Dijkstra的最短A到B路径算法是有效的,即使你的代码没有。Wikipedia page有您应该能够翻译的代码。你知道吗
由于您可以计算从每个点到目标的相当精确的最小距离,因此使用Dijkstra上的A* improvement可能会做得更好。你知道吗
相关问题 更多 >
编程相关推荐