Aggiorna la gestione dei tasti e aggiungi nuovi file di configurazione per le schermate di pausa e menu di avvio

This commit is contained in:
Matteo Benedetto
2024-12-28 00:34:48 +01:00
parent 69940890ec
commit 6dc871db54
7 changed files with 71 additions and 41 deletions
+24 -12
View File
@@ -5,31 +5,43 @@ import random
class KeyBindings:
def key_pressed(self, key, coords=None):
if key in self.keybindings["quit"]:
keybindings = self.configs[f"keybinding_{self.game_status}"]
if key in keybindings.get("quit", []):
self.engine.close()
elif key in self.keybindings["new_rat"]:
elif key in keybindings.get("new_rat", []):
self.new_rat()
elif key in self.keybindings["kill_rat"]:
elif key in keybindings.get("kill_rat", []):
if self.units:
self.units[random.choice(list(self.units.keys()))].die(score=5)
elif key in self.keybindings["toggle_audio"]:
elif key in keybindings.get("toggle_audio", []):
self.audio = not self.audio
elif key in self.keybindings["toggle_full_screen"]:
elif key in keybindings.get("toggle_full_screen", []):
self.full_screen = not self.full_screen
self.engine.full_screen(self.full_screen)
elif key in self.keybindings["scroll_up"]:
elif key in keybindings.get("scroll_up", []):
self.start_scrolling("Up")
elif key in self.keybindings["scroll_down"]:
elif key in keybindings.get("scroll_down", []):
self.start_scrolling("Down")
elif key in self.keybindings["scroll_left"]:
elif key in keybindings.get("scroll_left", []):
self.start_scrolling("Left")
elif key in self.keybindings["scroll_right"]:
elif key in keybindings.get("scroll_right", []):
self.start_scrolling("Right")
elif key in self.keybindings["spawn_bomb"]:
elif key in keybindings.get("spawn_bomb", []):
self.play_sound("PUTDOWN.WAV", tag="effects")
self.spawn_bomb(self.pointer)
elif key in self.keybindings["pause"]:
self.pause = not self.pause
elif key in keybindings.get("pause", []):
self.game_status = "paused" if self.game_status == "game" else "game"
elif key in keybindings.get("start_game", []):
self.pause = False
self.game_status = "game"
self.start_game()
elif key in keybindings.get("reset_game", []):
self.pause = False
self.game_status = "game"
self.game_end = (False, None)
self.units.clear()
self.points = 0
self.start_game()
def quit_game(self):
self.engine.close()