Files
flippr-game/GameState.py
2022-06-07 00:04:48 +02:00

40 lines
1.1 KiB
Python

import logging
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):
CREDIT.activate()
self.players = cycle(players)
self.dummyPlayer = dummyPlayer
self._currentPlayer = dummyPlayer
self.gameStateID = currentPlayerID
self.highscore = highscore
self.credits = 3
self.specialDisplay = specialDisplay
self.specialDisplay.printCredits(self.credits)
self.isPlaying = False
PLAYER_LAMPS.activateNext()
def nextPlayer(self):
self.currentPlayer = next(self.players)
self.isPlaying = True
@property
def currentPlayer(self):
return self._currentPlayer
@currentPlayer.setter
def currentPlayer(self, player):
logging.info("Set active player to player " + str(player.id))
self._currentPlayer = self.dummyPlayer
PLAYER_LAMPS.deactivateCurrent()
PLAYER_LAMPS.activateNext()
player.activate()
self._currentPlayer = player