Files
flippr-game/Game.py
Jonas Zeunert 166fb85652 fix interrupt
2022-06-07 01:07:47 +02:00

28 lines
848 B
Python

import asyncio
import signal
import logging
from solenoids.BottomLeftBankSolenoid import BottomLeftBankSolenoid
from solenoids.BottomRightBankSolenoid import BottomRightBankSolenoid
from solenoids.TopCentralBankSolenoid import TopCentralBankSolenoid
class Game:
def __init__(self, input_handler, events, game_state):
self.input_handler = input_handler
self.events = events
self.game_state = game_state
signal.signal(signal.SIGINT, self.interrupt)
self.is_running = asyncio.Condition()
def interrupt(self, _, __):
logging.info('Received SIGINT. Stopping Game :-)')
self.is_running.release()
async def run(self):
logging.info('Starting game')
await self.is_running.acquire()
await self.input_handler.handleInputs()
await self.is_running.wait()