Exemplo n.º 1
0
        nom_piez = informacion['current_piece']
        board = env.board()

        # Si acabamos de empezar o acabamos de colocar una pieza
        # calculamos cual es la posicion de la siguiente pieza
        if pieza_colocada:
            pieza_colocada = False
            pos = 5
            u = -1
            ant_nom_piez = ''
            estado = board_prop(board)
            posiciones, estados, piezas, giros = posibles_estados(
                board, nom_piez)
            mejores_estados, mejores_k = best_estados(estado, estados)[:]
            mejor_estado, j = agent.el_mejor_estado(
                mejores_estados
            )[:]  # En este caso hacemos calcular al agente el mejor
            # estado entre 4 estados
            k = mejores_k[j]
            if k < 0:
                k = 0
                for estado_i in estados:
                    if estado_i == mejor_estado:
                        break
                    k = k + 1
            pos_objetivo = posiciones[k]
            pieza = piezas[k]

    # Giramos la pieza hasta que tengamos el giro que queramos
        if nom_piez != pieza and not terminado:
            state, reward, terminado, info = env.step(1)
Exemplo n.º 2
0
            break

        env.render()
        informacion = env.get_info()
        nom_piez = informacion['current_piece']
        board = env.board()

        # Si acabamos de empezar o acabamos de colocar una pieza
        # calculamos cual es la posicion de la siguiente pieza

        if pieza_colocada:
            pieza_colocada = False
            pos = 5
            u = -1
            posiciones, estados, piezas = posibles_estados(board, nom_piez)
            mejor_estado, k, valor = agent.el_mejor_estado(estados)[:]
            if k < 0:
                k = 0
                for estado_i in estados:
                    if estado_i == mejor_estado:
                        break
                    k = k + 1
            pos_objetivo = posiciones[k]
            pieza = piezas[k]

        # Giramos la pieza hasta que tengamos el giro que queramos
        if nom_piez != pieza and not terminado:
            state, reward, terminado, info = env.step(1)
            nom_piez = informacion['current_piece']
            accion = 0
        # Movemos la pieza hasta que este en la posicion que queramos