我是tkinter的新手,但是我正在尝试制作一个程序,其中矩形AI将在其他矩形的迷宫中导航,但是我不确定检测AI周围的矩形以便找到开口的最佳方法是什么并找出要去的地方(例如左右看是否有矩形)
我尝试进行碰撞,但是无法使其正常工作,但是我也没有将每个迷宫墙都变成它自己的变量,所以我不知道如何检查它的坐标是否与AI有关。那么也许看看是否有“ AIPossition_x + 5”之类的东西?
这是我现在正在使用的代码
maze_create_x = 25
maze_create_y = 25
for char in maze:
if char == "+":
canvas.create_rectangle(maze_create_x, maze_create_y, maze_create_x + 25, maze_create_y + 25, fill="black")
elif char == "/":
maze_create_y += 25
maze_create_x = 0
maze_create_x += 25
robot = canvas.create_rectangle(80, 55, 95, 70, fill="blue")
我希望“机器人” AI能够看到它的前面,左边或右边是否有一个矩形,但是我不确定从哪里开始。感谢您的所有帮助!
答案 0 :(得分:0)
您可以使用canvas.find_overlapping(x1, y1, x2, y2)
来表示(x1,y1,x2,y2)是要知道其中是否有项目的矩形的坐标。返回与该矩形重叠的项的id的元组。
例如,要检查AI的右侧:
x1, y1, x2, y2 = canvas.coords(robot)
if canvas.find_overlapping(x1 + 25, y1, x2 + 25, y2):
print('There is a wall on the right')
else:
print('The way is clear on the right')