def nuevosJugadores(listajugadores):
    numeronuevosJugadores = int(
        prints.colorinput("Cuantos jugadores se van a añadir?"))
    while (len(listajugadores)) + numeronuevosJugadores > 7:
        prints.colorerror("    ⚠  El máximo son 7 jugadores.")
        numeronuevosJugadores = int(
            prints.colorinput("Cuantos jugadores se van a añadir?"))
    listajugadores.extend(nombreJugadores(numeronuevosJugadores))
    dineroJugadores(listajugadores[-numeronuevosJugadores:])
def cantidadJugadores():
    numeroJugadores = prints.colorinput(
        "Cuantos jugadores vais a entrar? [1-7]")
    while numeroJugadores not in ["1", "2", "3", "4", "5", "6", "7"]:
        limpiarTerminal()
        prints.creando()
        prints.colorerror("\n    ⚠  Has de seleccionar un número del 1 al 7.")
        numeroJugadores = prints.colorinput(
            "Cuantos jugadores vais a entrar? [1-7]")
    return numeroJugadores
def dineroBanca(listabanca):
    dineroBanca = int(
        prints.colorinput("Cuanto dinero quieres que tenga la banca?"))
    while dineroBanca < 50:
        prints.colorerror(
            "    ⚠  La banca no tiene suficiente dinero, necesita minimo 50.")
        dineroBanca = int(
            prints.colorinput("Cuanto dinero quieres que tenga la banca?"))
    listabanca.clear()
    listabanca.append(dineroBanca)
def modificarBarajas(baraja):
    baraja_final = int(
        prints.colorinput(
            "Con cuantas barajas quieres jugar? [Recomendado: 8]"))
    while baraja_final < 1:  # Verificar que haya almenos 1 baraja para jugar
        prints.colorerror("    ⚠  Has de jugar como mínimo con 1 baraja.")
        baraja_final = int(
            prints.colorinput(
                "Con cuantas barajas quieres jugar? [Recomendado: 8]"))
    return baraja_final
def preguntaUnaCartaMas(jugador):
    respuesta = prints.colorinput(
        f"Quieres una carta mas {jugador}? [ si / NO ]")
    while respuesta not in [
            "si", "no", "SI", "NO", "Si", "No", "sí", "SÍ", "Sí", ""
    ]:
        prints.colorerror("    ⚠  Porfavor escriba si o no")
        respuesta = prints.colorinput(
            f"Quieres una carta mas {jugador}? [ si / NO ]")
    return respuesta
def comprobarOpcion(menu, lista, variable, opcion, listabanca, tasa_normal,
                    tasa_blackjack, baraja):
    while opcion not in lista:
        limpiarTerminal()
        if menu == "opciones":
            prints.opciones(listabanca[0], tasa_normal, tasa_blackjack, baraja)
        else:
            prints.inicio()
        prints.colorerror("    ⚠  Esta opción no está disponible")
        opcion = prints.colorinput(f"Que deseas hacer? {variable}")
    return opcion
def valorCartas(listajugadores, listabanca):
    apuesta = listajugadores[2]
    valormano = calcularValorMano(listajugadores)
    if listajugadores[-1] != listajugadores[3]:
        del listajugadores[4]
    listajugadores.append(valormano)
    if valormano > 21:
        prints.colorerror("\n   !!! Tu puntuación es mayor a 21.")
        dinerojugador = (listajugadores.pop(1)) - apuesta
        listajugadores.insert(1, dinerojugador)
        dineroBanca = listabanca.pop(0) + apuesta
        listabanca.insert(0, dineroBanca)
        pasado = True
        prints.colorinput("Pulsa ENTER para abandonar la mesa.")
    else:
        pasado = False
    return pasado
def apuestaJugadores(listajugadores, i):
    respuesta = (prints.colorinput(
        f"Vas a doblar la apuesta inicial {listajugadores[i][0]}? [ si / NO ]")
                 )
    while respuesta not in [
            "si", "no", "SI", "NO", "Si", "No", "sí", "SÍ", "Sí", ""
    ]:
        prints.colorerror("    ⚠  Porfavor escriba si o no")
        respuesta = (prints.colorinput(
            f"Vas a doblar la apuesta inicial {listajugadores[i][0]}? [ si / NO ]"
        ))
    if respuesta == "si":
        print(
            f"   >>> Muy Bien! Doblemos la apuesta pues {listajugadores[i][0]}"
        )
        apuesta = listajugadores[i][2]
        doblar = apuesta + apuesta
        del listajugadores[i][2]
        listajugadores[i].insert(2, doblar)
def apuestaInicialJugadores(listajugadores):
    print("   >>> Hagan sus apuestas!\n")
    for i in range(len(listajugadores)):
        apuesta = int(
            prints.colorinput(
                f"Introducir apuesta de {listajugadores[i][0]}: [ Dinero → {listajugadores[i][1]} ]"
            ))
        while apuesta > listajugadores[i][1] or apuesta < 1:
            if apuesta > listajugadores[i][1]:
                prints.colorerror(
                    f"    ⚠  No puedes apostar mas dinero del que tienes en mesa!"
                )
            else:
                prints.colorerror(
                    f"    ⚠  Recuerda que la apuesta minima es de 1 euro!")
            apuesta = int(
                prints.colorinput(
                    f"Introducir apuesta de {listajugadores[i][0]} [ Dinero → {listajugadores[i][1]} ]"
                ))
        listajugadores[i].append(apuesta)
def gestFinal(listajugadores, i, listajugadoressaliendo, opc):
    if listajugadores[i][1] <= 0:
        opcion = prints.colorinput(
            f"{listajugadores[i][0]}, ¿deseas {opc} la partida o añadir dinero? [ {opc} / añadir ]"
        )
        while opcion not in ["%s" % (opc), "añadir"]:
            prints.colorerror("    ⚠  Esta opción no está disponible")
            opcion = prints.colorinput(
                f"{listajugadores[i][0]}, ¿deseas {opc} la partida o añadir dinero? [ {opc} / añadir ]"
            )
    else:
        opcion = prints.colorinput(
            f"{listajugadores[i][0]}, ¿deseas {opc} la partida, añadir dinero, o  continuar? [ {opc} / añadir / ENTER ]"
        )
    if opcion == "%s" % (opc):
        print(f"   >>> ¡Vale! Hasta la proxima {listajugadores[i][0]}!")
        listajugadoressaliendo.append(i)
    elif opcion == "añadir":
        añadirDinero(listajugadores, i)
    else:
        ("   >>> ¡Sigamos asi pues!")
    return opcion