end game event

This commit is contained in:
Jonas Zeunert
2020-07-17 00:24:22 +02:00
parent da309f8c2b
commit 34bb330c5f
5 changed files with 16 additions and 8 deletions

View File

@@ -22,11 +22,11 @@ class PlayerState:
self.specialDisplay.printBallsToPlay(self.ballsLeft)
def removeBall(self):
if self.ballsLeft == 0:
return
self.ballsLeft -= 1
self.specialDisplay.printBallsToPlay(self.ballsLeft)
if(self.ballsLeft == 0):
# todo emit endgame Event
pass
def addUpperPlayfieldTime(self, time):
self.upperPlayfieldTime += time

View File

@@ -1,11 +1,15 @@
from Event import Event
from solenoids.MainFlipper import MainFlipper
from solenoids.TopFlipper import TopFlipper
#todo temporary
import sys
class EndGameEvent(Event):
def __init__(self, flipper):
self.flipper = flipper
def __init__(self):
super().__init__("End Game Event")
def trigger(self, _):
super().trigger()
self.flipper.deactivate()
sys.exit(0)

View File

@@ -1,5 +1,6 @@
from Event import Event
from events.EndGameEvent import EndGameEvent
class EndOfBallEvent(Event):
def __init__(self, playerState):
@@ -9,3 +10,6 @@ class EndOfBallEvent(Event):
def trigger(self, _):
super().trigger()
self.playerState().removeBall()
if self.playerState().ballsLeft == 0:
EndGameEvent().trigger()

View File

@@ -7,6 +7,7 @@ from events.LeftFlapEvent import LeftFlapEvent
from events.RightKickerEvent import RightKickerEvent
from events.EnterUpperPlayfieldEvent import EnterUpperPlayfieldEvent
from events.StartGameEvent import StartGameEvent
from events.EndGameEvent import EndGameEvent
class EventFactory:
@@ -56,7 +57,6 @@ class EventFactory:
def createStartGameEvent(self):
event = StartGameEvent()
self.__registerEventToTarget(event, self.targets['Outhole'])
self.__registerEventToTarget(event, self.targets['Credit'])
return event

View File

@@ -3,4 +3,4 @@ from solenoids.Flipper import Flipper
class MainFlipper(Flipper):
def __init__(self):
super().__init__("Flipper Relay")
ssluguper().__init__("Flipper Relay")