diff --git a/PlayerState.py b/PlayerState.py index b2f3fa8..1e320fd 100644 --- a/PlayerState.py +++ b/PlayerState.py @@ -254,7 +254,7 @@ class PlayerState: def addPoints(self, points): if not self.isActive: return - + if not self.hasBallScored: self.hasBallScored = True diff --git a/events/StartGameEvent.py b/events/StartGameEvent.py index 2c48205..c66830f 100644 --- a/events/StartGameEvent.py +++ b/events/StartGameEvent.py @@ -4,7 +4,8 @@ from solenoids.MainFlipper import MainFlipper class StartGameEvent(Event): - def __init__(self): + def __init__(self, playerState): + self.playerState = playerState self.flipper = MainFlipper() self.outHoleSolenoid = OutHoleSolenoid() super().__init__("Start Game Event") @@ -12,4 +13,5 @@ class StartGameEvent(Event): def trigger(self, target): super().trigger(target) self.flipper.activate() - self.outHoleSolenoid.trigger() \ No newline at end of file + self.playerState.activate() + self.outHoleSolenoid.trigger() diff --git a/factories/EventFactory.py b/factories/EventFactory.py index 97f73fa..d29827f 100644 --- a/factories/EventFactory.py +++ b/factories/EventFactory.py @@ -89,7 +89,7 @@ class EventFactory: return event def createStartGameEvent(self): - event = StartGameEvent() + event = StartGameEvent(self.currentPlayer) self.__registerEventToTarget(event, self.targets['Credit']) return event diff --git a/factories/GameFactory.py b/factories/GameFactory.py index 8e666ae..efe7038 100644 --- a/factories/GameFactory.py +++ b/factories/GameFactory.py @@ -30,9 +30,8 @@ class GameFactory: players = self.createPlayers(banks) gameState = GameState(players, self.getHighScore(), players[0].id) - gameState.currentPlayer.activate() - eventFactory = EventFactory(targets, gameState.currentPlayer) + eventFactory = EventFactory(targets, gameState.currentPlayer.fset) events = eventFactory.allEvents() return Game(inputHandler, gameState, events)