Add player choosing

This commit is contained in:
rhetenor
2022-08-30 17:06:25 +02:00
parent 269e072010
commit 4c3aa016ba
6 changed files with 71 additions and 31 deletions

View File

@@ -1,24 +1,42 @@
import logging
import config
from lamps.LampGroup import PLAYER_LAMPS
from lamps.Lamp import CREDIT
from itertools import cycle
class GameState:
def __init__(self, players, highscore, specialDisplay, dummyPlayer, currentPlayerID = 0):
players = None
credits = config.BALLS_PER_GAME
isPlaying = False
def __init__(self, playerStateFactory, highscore, specialDisplay, currentPlayerID = 0):
CREDIT.activate()
self.players = cycle(players)
self.dummyPlayer = dummyPlayer
self.playerStateFactory = playerStateFactory
#self.players = cycle(players)
self.dummyPlayer = playerStateFactory.createDummyPlayerState()
self._currentPlayer = dummyPlayer
self.gameStateID = currentPlayerID
self.highscore = highscore
self.credits = 3
self.specialDisplay = specialDisplay
self.specialDisplay.printCredits(self.credits)
self.isPlaying = False
def nextPlayer(self):
self.currentPlayer = next(self.players)
def startGame(self, playerCount):
self.isPlaying = True
self.createPlayers(playerCount)
self.nextPlayer()
def createPlayers(self, playerCount):
players = []
for i in range(playerCount):
player = self.playerStateFactory.createPlayerState(i)
players.append(player)
self.players = cycle(players)
@property
def currentPlayer(self):