Files
flippr-game/events/EndBallEvent.py
2022-06-06 23:58:59 +02:00

34 lines
1.0 KiB
Python

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