import logging class GameState: def __init__(self, players, highscore, currentPlayerID = 0): self.players = players self.currentPlayerID = currentPlayerID self.highscore = highscore def currentPlayer(self): return self.players[self.currentPlayerID] def setCurrentPlayer(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)