キーボード処理を実装する良い方法は何ですか? どの言語でも、キーボード インタラクティブ プログラム (テトリス ゲームなど) を作成すると、最終的には次のようなコードになります。
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)
(短縮)。これは私のメインループに入らなければならず、プログラムのすべての部分を台無しにするので、私はこれが好きではありません。これにより、どのキーがどのアクションにマップされるかを変更できるユーザー構成画面を持つこともできなくなります。何らかの形式の関数コールバックを使用してこれを行う良いパターンはありますか?