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) self.specialDisplay.printBallsToPlay(self.ballsLeft)
def removeBall(self): def removeBall(self):
if self.ballsLeft == 0:
return
self.ballsLeft -= 1 self.ballsLeft -= 1
self.specialDisplay.printBallsToPlay(self.ballsLeft) self.specialDisplay.printBallsToPlay(self.ballsLeft)
if(self.ballsLeft == 0):
# todo emit endgame Event
pass
def addUpperPlayfieldTime(self, time): def addUpperPlayfieldTime(self, time):
self.upperPlayfieldTime += time self.upperPlayfieldTime += time

View File

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

View File

@@ -1,5 +1,6 @@
from Event import Event from Event import Event
from events.EndGameEvent import EndGameEvent
class EndOfBallEvent(Event): class EndOfBallEvent(Event):
def __init__(self, playerState): def __init__(self, playerState):
@@ -9,3 +10,6 @@ class EndOfBallEvent(Event):
def trigger(self, _): def trigger(self, _):
super().trigger() super().trigger()
self.playerState().removeBall() 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.RightKickerEvent import RightKickerEvent
from events.EnterUpperPlayfieldEvent import EnterUpperPlayfieldEvent from events.EnterUpperPlayfieldEvent import EnterUpperPlayfieldEvent
from events.StartGameEvent import StartGameEvent from events.StartGameEvent import StartGameEvent
from events.EndGameEvent import EndGameEvent
class EventFactory: class EventFactory:
@@ -56,7 +57,6 @@ class EventFactory:
def createStartGameEvent(self): def createStartGameEvent(self):
event = StartGameEvent() event = StartGameEvent()
self.__registerEventToTarget(event, self.targets['Outhole'])
self.__registerEventToTarget(event, self.targets['Credit']) self.__registerEventToTarget(event, self.targets['Credit'])
return event return event

View File

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