¿Cuál es una buena manera de implementar el manejo del teclado? En cualquier idioma, donde escribo un programa de teclado interactivo (como un juego de Tetris), que acaban de tener un código que se parece a esto:Manejo efectivo de la entrada del teclado
for event in pygame.event.get():
if event.type == KEYDOWN:
if False: pass #make everything an elif
elif rotating: pass
elif event.key == K_q:
elif event.key == K_e:
elif event.key == K_LEFT:
curpiece.shift(-1, 0)
shadowpiece = curpiece.clone(); setupshadow(shadowpiece)
elif event.key == K_RIGHT:
curpiece.shift(1, 0)
shadowpiece = curpiece.clone(); setupshadow(shadowpiece)
(abreviada). No me gusta esto, ya que esto tiene que ir en mi ciclo principal, y se mete con todas las partes del programa. Esto también hace que sea imposible tener una pantalla de configuración de usuario donde puedan cambiar qué mapas de teclas y qué acción. ¿Hay un buen patrón para hacer esto usando alguna forma de devoluciones de función?
También vea http://stackoverflow.com/questions/292095/polling-the-keyboard-in-python –