Add: Replay ball if not scored
This commit is contained in:
@@ -22,6 +22,7 @@ class PlayerState:
|
||||
bonusMultiplier = 1
|
||||
ballsLeft = 0
|
||||
replayBall = False
|
||||
hasBallScored = False
|
||||
|
||||
redSpecial = 0
|
||||
redSpecialLit = False
|
||||
@@ -103,8 +104,9 @@ class PlayerState:
|
||||
|
||||
def reset(self):
|
||||
self.upperPlayfieldTimer = None
|
||||
self.replayBall = False
|
||||
self.upperPlayfieldTime = config.BEGINNING_UPPER_PLAYFIELD_TIME
|
||||
self.replayBall = False
|
||||
self.hasBallScored = False
|
||||
|
||||
self.resetBonus()
|
||||
self.resetTargets()
|
||||
@@ -152,7 +154,6 @@ class PlayerState:
|
||||
if self.orangeSpecialLit:
|
||||
Lamp("Special Orange").activate()
|
||||
|
||||
|
||||
def advanceRedSpecial(self):
|
||||
self.redSpecial += 1
|
||||
CHAMP_LAMPS.activateNext()
|
||||
@@ -173,7 +174,7 @@ class PlayerState:
|
||||
BONUS_LAMPS.activateNext()
|
||||
|
||||
def advanceBonusMultiplier(self):
|
||||
if self.bonusMultiplier >= 15:
|
||||
if self.bonusMultiplier >= 50:
|
||||
return
|
||||
|
||||
if self.bonusMultiplier == 1:
|
||||
@@ -181,7 +182,7 @@ class PlayerState:
|
||||
elif self.bonusMultiplier == 10:
|
||||
self.bonusMultiplier = 20
|
||||
elif self.bonusMultiplier == 20:
|
||||
self.bonusMultiplier == 50
|
||||
self.bonusMultiplier == 50 #todo
|
||||
|
||||
BONUS_MULTIPLIER_LAMPS.activateNext()
|
||||
|
||||
@@ -189,6 +190,9 @@ class PlayerState:
|
||||
self.replayBall = True
|
||||
|
||||
def addPoints(self, points):
|
||||
if not self.hasBallScored:
|
||||
self.hasBallScored = True
|
||||
|
||||
self.points += points
|
||||
self.display.printScore(self.points)
|
||||
|
||||
@@ -221,7 +225,7 @@ class PlayerState:
|
||||
def updatePlayfieldTime(self):
|
||||
if self.upperPlayfieldTime == 0:
|
||||
self.upperPlayfieldTimer = None
|
||||
LeaveUpperPlayfieldEvent(self, )
|
||||
LeaveUpperPlayfieldEvent(self)
|
||||
return
|
||||
|
||||
if self.upperPlayfieldTime in [0, 5, 10, 20]:
|
||||
|
||||
@@ -11,7 +11,7 @@ class EndBallEvent(Event):
|
||||
|
||||
def trigger(self, target):
|
||||
super().trigger(target)
|
||||
if self.playerState.replayBall:
|
||||
if self.playerState.replayBall or not self.playerState.hasBallScored:
|
||||
StartBallEvent().trigger(None)
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user