Add dummy player
This commit is contained in:
10
GameState.py
10
GameState.py
@@ -4,10 +4,11 @@ from lamps.Lamp import CREDIT
|
|||||||
from itertools import cycle
|
from itertools import cycle
|
||||||
|
|
||||||
class GameState:
|
class GameState:
|
||||||
def __init__(self, players, highscore, specialDisplay, currentPlayerID = 0):
|
def __init__(self, players, highscore, specialDisplay, dummyPlayer, currentPlayerID = 0):
|
||||||
CREDIT.activate()
|
CREDIT.activate()
|
||||||
self.players = cycle(players)
|
self.players = cycle(players)
|
||||||
self._currentPlayer = None
|
self.dummyPlayer = dummyPlayer
|
||||||
|
self._currentPlayer = dummyPlayer
|
||||||
self.gameStateID = currentPlayerID
|
self.gameStateID = currentPlayerID
|
||||||
self.highscore = highscore
|
self.highscore = highscore
|
||||||
self.credits = 3
|
self.credits = 3
|
||||||
@@ -27,8 +28,11 @@ class GameState:
|
|||||||
def currentPlayer(self, player):
|
def currentPlayer(self, player):
|
||||||
logging.info("Set active player to player " + str(player.id))
|
logging.info("Set active player to player " + str(player.id))
|
||||||
|
|
||||||
self._currentPlayer = player
|
self._currentPlayer = self.dummyPlayer
|
||||||
PLAYER_LAMPS.deactivateCurrent()
|
PLAYER_LAMPS.deactivateCurrent()
|
||||||
PLAYER_LAMPS.activateNext()
|
PLAYER_LAMPS.activateNext()
|
||||||
|
|
||||||
self.currentPlayer.activate()
|
self.currentPlayer.activate()
|
||||||
|
|
||||||
|
self._currentPlayer = player
|
||||||
|
|
||||||
|
|||||||
12
displays/DummyDisplay.py
Normal file
12
displays/DummyDisplay.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
from displays.Display import Display
|
||||||
|
|
||||||
|
|
||||||
|
class DummyDisplay(Display):
|
||||||
|
def __init__(self):
|
||||||
|
super(DummyDisplay, self).__init__("DummyDisplay")
|
||||||
|
|
||||||
|
def printContent(self, content):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def printScore(self, score):
|
||||||
|
pass
|
||||||
@@ -28,8 +28,9 @@ 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)
|
||||||
|
dummyPlayer = self.gameStateFactory.createDummyPlayerState()
|
||||||
|
|
||||||
gameState = GameState(players, self.getHighScore(), self.specialDisplay, players[0].id)
|
gameState = GameState(players, self.getHighScore(), self.specialDisplay, dummyPlayer, players[0].id)
|
||||||
|
|
||||||
eventFactory = EventFactory(targets, gameState)
|
eventFactory = EventFactory(targets, gameState)
|
||||||
events = eventFactory.allEvents()
|
events = eventFactory.allEvents()
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
from config import *
|
from config import *
|
||||||
from PlayerState import PlayerState
|
from PlayerState import PlayerState
|
||||||
|
from displays.DummyDisplay import DummyDisplay
|
||||||
|
|
||||||
class PlayerStateFactory:
|
class PlayerStateFactory:
|
||||||
def __init__(self, specialDisplay):
|
def __init__(self, specialDisplay):
|
||||||
self.specialDisplay = specialDisplay
|
self.specialDisplay = specialDisplay
|
||||||
|
|
||||||
def createPlayerState(self, display, id, banks):
|
def createPlayerState(self, display, id, banks):
|
||||||
return PlayerState(display, self.specialDisplay, id, BALLS_PER_GAME, banks)
|
return PlayerState(display, self.specialDisplay, id, BALLS_PER_GAME, banks)
|
||||||
|
|
||||||
|
def createDummyPlayerState(self):
|
||||||
|
display = DummyDisplay()
|
||||||
|
return PlayerState(display, display, -1, -1, None)
|
||||||
Reference in New Issue
Block a user