Files
flippr-game/Game.py
2022-05-05 23:15:12 +02:00

34 lines
1006 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()
pass
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()
BottomLeftBankSolenoid().trigger()
BottomRightBankSolenoid().trigger()
TopCentralBankSolenoid().trigger()
await self.input_handler.handleInputs()
await self.is_running.wait()
pass