Beispiel #1
0
    def inicializarJuego(self):
        print(
            "En esta opción juegan Dos Jugadores. El JUGADOR Nº1 tendrá que introducir "
            + "un número entre " + str(self._nivelJuego.getMIN()) + " y " +
            str(self._nivelJuego.getMAX()) +
            ", y el JUGADOR Nº2 tendrá que adivinarlo \n" +
            "Así que allá vamos :)\n")
        print("Turno para el JUGADOR Nº1: ")
        # El primer jugador escribe el numero
        aux = getpass.getpass(
            "Introduce un número entre " + str(self._nivelJuego.getMIN()) +
            " y " + str(self._nivelJuego.getMAX()) +
            ".\nNota: El número que vas a introducir no " +
            "se mostrará por pantalla, así tu contrincante no podrá verlo :) ")
        # Se comprueba que el numero introducido es correcto. Es decir, si el valor
        # introducido es un numero y si, ademas, esta en el intervalo correcto.
        # Además se le añade el parámetro False o True para saber si es un número
        # oculto o no
        # Esta funcion compruebaNumero devuelve el numero correcto
        num = Utiles.compruebaNumero(self._nivelJuego.getMIN(),
                                     self._nivelJuego.getMAX(), aux, True)
        print("Muy bien! Vamos a ver si el JUGADOR 2 puede adivinarlo :D \n")

        print("---*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--- \n")

        print("Turno para el JUGADOR Nº2: ")
        print("El JUGADOR Nº1 ha pensado en un número entre " +
              str(self._nivelJuego.getMIN()) + " y " +
              str(self._nivelJuego.getMAX()) + " ¿Podrías adivinarlo en " +
              str(self._nivelJuego.getIntentos()) + " intentos?")

        return num
Beispiel #2
0
 def opcionSeleccionada(self, n1, n2):
     opcion = input("Selecciona una de las opciones anteriores: ")
     # Se comprueba que el numero introducido es correcto. Es decir, si el valor 
     # introducido es un numero y si, ademas, esta en el intervalo correcto.
     # Además se le añade el parámetro False o True para saber si es un número 
     # oculto o no
     # Esta funcion compruebaNumero devuelve el numero correcto
     return Utiles.compruebaNumero(n1, n2, opcion, False)
Beispiel #3
0
    def jugar(self):
        num = self.inicializarJuego()

        intentos = self._nivelJuego.getIntentos()

        # Bucle que se repite tantas veces como intentos tenga el jugador
        # Depende de la dificultad del nivel
        while (intentos > 0):
            # Numero de iteraciones (intentos)
            intentos -= 1
            self._intentos = self._nivelJuego.getIntentos() - intentos
            print(" --- Intento nº " + str(self._intentos) + " --- \n")

            if (intentos == 0):
                print("Te queda un intento. ¿Quieres que te demos una pista? ")
                p = input(
                    "Escribe 'SI' si quieres la pista y 'NO' en caso contrario: "
                )

                if (Utiles.compruebaString(p, "SI", "NO")):
                    print(self.darPista(num))

            aux = input("Escribe un número: ")  # El usuario escribe un numero
            # Utiliza el modulo comprobaciones donde se hace una comprobacion del
            # valor introducido por el usuario. Es decir, si el valor introducido
            # es un numero y si, ademas, esta en el intervalo correcto.
            # Además se le añade el parámetro False o True para saber si es un número
            # oculto o no
            # Esta funcion compruebaNumero devuelve el numero correcto
            numero = Utiles.compruebaNumero(self._nivelJuego.getMIN(),
                                            self._nivelJuego.getMAX(), aux,
                                            False)

            # Si el numero escrito es igual el numero pensado (aleatorio)
            if (numero == num):
                # El jugador ha ganado
                self._ha_ganado = True
                # Se sale del bucle
                break

            # Si el numero escrito es mayor que el numero pensado (aleatorio)
            if (numero > num):
                print(
                    "Uy :( Has escrito un número mayor que el que he pensado. ",
                    end="")
            # Si el numero escrito es menor que el numero pensado (aleatorio)
            else:
                print(
                    "Uy :( Has escrito un número menor que el que he pensado. ",
                    end="")

            # Si aun quedan intentos se le pide al jugador que lo intente una vez mas
            if (intentos > 0):
                print("Inténtalo de nuevo! \n")

        # Una vez fuera del bucle se comprueba si el usuario ha ganado o no
        # Si ha ganado
        if (self._ha_ganado):
            # Se le felicita
            print("\nENHORABUENA! Has ganado! :D")
        # Si no ha ganado
        else:
            # Se le muestra al jugador el numero aleatorio que tenia que adivinar
            print("\n\nLo siento. Has agotado todos los intentos :(")
            print("El número que tenías que adivinar era: " + str(num))
            print("Más suerte en la próxima vez")