代码之家  ›  专栏  ›  技术社区  ›  Zaz Volodymyr Null

如何使用诅咒来按下最后一个箭头键?

  •  7
  • Zaz Volodymyr Null  · 技术社区  · 14 年前

    我在写一篇文章 Python snake game using curses ,但在控制蛇时遇到一些问题,我当前用于控制蛇的代码放在主循环中,如下所示:

    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(所以当蛇用完箭头键时,它将停止),而我实际上希望它检索最后一个按下的箭头键。

    如何检索上次按下的箭头键?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Zaz Volodymyr Null    14 年前

    集合 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)