#include <iostream.h>
#include <stdlib.h>

/**
  * Programa Número Mágico Versión 1
  * Este programa representa un jueguito de adivinar el número...
  * Se deberá adivinar un número entre 1..10 en tres intentos
  * si el usuario lo logra gana, de lo contrario pierde
  * Ejemplo de Uso de Estructuras de Control
  * Autor: Carlos Roberto Arias
  * Elaborado para impartir clase de Programación III
  * Universidad Tecnológica Centroamericana
  * 2003
  */


int main()
{
   // Declaración de Variables a utilizar
   int magic,        // Representa el número a ser adivinado
       curGuess;     // Representa el intento actual del usuario
   bool won = false; // Representa una bandera para saber si ha ganado
   
   cout<<"Bienvenido al Programa del Número Mágico"<<endl<<endl<<endl
       <<"Favor Adivine un Número de1 1 al 10"<<endl
       <<"Tendrá 3 Intentos para Lograrlo"<<endl<<endl
       <<"----------------------------------------"<<endl;
   
   // Cálculo del Número Mágico...
   magic = rand() % 10 + 1;
   /**
     * la función int rand(), es una función declarada en el archivo de
     * cabecera stdlib.h, lo que hace es devolver un número al azar entre
     * 0 y MAXINT (El entero más grande que soporte el compilador
     * Dado que queremos en realidad un número entre 1..10, entonces calculamos
     * el módulo del numero al azar. De esta manera aseguramos que el resultado
     * de esa operación sea un número entre 0..9 Todavía no tenemos lo que
     * deseamos, entonces le sumamos uno.
     */
   
   // Ciclo for para controlar el número de intentos...
   for (int curTry = 0; curTry < 3; curTry++)
   {
       cout<<"Este es su Intento #"<<curTry+1<<": ";
       cin>>curGuess;
       if (curGuess == magic) // Ha Ganado
       {
           won = true;
           break;
       }
   }
   if (won) // Si se activo la bandera... Es que ganó
       cout<<"Usted Ha Ganado... Yujuuuuu!"<<endl;
   else
       cout<<"Usted Ha Perdido... Buuuujuu!"<<endl;
   
   cout<<"Gracias por Participar!!!"<<endl
       <<"Adios"<<endl<<endl;
   
   system("PAUSE");
   return 0;
}
