Juego de adivinanzas de números usando Perl

El juego de adivinanzas de números se trata de adivinar el número elegido al azar por la computadora en un número determinado de oportunidades.

Funciones a utilizar:

  1. rand n : Esta función solía generar un número aleatorio entre 0 y n. Y esta función siempre devuelve el número de coma flotante. Entonces su resultado se convierte a un valor entero explícitamente.
  2. Chomp() : esta función se usa para eliminar el carácter de nueva línea de la entrada del usuario.

Explicación:
En el programa, el bucle while se ejecuta hasta que el número adivinado por el usuario es igual al número generado o el número de intentos es menor que el número máximo de posibilidades. Si el número de intentos es mayor que el número de oportunidades, el juego se detiene y el usuario pierde el juego. Si el usuario adivina el número correcto en un número determinado de oportunidades, entonces él o ella ganará. Después de cada suposición hecha por el usuario, el programa informa al usuario si el número adivinado era menor o mayor que el número generado real.
En este código, inicialmente, la función rand elige un número aleatorio como x. La función (rand k) encuentra un número aleatorio entre 0 y k. Como este número aleatorio es un número de coma flotante, entonces «int»se utiliza para convertirlo explícitamente a un número entero. x almacena el número entero. Al usuario se le da un número específico de oportunidades para adivinar el número si las posibilidades exceden las que el usuario adivina que el usuario perdería.

A continuación se muestra la implementación:

# Number Guessing Game implementation 
# using Perl Programming 
  
print "Number guessing game\n";
  
# rand function to generate the
# random number b/w 0 to 10
# which is converted to integer
# and store to the variable "x"
$x = int rand 10;
  
# variable to count the correct
# number of chances
$correct = 0;
  
# number of chances to be given
# to the user to guess number
# the number or it is the of
# inputs given by user into 
# input box here number of 
# chances are 4
$chances = 4;
$n = 0;
  
print "Guess a number (between 0 and 10): \n";
      
# while loop containing variable n
# which is used as counter value 
# variable chance
while($n < $chances)
{
      
    # Enter a number between 0 to 10
    # Extract the number from input
    # and remove newline character
    chomp($userinput = <STDIN>);
      
      
    # To check whether user provide
    # any input or not
    if($userinput != "blank")
    {
          
        # Compare the user entered number 
        # with the number to be guessed 
        if($x == $userinput)
        {
              
            # if number entered by user 
            # is same as the generated 
            # number by rand function then 
            # break from loop using loop
            # control statement "last"
            $correct = 1; 
            last;
        }
          
        # Check if the user entered 
        # number is smaller than 
        # the generated number
        elsif($x > $userinput)
        {
            print "Your guess was too low,"; 
            print " guess a higher number than ${userinput}\n";
        }
          
        # The user entered number is 
        # greater than the generated
        # number
        else
        {
            print "Your guess was too high,";
            print " guess a lower number than ${userinput}\n";
        }
          
        # Number of chances given 
        # to user increases by one
        $n++;
      
}
    else
    {
        $chances--;
    }
}
      
    # Check whether the user 
    # guessed the correct number
    if($correct == 1)
    {
            print "You Guessed Correct!"; 
            print " The number was $x";
    }
    else
    {
            print "It was actually ${x}.";
    }
  
  

Entradas:

5
6
8
9

Producción:

Number guessing game
Guess a number (between 0 and 10): 
Your guess was too low, guess a higher number than 5
Your guess was too low, guess a higher number than 6
Your guess was too low, guess a higher number than 8
You Guessed Correct! The number was 9

Nota: En el programa anterior, el usuario puede modificar el valor de la función rand para aumentar el rango de números en este juego y también puede aumentar el número de posibilidades al aumentar el valor de la variable de probabilidad.

Publicación traducida automáticamente

Artículo escrito por SrijaPandey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *