Пример #1
0
    def turno(self):
        letras_minusculas, letras_mayusculas = string.ascii_letters[
            0:15], string.ascii_letters[26:41]
        letras_posibles = {
            l: n
            for l, n in zip(letras_minusculas, range(0, 16))
        }
        mayusculas = {l: n for l, n in zip(letras_mayusculas, range(0, 16))}
        letras_posibles.update(mayusculas)
        letra_convertida = letras_posibles[self.letra]

        if self.tablero_o[self.numero][letra_convertida] == "L":
            print("Haz perdido")
            tablero.print_tablero(self.tablero_o, True)

            os.remove(os.path.join("partidas", self.nombre + ".txt"))

            return False

        else:
            self.tablero_a[self.numero][letra_convertida] = self.tablero_o[
                self.numero][letra_convertida]
            tablero.print_tablero(self.tablero_a, True)

            return True
Пример #2
0
def game_end():
    global comando, legos_tablero, board, board_showed, rank, user
    for fila in range(len(board)):
        for columna in range(len(board[0])):
            if board[fila][columna] == "L":
                board_showed[fila][columna] = "L"
    table.print_tablero(board_showed)
    puntaje = baldosas_descubiertas() * constant.POND_PUNT * legos_tablero
    print("\n-||Game over||-\n Felicidades tu puntuación es:\n\n" +
          " ----|| " + user, str(puntaje) +
          "pts ||----\n\n ------ ------")
    comando = " "
    if not path.isfile(rank):
        default_ranking(rank)
    with open(rank, "rt") as ranking:
        datos = ranking.readlines()
    datos = dato_a_lista(datos)
    for dato in range(len(datos)):
        if int(datos[dato][1]) < puntaje and dato + 1 != len(datos):
            datos = datos[:dato] + [[user, str(puntaje)]] + datos[dato:]
            break
    with open(rank, "w") as ranking:
        for dato in datos:
            ranking.writelines(fila_a_dato(dato) + "\n")
    imprimir_ranking()
Пример #3
0
def gameOver(tabla):                   
    global usuario 
    global puntaje 
    global baldDesc
    global numLegos
    print('Te has topado con un Lego! Perdiste la partida ' + usuario + '!')
    tablero.print_tablero(tabla)
    puntaje = numLegos * baldDesc * parametros.POND_PUNT
    print('Puntaje final : ' + str(puntaje))
    rank = open('puntajes.txt', 'a')
    partida = usuario + ',' + ' ' + 'Puntaje:' + ' ' + str(puntaje) + ' \n'
    rank.write(partida) 
Пример #4
0
def game_menu(tablero_enemigo, tablero_propio):
    print("-" * 6 + "Menú de Juego" + "-" *  6)
    print_tablero(tablero_enemigo, tablero_propio, utf8 = True)
    print("")
    print("[0] Redirse\n[1] Lanzar una bomba\n[2] Salir del programa")
    print("")
    choice = input("Ingresa tu elección: ")
    valid_options = ["0", "1", "2"]
    while choice not in valid_options:}
        print("La opción ingresada no esa válida")
        choice = input("Ingresa tu elección: ")
    return(int(choice))
Пример #5
0
    def turno(self, tablero_sin_legos, tablero_con_numeros_y_legos):
        coordenada_1 = self.numero
        coordenada_2 = self.letra

        if tablero_con_numeros_y_legos[coordenada_1][coordenada_2] == "L":
            print("Haz perdido")
            tablero.print_tablero(tablero_con_numeros_y_legos, True)
            exit()
        else:
            tablero_sin_legos[coordenada_1][
                coordenada_2] = tablero_con_numeros_y_legos[coordenada_1][
                    coordenada_2]
            tablero.print_tablero(tablero_sin_legos, True)
Пример #6
0
def partida():
    global board, board_showed, menu_juego, comando, largo, ancho,\
     legos_tablero
    baldosas_iniciales = baldosas_descubiertas()
    while True:
        table.print_tablero(board_showed)
#       table.print_tablero(board) //
#       Si se desea visualizar la posición de las minas descomentar
#       linea anterior
        if (largo * ancho) - baldosas_descubiertas() == legos_tablero:
            game_end()
            break
        menu(menu_juego, 0)
        if comando == "1":
            posicion = input("\nIngresa la coordenada de la baldosa" +
                             "(Ej: A4)\n")
            if posicion[0].isupper() and posicion[1].isdigit() and\
               int(posicion[1:]) < largo:
                columna = columna_a_index.index(posicion[0])
                fila = int(posicion[1:])
                if board[fila][columna] == "L":
                    if baldosas_iniciales == 0:
                        board[fila][columna] = " "
                        agregar_lego(((largo * ancho) // legos_tablero) +
                                     1, 1, [fila, columna])
                        baldosas_iniciales = 1
                        lego_alrededor(fila, columna)
                    else:
                        game_end()
                        break
                else:
                    lego_alrededor(fila, columna)
                    if baldosas_iniciales == 0:
                        baldosas_iniciales = 1
            else:
                error(0)
        elif comando in ["2", "3"]:
            if guardar_tablero() and comando == "3":
                if salir(True):
                    break
        elif comando == "0":
            if salir(True):
                break
        else:
            error(0)
Пример #7
0
def printJuego(tablaUsuario, mainTabla):
    global baldosasVacias
    global baldDesc

    if baldDesc == baldosasVacias:
        victoria()
    else:
        tablero.print_tablero(tablaUsuario)
        print('Seleccione una de las siguientes acciones:\n')
        print(' [1] Descubrir una baldosa\n')
        print(' [2] Guardar la partida\n')
        print(' [0] Salir de la partida\n')
        opcion = input('Indique su opcion (0, 1 o 2):  ')
        if opcion.isdigit():
            mainJuego(tablaUsuario, opcion, mainTabla)
        else:
            print('Respuesta Invalida!\n')
            printJuego(tablaUsuario, mainTabla)
Пример #8
0
    def creacion_tablero(self, cantidad_legos, ancho, largo):
        #ancho hacia el lado y largo hacia abajo
        tablero = []
        for i in range(0, largo):
            tablero.append([])
            for j in range(0, ancho):
                tablero[i].append(" ")

        legos = 0
        while legos < cantidad_legos:
            i = random.randint(0, largo - 1)
            j = random.randint(0, ancho - 1)
            if tablero[i][j] != "L":
                tablero[i][j] = "L"
                legos += 1
            else:
                legos += 0
        tab.print_tablero(tablero)
Пример #9
0
def menu_juego(partida):
    bomba_especial_utilizada = False
    letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    while True:
        print("--- Menu Juego ---")
        tablero.print_tablero(partida.tablero_rival,
                              partida.tablero_propio,
                              utf8=True)
        print("[0] Rendirse")
        print("[1] Lanzar una bomba")
        print("[2] Salir del programa")
        entrada_usuario = input("Ingresa tu eleccion: ")
        if entrada_usuario == "0":  # Rendirse
            print("Te has rendido")
            puntaje = partida.calcular_puntaje()
            print(f"Tu puntaje fue de {partida.puntaje} puntos")
            partida.guardar_puntaje("puntajes.txt")
            break  # por hacer guardar datos al rendirse en archivo
        elif entrada_usuario == "1":  # Lanzar bomba
            apunto = func.lanzar_bomba(partida)
        elif entrada_usuario == "2":
            print("Saliendo...")
            salir = True
            return (salir)
            # por hacer terminar codigo para salir del programa de una
            break
        else:
            print("Entrada Invalida! Ingresa una opcion valida")
            continue

        # Turno Oponente
        if not (apunto):
            oponente_apunto = True
            while oponente_apunto and (partida.aliados_descubiertos <
                                       parametros.NUM_BARCOS):
                oponente_apunto = func.ataque_oponente(partida)
                print("El tablero actual es:")
                tablero.print_tablero(partida.tablero_rival,
                                      partida.tablero_propio)
                input("Presione enter para continuar: ")

        # Chequea ganador
        partida.ver_si_gano()
        if partida.terminada:
            print(f"Ha ganado {partida.ganador}!")
            partida.calcular_puntaje()
            print(f"Has conseguido {partida.puntaje} puntos!")
            print("Tablero final:")
            tablero.print_tablero(partida.tablero_rival,
                                  partida.tablero_propio)
            partida.guardar_puntaje("puntajes.txt")
            break
    salir = False
    return salir
Пример #10
0
 def show(self):
     print_tablero(self.tablero)
Пример #11
0
                if int(elec4) == 0:
                    print("\nSeleccionaste una bomba regular")
                    elec5 = input("Ingresa una coordenada (Formato: A0): ")
                    #Se debe verificar que la coordenada ingresada sea válida
                    #Para lo cual usamos las listas con las jugadas disponibles
                    var = ft.check_its_ok(elec5, available_own_plays)
                    while not var:
                        print("Esta coordenada no cumple el formato, o ya no está disponible")
                        elec5 = input("Ingresa una coordenada (Formato: A0): ")
                        var = ft.check_its_ok(elec5, available_own_plays)
                    print(f"Has disparado a la casilla {elec5}")
                    enemy_visible_board = ft.update_enemy_board(elec5, blast_radius, enemy_visible_board, enemy_ships_board, "regular_bomb", available_own_plays, rows, columns)[0]
                    available_own_plays = ft.update_enemy_board(elec5, blast_radius, enemy_visible_board, enemy_ships_board, "regular_bomb", available_own_plays, rows, columns)[1]
                    barco_encontrado = ft.update_enemy_board(elec5, blast_radius, enemy_visible_board, enemy_ships_board, "regular_bomb", available_own_plays, rows, columns)[2]
                    print_tablero(enemy_visible_board, own_board)
                    if barco_encontrado == True:
                        print("Has encontrado un barco enemigo, juega de nuevo")
                        elec3 = game_menu(enemy_visible_board, own_board)
                    else: 
                        #Ahora juega el enemigo, para esto, hago que de la lists available_enemy_plays se elija un elemento
                        #al azar que representara la jugada del rival
                        jugada_rival = random.choice(available_enemy_plays)
                        own_board = ft.update_own_board(jugada_rival, own_board, available_enemy_plays)[0]
                        available_enemy_plays = ft.update_own_board(jugada_rival, own_board, available_enemy_plays)[1]
                        barco_aliado_encontrado = ft.update_own_board(jugada_rival, own_board, available_enemy_plays)[2]
                        print(f"El oponente eligio la casilla {jugada_rival}")
                        print_tablero(enemy_visible_board, own_board)
                        while barco_aliado_encontrado:
                            print("El oponente encontro uno de tus barcos, juega de nuevo")
                            jugada_rival = random.choice(available_enemy_plays)
Пример #12
0
def cargar(usuario):
    archivos = os.listdir("partidas")
    partida_nueva = usuario + ".txt"
    respuesta = "0"
    if partida_nueva in archivos:
        ruta_partida = os.path.join("partidas", partida_nueva)
        archivo_partida = open(ruta_partida, "rt")
        lineas_partida = archivo_partida.readlines()
        archivo_partida.close()
        casillas_disponibles = int(lineas_partida[0].strip())
        ancho = int(lineas_partida[1].strip())
        alto = int(lineas_partida[2].strip())
        coordenadas_legos = lineas_partida[3].strip()
        coordenadas_legos = coordenadas_legos.replace("[[", "")
        coordenadas_legos = coordenadas_legos.replace("]]", "")
        coordenadas_legos = coordenadas_legos.split("], [")
        nuevas_coord = []
        for coord in coordenadas_legos:
            coord = coord.split(", ")
            nueva_coord = [int(coord[0]), int(coord[1])]
            nuevas_coord.append(nueva_coord)
        tablero_lista = lineas_partida[4].strip()
        tablero_lista = tablero_lista.replace("[[", "")
        tablero_lista = tablero_lista.replace("]]", "")
        tablero_lista = tablero_lista.split("], [")
        nuevo_tablero = []
        for fila in tablero_lista:
            fila = fila.replace("'", "")
            nueva_fila = fila.split(", ")
            nuevo_tablero.append(nueva_fila)
        respuesta_valida = False
        while not respuesta_valida:
            lista_opciones = ["0", "1"]
            print("\n\t Tablero:\n")
            tab.print_tablero(nuevo_tablero)
            print("\nEsta es la partida que se esta cargando.")
            print("\nElija una entre las siguientes opciones:")
            print("\n[0] Confirmar carga.")
            print("[1] No cargar esta partida (volver al menú).")
            print("\nCARGANDO...")
            respuesta = input("Ingrese el número aquí: ")
            os.system('cls' if os.name == 'nt' else 'clear')
            if (respuesta.isdigit() is False) or (respuesta
                                                  not in lista_opciones):
                print(
                    "\nALERTA: Ingresó un número inválido. Intente nuevamente."
                )
            else:
                respuesta_valida = True
    elif respuesta == "1":
        print("\nPartida no cargada.")
        casillas_disponibles = 0
        ancho = 0
        alto = 0
        nuevas_coord = 0
        nuevo_tablero = 0
    else:
        print("\nALERTA: No existe partida guardada para este jugador.")
        respuesta = "1"
        casillas_disponibles = 0
        ancho = 0
        alto = 0
        nuevas_coord = 0
        nuevo_tablero = 0
    return respuesta, casillas_disponibles, ancho, alto, nuevas_coord, nuevo_tablero
Пример #13
0
# Para utilizar los parámetros dentro de este archivo, tendríamos
# que llamarlo de la forma:
# variable = parametros.NUM_BARCOS
# print(variable)

# Forma 2:
# import parametros as nombre_personalizado

# En lugar de escribir parametros.CONSTANTE, escribimos
# nombre_personalizado.CONSTANTE, por ejemplo:
# variable = nombre_personalizado.NUM_BARCOS
# print(variable)

# Forma 3:
#from parametros import CONSTANTE

# Con esta forma, debemos mencionar cada constante que queramos importar
# por ejemplo:
#from parametros import NUM_BARCOS
# Luego, lo llamaríamos así:
# variable = NUM_BARCOS
# print(variable)

# Finalmente, un ejemplo de cómo usar la función print_tablero():
from tablero import print_tablero

tablero_enemigo = [['X', ' ', 'X'], [' ', ' ', ' '], ['F', ' ', ' ']]
tablero_propio = [['B', ' ', ' '], ['B', ' ', ' '], [' ', ' ', 'B']]
print_tablero(tablero_enemigo, tablero_propio)
Пример #14
0
    while decision_usuario_inicio == "1":
        decision_usuario_juego, letra, numero, letras_posibles = menu_de_juego.menu_de_juego(
            N, M)
        juego.letra, juego.numero = letra, numero

        # Descubrir una baldosa.
        if decision_usuario_juego == "1":
            turno = juego.turno()
            ganador = juego.ganador()
            puntaje = juego.puntaje()
            if turno == False:
                juego.guardar_ranking(str(puntaje))
                exit()
            if ganador == True:
                juego.guardar_ranking(str(puntaje))
                tablero.print_tablero(tablero_con_numeros_y_legos, True)
                exit()

        # Guardar la partida.
        if decision_usuario_juego == "2":
            juego.guardar()
            puntaje = juego.puntaje()

        # Salir de la partida con guardar.
        if decision_usuario_juego == "3":
            juego.guardar()
            puntaje = juego.puntaje()
            exit()

        # Salir de la partida sin guardar.
        if decision_usuario_juego == "4":
Пример #15
0
                          tablero_lista, usuario)
         menu = 0
 if accion_2 == "2":
     menu = 0
     os.system('cls' if os.name == 'nt' else 'clear')
 elif accion_2 == "3":
     os.system('cls' if os.name == 'nt' else 'clear')
     mj.guardar_partida(usuario, casillas_disponibles, ancho, alto,
                        coordenadas_legos, tablero_lista)
     os.system('cls' if os.name == 'nt' else 'clear')
 elif accion_2 == "4":
     guardado_valido = False
     while not guardado_valido:
         lista_opciones = ["0", "1"]
         print("\n\t Tablero:\n")
         tab.print_tablero(tablero_lista)
         print(
             "\nEsta es la partida que se esta abandonando, ¿desea guardar?"
         )
         print("\nElija una entre las siguientes opciones:")
         print("\n[0] Guardar.")
         print("[1] No guardar.")
         print("\nSALIENDO...")
         guardado = input("Ingrese el número aquí: ")
         os.system('cls' if os.name == 'nt' else 'clear')
         if (guardado.isdigit() is False) or (guardado
                                              not in lista_opciones):
             print(
                 "\nALERTA: Ingresó un número inválido. Intente nuevamente."
             )
         else:
Пример #16
0
def crear_tablero(N,M):
    # N: largo tablero (filas)
    # M: ancho tablero (columnas)

    cantidad_celdas = int(N) * int(M)
    cantidad_legos = math.ceil(int(N) * int(M) * parametros.PROB_LEGO)

    lista_de_legos_y_espacios = []
    indice = 0
    while indice < cantidad_legos:
        lista_de_legos_y_espacios.append("L")
        indice += 1

    indice = 0
    while indice < (cantidad_celdas - cantidad_legos):
        lista_de_legos_y_espacios.append(" ")
        indice +=1


    random.shuffle(lista_de_legos_y_espacios)

    lista_de_espacios = []
    for indice in lista_de_legos_y_espacios:
        if indice == "L":
            lista_de_espacios.append(" ")
        else:
            lista_de_espacios.append(" ")


### Lista de listas de espacios y L

    tablero_con_legos = []
    i = 0
    while i < (int(N) * int(M)):
        tablero_con_legos.append(lista_de_legos_y_espacios[i:i + int(M)])
        i += int(M)


### Lista de listas de solo espacios

    tablero_sin_legos = []
    i = 0
    while i < (int(N) * int(M)):
        tablero_sin_legos.append(lista_de_espacios[i:i + int(M)])
        i += int(M)


### Cuántos legos hay alrededor de cada baldosa, exceptuando las baldosas que tienen un lego
    lista_con_numeros_y_legos = []

    i = 0
    for i in range(int(N)):
        j = 0
        for j in range(int(M)):
            #esquina superioir izquierda:
            if i == 0 and j  == 0:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #esquina superior derecha:
            if i == 0 and j == int(M) - 1:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #esquina inferior izquierda:
            if i == int(N) - 1 and j == 0:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i - 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j + 1] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #esquina inferior derecha:
            if i == int(N) - 1 and j == int(M) - 1:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i - 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j - 1] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #barra lateral izquierda:
            if i != 0 and i != int(N) - 1 and j == 0:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i - 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #barra lateral derecha:
            if i != 0 and i != int(N) - 1 and j == int(M) - 1:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i - 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #barra superior:
            if i == 0 and j != 0 and j != int(M) - 1:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j + 1] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #barra inferior:
            if i == int(N) - 1 and j != 0 and j != int(M) - 1:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j + 1] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            #centro sin bordes:
            if i != 0 and i != int(N) - 1 and j != 0 and j != int(M) - 1:
                legos_alrededor = 0
                if tablero_con_legos[i][j] == " ":
                    if tablero_con_legos[i - 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i - 1][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i][j + 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j - 1] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j] == "L":
                        legos_alrededor += 1
                    if tablero_con_legos[i + 1][j + 1] == "L":
                        legos_alrededor += 1
                    else:
                        legos_alrededor = legos_alrededor

                    lista_con_numeros_y_legos.append(str(legos_alrededor))
                else:
                    lista_con_numeros_y_legos.append("L")

            j += 1
        i += 1


### Lista de listas con los números y L correspondientes

    tablero_con_numeros_y_legos = []
    i = 0
    while i < (int(N) * int(M)):
        tablero_con_numeros_y_legos.append(lista_con_numeros_y_legos[i:i + int(M)])
        i += int(M)


    tablero.print_tablero(tablero_sin_legos, True)

    return tablero_con_legos, tablero_sin_legos, tablero_con_numeros_y_legos