Files
flippr-game/GameState.py
Jonas Zeunert 414b5bbb38 Fix: bla
2022-06-06 21:57:17 +02:00

45 lines
1.3 KiB
Python

import logging
from lamps.LampGroup import PLAYER_LAMPS
from lamps.Lamp import CREDIT
class GameState:
def __init__(self, players, highscore, specialDisplay, currentPlayerID = 0):
CREDIT.activate()
self.players = players
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):
if not self.isPlaying:
self.isPlaying = True
nextPlayer = self.players[0].id
else:
nextPlayer = self.players[1].id
self.currentPlayer = nextPlayer
@property
def currentPlayer(self):
return self.players[0]
@currentPlayer.setter
def currentPlayer(self, playerId):
if(playerId > len(self.players)):
pass # todo throw error
logging.info("Set active player to player " + str(playerId))
savedPlayer = self.players[0]
self.players[0] = next(filter(lambda x: playerId == x.id, self.players))
self.players.remove(savedPlayer)
self.players.append(savedPlayer)
PLAYER_LAMPS.deactivateCurrent()
PLAYER_LAMPS.activateNext()
self.currentPlayer.activate()