我正在列一张清单来记录我的方向:
direction = [(0, +24),(+24,0),(0, -24),(-24,0)]并在此函数中使用该列表来确定机器人的下一个方向(或回溯)。
def backtrack(self,x,y,direction):
x_walls = round(sprite.xcor(), 0)
y_walls = round(sprite.ycor(), 0)
visited.append((x_walls, y_walls))
for i in range(4):
new_direction = (direction + i) % 4
new_x = x + direction[new_direction][0]
new_y = y + direction[new_direction][1]
if (new_x,new_y) not in visited and sprite.spriteMove():
sprite.backtrack(new_x,new_y,new_direction)
sprite.spriteback()
sprite.right(90)但是当我试图调用这个函数时
sprite.backtrack(0,0,0)它给了我错误int是不可订阅的,有什么提示给这个家伙吗?
我尝试将整个列表转换为字符串,但函数中的方向公式在整数处需要它,所以目前我不知道下一步该做什么。
发布于 2022-11-29 04:57:05
我将对象与列表混淆,将列表更改为另一个名称,然后将其添加到函数中,使其工作正常。
new_x = x + sprite.directions[new_direction][0]
new_y = y + sprite.directions[new_direction][1]https://stackoverflow.com/questions/74609023
复制相似问题