Juego de adivinanzas de números en C

Dado un número entero N . Un juego de adivinanzas de números es un juego de adivinanzas simple en el que se supone que un usuario debe adivinar un número entre 0 y N en un máximo de 10 intentos. El juego terminará después de 10 intentos y si el jugador no logra adivinar el número, entonces pierde el juego.

Ejemplos:

N = 100
Número elegido: 20 

Máquina: Adivina un número entre 1 y N
Jugador: 30
Máquina: ¡Número más bajo por favor!
Jugador: 15
Máquina: ¡Número más alto, por favor!
Jugador: 20
Máquina: Adivinaste el número en 3 intentos
Ahora, termina el juego.

Planteamiento: Se pueden seguir los siguientes pasos para diseñar el juego:

  • Genere un número aleatorio entre 0 y N .
  • Luego itere del 1 al 10 y verifique si el número de entrada es igual al número supuesto o no.
  • Si es así, entonces el jugador gana el juego.
  • De lo contrario, termine el juego después de 10 intentos.

A continuación se muestra la implementación del enfoque anterior:

C

// C program for the above approach
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
// Function that generate a number in
// the range [1, N] and checks if the
// generated number is the same as the
// guessed number or not
void guess(int N)
{
    int number, guess, numberofguess = 0;
 
    //Seed random number generator
    srand(time(NULL));
 
    // Generate a random number
    number = rand() % N;
 
    printf("Guess a number between"
           " 1 and %d\n",
           N);
 
    // Using a do-while loop that will
    // work until user guesses
    // the correct number
    do {
 
        if (numberofguess > 9) {
            printf("\nYou Loose!\n");
            break;
        }
 
        // Input by user
        scanf("%d", &guess);
 
        // When user guesses lower
        // than actual number
        if (guess > number)
 
        {
            printf("Lower number "
                   "please!\n");
            numberofguess++;
        }
 
        // When user guesses higher
        // than actual number
        else if (number > guess)
 
        {
            printf("Higher number"
                   " please!\n");
            numberofguess++;
        }
 
        // Printing number of times
        // user has taken to guess
        // the number
        else
            printf("You guessed the"
                   " number in %d "
                   "attempts!\n",
                   numberofguess);
 
    } while (guess != number);
}
 
// Driver Code
int main()
{
    int N = 100;
 
    // Function call
    guess(N);
 
    return 0;
}

Producción:

Publicación traducida automáticamente

Artículo escrito por imsushant12 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 *