Ejemplo n.º 1
0
def joinGame(game_id, player_id):
    currentGame = db.getGame(game_id)
    if currentGame['status'] == "open" and not db.isGameFull(game_id):
        return db.joinGame(game_id, player_id)
    elif db.isGameFull(game_id):
        print('Game is full, sorry!')
    return False
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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"
    for p in gamePlayers:
        if p["player"] == player_id:
            currentPlayer["status"] = p["status"]
            break
    return {"game":currentGame,"players":gamePlayers, "user":currentPlayer}
Ejemplo n.º 4
0
def playTurn(game_id, player_id, color):
    currentGame = db.getGame(game_id)
    if currentGame:
        correct = checkTurn(currentGame, color)
        if correct:
            newStep = currentGame["step"] + 1
            if newStep == utils.GAME_LENGTH:
                win(game_id, newStep)
            else:
                correctTurn(game_id, player_id, newStep)
        else:
            wrongTurn(game_id, player_id)
        return True
    return False
Ejemplo n.º 5
0
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}
Ejemplo n.º 6
0
def joinGame(game_id, player_id):
    currentGame = db.getGame(game_id)
    if currentGame['status'] == "open":
        return db.joinGame(game_id, player_id)
    return False
Ejemplo n.º 7
0
def gameExists(game_id):
    return db.getGame(game_id)
Ejemplo n.º 8
0
def joinGame(game_id, player_id, avatar):
    print("controller joingame")
    currentGame = db.getGame(game_id)
    if currentGame['status'] == "open":
        return db.joinGame(game_id, player_id, avatar)
    return False