我在写一个 python蛇游戏使用诅咒, ,但是在控制蛇时遇到了一些麻烦,我当前控制蛇的代码放置在主循环内,看起来像这样:

while True:
    char = screen.getch()
    if char == 113: exit()  # q
    elif char == curses.KEY_RIGHT: snake.update(RIGHT)
    elif char == curses.KEY_LEFT: snake.update(LEFT)
    elif char == curses.KEY_UP: snake.update(UP)
    elif char == curses.KEY_DOWN: snake.update(DOWN)
    else snake.update()
    time.sleep(0.1)

但是,该代码似乎将按压键视为Que(因此,蛇在箭头压榨时会停止),而我实际上希望它可以检索按下的最后一个箭头键。

如何检索按下的最后一个箭头键?

有帮助吗?

解决方案

??screen.nodelay(1):

screen.nodelay(1)
while True:
    char = screen.getch()
    if char == 113: break  # q
    elif char == curses.KEY_RIGHT: snake.update(RIGHT)
    elif char == curses.KEY_LEFT: snake.update(LEFT)
    elif char == curses.KEY_UP: snake.update(UP)
    elif char == curses.KEY_DOWN: snake.update(DOWN)
    else: snake.update()
    time.sleep(0.1)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top