如何改变方向,但使用Python继续在蛇游戏中移动



下午好。我是编码和使用Python的认真初学者,因为我找不到解决方案或不了解解决方案。

我正在尝试构建蛇游戏,尽管我可以朝任何方向进行矩形移动,但如果没有密钥输入,但我无法使其前进。

while True:
        keyString = win.checkKey()
        if keyString == "Left":
            snake.move(-1,0)
        elif keyString == "Right":
            snake.move(1,0)
        elif keyString == "Up":
            snake.move(0,-1)
        elif keyString == "Down":
            snake.move(0,1)
        elif keyString == "Escape":
            win.close()

如果我在while True:下方编写snake.move(x,y),它将继续前进,但不会改变方向。

任何帮助和任何技巧都将不胜感激。

非常感谢

您需要在按键后更改方向,并使用方向继续保持循环:

directions = {'up': (0, -1), 'down': (0, 1), 'left': (-1, 0), 'right': (1, 0)}
direction = direction['up']                   # set a direction

while True:
    snake.move(*direction)           # move the snake at each loop, so it keeps moving
    keyString = win.checkKey()
    if keyString == "Left":          # change direction upon a key pressed
        direction = directions['left']
    elif keyString == "Right":
        direction = directions['right']
    elif keyString == "Up":
        direction = directions['up']
    elif keyString == "Down":
        direction = directions['down']
    elif keyString == "Escape":
        win.close()

最新更新