¿Cómo se obtiene la clave última flecha pulsada usando maldiciones?
Pregunta
Estoy escribiendo un href="https://launchpad.net/snakes-game" rel="nofollow noreferrer"> Python juego de la serpiente , pero estoy teniendo algunos problemas para el control de la serpiente , mi código actual para el control de la serpiente se coloca dentro del bucle principal y se ve así:
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)
Sin embargo, el código parece tratar las teclas pulsadas como una cola (por lo que la serpiente se detendrá cuando se queda sin flechas prensas), mientras que en realidad quiero que se recupere la última tecla de flecha que se presionó.
¿Cómo puedo recuperar la última tecla de flecha que se presionó?
Solución
Conjunto 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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow