Esempio n. 1
0
def player():
    print("-----")
    #Obtener el tablero actual y turno
    board = global_board()
    color = global_turn()

    #Tipo de jugador
    #El valor depues de coma es el default
    player = request.args.get("player", "M1")
    print(player)
    #Profundidad
    depth = int(request.args.get("depth", 0))
    game_id = int(request.args.get("game_id"))
    print(depth)

    #Condicionales para saber quien atiende
    if player == "Humano":
        print("Humano")
        move = get_move(request.args.get("clicks"))

        if move == "Movimiento invalido":
            return "Movimiento invalido"
        elif move == "Promoción":
            return "Promoción"

        values = process_play(move, "H", 0, game_id)
        print(".....")

    elif player == "M1":
        print("M1")
        values = process_play(jugador_v1(board, color, depth), "M1", 0,
                              game_id)

    elif player == "M2":
        print("M2")
        values = process_play(jugador_v2(board, color, depth), "M2", 0,
                              game_id)

    elif player == "M3":
        print("M3")
        values = process_play(jugador_v3(board, color, depth), "M3", 0,
                              game_id)

    elif player == "M4":
        print("M4")
        values = process_play(jugador_v4(board, color, depth), "M4", 0,
                              game_id)

    elif player == "M5":
        print("M5")
        values = process_play(jugador_v5(board, color, depth), "M5", depth,
                              game_id)
    elif player == "M6":
        print("M6")
        values = process_play(jugador_v6(board, color, depth), "M6", depth,
                              game_id)
    return jsonify(values)
Esempio n. 2
0
def save():

    #Recibo string que representa imagen svg
    svg = request.args.get("svg")
    #Recibo game_id
    game_id = request.args.get("game_id")
    #Obtengo tablero actual
    board = global_board()
    #Obtengo representacion FEN del tablero
    fen = fen_representation(board)
    print("FEN:")
    print(fen)

    db.games.insert_one({"svg": svg, "fen": fen, "game_id": game_id})

    return jsonify("Info recibida")
Esempio n. 3
0
def detect_words():
    i = 0
    #Regresa arreglos, podrían ser de diferentes tamaños
    values = record_words(models)
    #Obtengo la longitud del arreglo más largo
    max_len = len(max(values, key=len))
    #Primer incidencia de "move" detectado
    if "1" in values[0]:
        first = values[0].index("1")
        #Ajusto el largo de todos los arreglos
        for value in values:
            #Si la longitud del arreglo es menor lo arreglo
            if len(value) < max_len:
                while len(value) < max_len:
                    value.append("-")

            if i == 1:
                a = clean_movements(first, value, "a")
            if i == 2:
                b = clean_movements(first, value, "b")
            if i == 3:
                c = clean_movements(first, value, "c")
            if i == 4:
                d = clean_movements(first, value, "d")
            if i == 5:
                e = clean_movements(first, value, "e")
            if i == 6:
                f = clean_movements(first, value, "f")
            if i == 7:
                g = clean_movements(first, value, "g")
            if i == 8:
                h = clean_movements(first, value, "h")

            if i == 9:
                one = clean_movements(first, value, "1")
            if i == 10:
                two = clean_movements(first, value, "2")
            if i == 11:
                three = clean_movements(first, value, "3")
            if i == 12:
                four = clean_movements(first, value, "4")
            if i == 13:
                five = clean_movements(first, value, "5")
            if i == 14:
                six = clean_movements(first, value, "6")
            if i == 15:
                seven = clean_movements(first, value, "7")
            if i == 16:
                eigth = clean_movements(first, value, "8")

            i = i + 1

        movements_a = list(set(get_movements(a, "a")))
        movements_b = list(set(get_movements(b, "b")))
        movements_c = list(set(get_movements(c, "c")))
        movements_d = list(set(get_movements(d, "d")))
        movements_e = list(set(get_movements(e, "e")))
        movements_f = list(set(get_movements(f, "f")))
        movements_g = list(set(get_movements(g, "g")))
        movements_h = list(set(get_movements(h, "h")))

        unique_movements = movements_a+movements_b+movements_c+movements_d+movements_e \
            + movements_f+ movements_g + movements_h
        unique_movements = list(set(unique_movements))

        board = global_board()
        legal_moves_uci = [move.uci() for move in board.legal_moves]

        unique_movements = [
            ele for ele in unique_movements if ele in legal_moves_uci
        ]

        result = unique_movements
    else:
        result = ["NOK"]

    return jsonify(result)
Esempio n. 4
0
def play_game():
    print("Play")
    board = global_board()
    values = process_play(jugador_v4(board, color, 0), "M4", 0)
    return jsonify(values)
Esempio n. 5
0
def sel_piece():
    x = int(request.args.get("x"))
    y = int(request.args.get("y"))
    arrows = [(chess.square(x, y), (chess.square(x, y)))]
    temp_board = chess.svg.board(board=global_board(), arrows=arrows)
    return jsonify(boardSVGRepr(temp_board))
Esempio n. 6
0
def game():
    print("game")
    #return Markup(boardSVGRepr(global_board()))
    return jsonify(boardSVGRepr(global_board()))