コード例 #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
コード例 #2
0
ファイル: controller.py プロジェクト: HillaShx/btcmp
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
コード例 #3
0
ファイル: controller.py プロジェクト: HillaShx/btcmp
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}
コード例 #4
0
ファイル: controller.py プロジェクト: HillaShx/btcmp
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
コード例 #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}
コード例 #6
0
ファイル: controller.py プロジェクト: HillaShx/btcmp
def joinGame(game_id, player_id):
    currentGame = db.getGame(game_id)
    if currentGame['status'] == "open":
        return db.joinGame(game_id, player_id)
    return False
コード例 #7
0
ファイル: controller.py プロジェクト: HillaShx/btcmp
def gameExists(game_id):
    return db.getGame(game_id)
コード例 #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