From 97c7ef0c29f6e361a2699410dcc2c46c87cdf70f Mon Sep 17 00:00:00 2001 From: fheinrich <fheinrich@techfak.uni-bielefeld.de> Date: Mon, 18 Dec 2023 13:54:27 +0100 Subject: [PATCH] Program should exit better now. Catches KeyboardInterrupt in pygame_gui.py and quits properly --- overcooked_simulator/pygame_gui/pygame_gui.py | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/overcooked_simulator/pygame_gui/pygame_gui.py b/overcooked_simulator/pygame_gui/pygame_gui.py index 06310948..f303bebb 100644 --- a/overcooked_simulator/pygame_gui/pygame_gui.py +++ b/overcooked_simulator/pygame_gui/pygame_gui.py @@ -1,5 +1,6 @@ import colorsys import math +import sys import numpy as np import numpy.typing as npt @@ -401,15 +402,21 @@ class PyGameGUI: # Game loop running = True while running: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - running = False - if event.type in [pygame.KEYDOWN, pygame.KEYUP]: - self.handle_key_event(event) - - self.handle_keys() - clock.tick(self.FPS) - state = self.simulator.get_state() - self.draw(state) + try: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + if event.type in [pygame.KEYDOWN, pygame.KEYUP]: + self.handle_key_event(event) + + self.handle_keys() + clock.tick(self.FPS) + state = self.simulator.get_state() + self.draw(state) + + except KeyboardInterrupt: + pygame.quit() + self.simulator.stop() + sys.exit() pygame.quit() -- GitLab