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