Arturo Rios Ramos
/
STM32F103C8_Adivina
El programa cuenta los intentos ingresados por el usuario para adivinar el numero
Diff: main.cpp
- 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! +-------------------------------------------------------------------------------- |