El programa cuenta los intentos ingresados por el usuario para adivinar el numero

Dependencies:   mbed

Revision:
2:f7a3163071b1
Parent:
0:f680c41c1640
--- a/main.cpp	Thu Sep 05 23:29:04 2019 +0000
+++ b/main.cpp	Fri Sep 13 06:53:02 2019 +0000
@@ -1,28 +1,29 @@
 /* ###########################################################################
 **    Archivo        : main.c
-**    Proyecto       : STM32-103C8_Adivina
+**    Proyecto       : STM32-103C8_AdivinaV2
 **    Procesador     : STM32F103C8
 **    Herramienta    : Mbed
 **    Version        : Driver 01.01
 **    Compilador     : GNU C Compiler
-**    Fecha/Hora     : 14-07-2015, 11:48, # CodeGen: 0
+**    Fecha/Hora     : 13-09-2019 01:30, # CodeGen: 0
 **    Descripción    :
-**         Este proyecto muestra la configuración y uso de la Terminal Serial
-**         This module contains user's application code.
+**         Este proyecto recibe un numero predefinido por el administrador para 
+**         que despues un usuario intente adivinarlo con un limite de intetos
+**         los cuales ya estas preestablecidos por el administrador.
 **   Componentes     : Timer, etc .
 **   Configuraciones : Se puede seleccionar entre diferentes velocodades de 
 **                     transmisión
 **   Autores         :
 **         ATEAM Development Group:
-**          - Antulio Morgado Valle
+**          - Antulio Morgado Valle.
+**          - Marcelo Padron Javier 4CV2.
 **
 **   Versión        : Beta
-**   Revisión       : A
+**   Revisión       : B
 **   Release        : 0
 **   Bugs & Fixes   :
-**   Date           : 20/10/2019
-**                    Ejemplpo del Hola Mundo
-**                    27/09/2010 
+**   Date           : 13/09/2019
+**                   
 **                    
 **
 ** ###########################################################################*/
@@ -84,35 +85,39 @@
 {                   // Inicialización de variables, puertos e interrupciones
 confSysClock();     // Configure system clock (72MHz HSE clock, 48MHz USB clock)
 Setup();            // Inicialización del sistema
-    terminal.printf ("ADIVINA\n\r");
-    rojo  = off;
-    verde = off;
-
     while(TRUE) 
     {
-Inicio:     terminal.printf(" DIGITE UN NUMERO SECRETO DE 0 A 9 \r\n");
-            char secreto = terminal.getc();
+Primero:    int numero = 5; //Primero vamos a limitar el numero de intentos
+            if( numero > 0) //Colocaremos un condicional al inicio de nuestro programa para que estemos regresando a este punto.
+            {
+            terminal.printf("\n DIGITE UN NUMERO SECRETO DE 0 A 9 \r\n");
+            int secreto = terminal.getc();
             rojo = on;
-            verde = on;          
- Intenta:   terminal.printf(" ADIVINA EL NUMERO: \r\n");
-            char respuesta = terminal.getc();
+            verde = on;        
+Intenta:    terminal.printf("\n Solo tienes %i intentos para adividnar!\r\n", numero);
+            terminal.printf("\nADIVINA EL NUMERO: \r\n");
+            int respuesta = terminal.getc();
+            terminal.printf("\nEL NUMERO QUE INGRESASTE FUE \r\n"); //Imprimimos la respuesta como parte de las condiciones que nos pide el profesor.
+            terminal.putc ( respuesta );
             if( secreto < respuesta  ) 
             {
-                terminal.printf(" Es mas Bajo  \r\n");
+                terminal.printf(" \n\nEl numero que ingresaste es mas alto!  \r\n");
                 rojo = on;
-                verde = off;               
+                verde = off;
+                numero = numero - 1;               
                 goto Intenta;
             }
             if( secreto > respuesta  ) 
             {
-                terminal.printf(" Es mas Alto  \r\n");
+                terminal.printf(" \n\nEl numero que ingresaste es mas bajo!  \r\n");
                 rojo  = off;
                 verde = on;
+                numero = numero - 1 ; 
                 goto Intenta;
             }
             if( secreto == respuesta ) 
             {
-                terminal.printf(" CORRECTO!, Es igual a: %c \r\n",secreto);
+                terminal.printf(" \n\nFelicidades!, La respuesta es: %i \r\n",secreto);
                 rojo  = off;
                 verde = on;
                 wait(1.0);
@@ -122,7 +127,7 @@
                 rojo  = off;
                 verde = on;
                 wait(1.0);
-                terminal.printf(" Eres un Genio !!!  \r\n");
+                terminal.printf("Felicidades, realmente eres un genio! \r\n");
                 wait(1.0);
                 rojo  = on;
                 verde = off;
@@ -130,16 +135,26 @@
                 rojo  = off;
                 verde = on;
             }
+            
         terminal.printf(" Quieres intentarlo de nuevo?  \r\n");
         terminal.printf(" 0 = No \r\n 1 = Si  \r\n");
-            char opcion = terminal.getc();
-            if( opcion == '1' ) goto Inicio;
+            char opcion = terminal.getc();  
+            if( opcion == '1' )
+            {
+                 numero = numero - 1; 
+                 goto Primero;
+                 }
             else if( opcion == '0' )
             {
-                terminal.printf(" Eso es todo Amigos!  \r\n");
+                terminal.printf("El numero de intentos realizados fueron %i!\r\n", numero);
                 break;
             }
         }
+        else if ( numero == 0)
+        {
+            terminal.printf(" Lo lamento, excediste el numero de intentos!\r\n");
+        }
+        }
 }
 
 /* END main */
@@ -162,7 +177,7 @@
 {
 //  terminal.baud(Baud_Rate);         // Se configura la velocidad de transmisión e inicia la comunicación serial.    
   terminal.baud(115200);         // Se configura la velocidad de transmisión e inicia la comunicación serial.  
-  terminal.printf(" System is Wake Up!.\n\r");
+  terminal.printf(" Bienvenido Amo!\n\r");
 }              
 
 /* END routines */   
@@ -170,15 +185,7 @@
 /* END program */                
 
 /* END documentation */ 
-/*
-+--------------------------------------------------------------------------------
-|                               EJERCICIO
-|
-| 1.-   Este programa tambien acepta letras o caracteres?
-| 2.-   Modificar este programa para: 
-|       a) Que solo acepte números
-|       b) Agregar un contador de Número de Intentos 
-|       
+/*     
 +--------------------------------------------------------------------------------
 |
 |                               EXAMEN
@@ -187,9 +194,7 @@
 |       adivinar el número secreto.
 | 2.-   Modificar el programa para haga eco con la respuesta que le introducimos.
 |
-| 3.-   Modificar el programa para que el número secreto sea generado aleatoriamente.
-|       a) Generar un Número Pseudo Aleatorio Mediante el Ticker
-|       b) Utilizando la función RANDOMIZE
+| 3.-   Modificar el programa para que te limite el numero de intentos.
 | Suerte!
 +--------------------------------------------------------------------------------
 |