diff --git a/src/EventHandler.py b/src/EventHandler.py index e36b228..4af27bf 100644 --- a/src/EventHandler.py +++ b/src/EventHandler.py @@ -6,9 +6,6 @@ class EventHandler: def __init__(self, targets): self.isRunning = True self.targets = targets - self.createAllTargets() - - async def handleEvents(self): self.isRunning = True diff --git a/src/GameFactory.py b/src/GameFactory.py index 413cd35..5c99cc5 100644 --- a/src/GameFactory.py +++ b/src/GameFactory.py @@ -1,12 +1,43 @@ +from src.config import * +from src.networking.Networking import Networking + +from src.displays.PlayerDisplay import PlayerDisplay +from src.displays.SpecialDisplay import SpecialDisplay + from src.targets import * from src.EventHandler import EventHandler +from src.events.PointEvent import PointEvent + class GameFactory: def createGame(self): targets = self.createAllTargets() eventHandler = EventHandler(targets) + + displayNames = Networking.getDisplays() + playerDisplays = self.createPlayerDisplays(displayNames) + + playerState = PlayerState() + pointEvent = PointEvent() + for target in self.targets: + target.on(target.hit_key, pass + def createPlayerDisplays(self, displayNames): + result = [] + for displayName in displayNames: + if("Player" in displayName): + display = PlayerDisplay(displayName) + result.append(display) + return result + + def createPlayerStates(self, playerDisplays, specialDisplay, ballsPerGame = BALLS_PER_GAME, beginningUpperPlayfieldTime = BEGINNING_UPPER_PLAYFIELD_TIME, beginningBonusTime = BEGINNING_BONUS_TIME): + result = [] + for i in range(len(playerDisplays)): + playerState = PlayerState(playerDisplays[i], specialDisplay, i, ballsPerGame, beginningUpperPlayfieldTime, beginningBonusTime) + result.append(playerState) + return result + def createAllTargets(self): result = dict glo = globals() # Save globals so the dict does not change during execution of the script @@ -14,4 +45,5 @@ class GameFactory: target = glo[key] if(key.endswith('Target') and type(target) == 'class'): result[key] = target() + # todo check with driver? return result \ No newline at end of file diff --git a/src/config.py b/src/config.py new file mode 100644 index 0000000..4c726c9 --- /dev/null +++ b/src/config.py @@ -0,0 +1,5 @@ +# Game Config +## Player State config +BALLS_PER_GAME = 3 +BEGINNING_UPPER_PLAYFIELD_TIME = 5 +BEGINNING_BONUS_TIME = 0 \ No newline at end of file diff --git a/src/lamps/Lamp.py b/src/lamps/Lamp.py new file mode 100644 index 0000000..e69de29 diff --git a/src/lamps/LampGroup.py b/src/lamps/LampGroup.py new file mode 100644 index 0000000..e69de29