from Event import Event from events.EndGameEvent import EndGameEvent from events.StartBallEvent import StartBallEvent class EndBallEvent(Event): def __init__(self, gameState): self.gameState = gameState super().__init__("End Of Ball Event") def trigger(self, target): super().trigger(target) if self.gameState.replayBall or not self.gameState.hasBallScored: StartBallEvent().trigger(None) return self.gameState.playerState.removeBall() self.scorePoints() self.gameState.playerState.reset() if self.gameState.playerState.ballsLeft == 0: EndGameEvent().trigger(None) def scorePoints(self): bonus = self.gameState.playerState.bonus * self.gameState.playerState.bonusMultiplier * 1000 self.gameState.playerState.addPoints(bonus)