add: Print to special disp
This commit is contained in:
@@ -2,10 +2,13 @@ import logging
|
|||||||
from lamps.LampGroup import PLAYER_LAMPS
|
from lamps.LampGroup import PLAYER_LAMPS
|
||||||
|
|
||||||
class GameState:
|
class GameState:
|
||||||
def __init__(self, players, highscore, currentPlayerID = 0):
|
def __init__(self, players, highscore, specialDisplay, currentPlayerID = 0):
|
||||||
self.players = players
|
self.players = players
|
||||||
self.gameStateID = currentPlayerID
|
self.gameStateID = currentPlayerID
|
||||||
self.highscore = highscore
|
self.highscore = highscore
|
||||||
|
self.credits = 3
|
||||||
|
self.specialDisplay = specialDisplay
|
||||||
|
self.specialDisplay.printCredits(self.credits)
|
||||||
PLAYER_LAMPS.activateNext()
|
PLAYER_LAMPS.activateNext()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ TUNNEL_SCORES = [20000, 30000, 50000]
|
|||||||
BONUS_MULTIPLIER = [1, 10, 20, 50]
|
BONUS_MULTIPLIER = [1, 10, 20, 50]
|
||||||
UPPER_PLAYFIELD_TIME = [5, 10, 20, 30]
|
UPPER_PLAYFIELD_TIME = [5, 10, 20, 30]
|
||||||
|
|
||||||
|
|
||||||
class PlayerState:
|
class PlayerState:
|
||||||
display = None
|
display = None
|
||||||
specialDisplay = None
|
specialDisplay = None
|
||||||
@@ -137,6 +136,7 @@ class PlayerState:
|
|||||||
Lamp("Right Advance Time").deactivate()
|
Lamp("Right Advance Time").deactivate()
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
self.printSpecial()
|
||||||
self.upperPlayfieldTimer = None
|
self.upperPlayfieldTimer = None
|
||||||
self.upperPlayfieldTimeIter = iter(UPPER_PLAYFIELD_TIME)
|
self.upperPlayfieldTimeIter = iter(UPPER_PLAYFIELD_TIME)
|
||||||
self.upperPlayfieldTime = next(self.upperPlayfieldTimeIter)
|
self.upperPlayfieldTime = next(self.upperPlayfieldTimeIter)
|
||||||
@@ -188,6 +188,10 @@ class PlayerState:
|
|||||||
BottomLeftBankSolenoid().trigger()
|
BottomLeftBankSolenoid().trigger()
|
||||||
TopCentralBankSolenoid().trigger()
|
TopCentralBankSolenoid().trigger()
|
||||||
|
|
||||||
|
def printSpecial(self):
|
||||||
|
self.specialDisplay.printBallsToPlay(self.ballsLeft)
|
||||||
|
self.specialDisplay.printGameTimeBonus(self.bonusTime)
|
||||||
|
|
||||||
def advanceRightOrangeSpecial(self):
|
def advanceRightOrangeSpecial(self):
|
||||||
self.orangeSpecialRight = True
|
self.orangeSpecialRight = True
|
||||||
self.setOrangeSpecialLit()
|
self.setOrangeSpecialLit()
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ class GameFactory:
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
displayNames = networking.getDisplays()['displays']
|
displayNames = networking.getDisplays()['displays']
|
||||||
self.displayFactory = DisplayFactory(displayNames)
|
self.displayFactory = DisplayFactory(displayNames)
|
||||||
specialDisplay = self.displayFactory.createSpecialDisplay()
|
self.specialDisplay = self.displayFactory.createSpecialDisplay()
|
||||||
|
|
||||||
self.playerCount = len(displayNames)
|
self.playerCount = len(displayNames)
|
||||||
|
|
||||||
self.gameStateFactory = PlayerStateFactory(specialDisplay)
|
self.gameStateFactory = PlayerStateFactory(self.specialDisplay)
|
||||||
|
|
||||||
|
|
||||||
def createGame(self):
|
def createGame(self):
|
||||||
@@ -29,7 +29,7 @@ class GameFactory:
|
|||||||
banks = [targets['Left Bank'], targets['Right Bank'], targets['Top Bank']]
|
banks = [targets['Left Bank'], targets['Right Bank'], targets['Top Bank']]
|
||||||
players = self.createPlayers(banks)
|
players = self.createPlayers(banks)
|
||||||
|
|
||||||
gameState = GameState(players, self.getHighScore(), players[0].id)
|
gameState = GameState(players, self.getHighScore(), self.specialDisplay, players[0].id)
|
||||||
|
|
||||||
eventFactory = EventFactory(targets, gameState)
|
eventFactory = EventFactory(targets, gameState)
|
||||||
events = eventFactory.allEvents()
|
events = eventFactory.allEvents()
|
||||||
|
|||||||
Reference in New Issue
Block a user