def markPlayerReady(game_id, player_id): currentGame = db.getGame(game_id) if currentGame: db.updatePlayerStatus(game_id, player_id, "ready") gamePlayers = db.getGamePlayers(game_id) readyPlayers = db.getReadyPlayers(game_id) if gamePlayers == readyPlayers: db.updateGameStatus(game_id, "on") db.setFirstTurn(game_id) return True return False
def generateGameStatus(game_id, player_id): currentPlayer = {"name": player_id} currentGame = db.getGame(game_id) currentGame["sequence"] = currentGame["sequence"].split(",") gamePlayers = db.getGamePlayers(game_id) currentPlayer["status"] = "viewer" if not currentGame['closed'] and len( currentGame['sequence']) == len(gamePlayers): db.gameIsClosed(game_id) db.updateGameStatus(game_id, "waiting") currentPlayer["status"] = "viewer" for p in gamePlayers: if p["player"] == player_id: currentPlayer["status"] = p["status"] break return {"game": currentGame, "players": gamePlayers, "user": currentPlayer}
def wrongTurn(game_id, player_id): db.updatePlayerStatus(game_id, player_id, "failed") nextPlayer = db.getNextPlayer(game_id, player_id) if not nextPlayer: return db.updateGameStatus(game_id, "failed") return db.updatePlayerStatus(game_id, nextPlayer, "turn")