
El programa principal guarda un número secreto y lo compara contra otro leído del teclado de la terminal serial. Tienes n intentos para adivinar // el numero secreto.
Dependencies: mbed
main.cpp@2:10526640c007, 2014-03-26 (annotated)
- Committer:
- Antulius
- Date:
- Wed Mar 26 03:27:11 2014 +0000
- Revision:
- 2:10526640c007
- Parent:
- 1:ad933fa229d3
- Child:
- 3:10e172076e10
El programa principal guarda un n?mero secreto y lo compara contra otro le?do del teclado de la terminal serial. Tienes n intentos para adivinar el numero secreto.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Antulius | 0:4c9659cbe94c | 1 | //******************************************************************************* |
Antulius | 0:4c9659cbe94c | 2 | // |
Antulius | 0:4c9659cbe94c | 3 | // ARCHIVO: Adivina.cpp |
Antulius | 0:4c9659cbe94c | 4 | // |
Antulius | 1:ad933fa229d3 | 5 | // DISPOSITIVO: MKL25Z, MKL46Z |
Antulius | 0:4c9659cbe94c | 6 | // |
Antulius | 0:4c9659cbe94c | 7 | // HERRAMIENTA: mbed |
Antulius | 0:4c9659cbe94c | 8 | // |
Antulius | 0:4c9659cbe94c | 9 | // DESCRIPCION: El programa principal guarda un número secreto y lo compara |
Antulius | 2:10526640c007 | 10 | // contra otro leído del teclado. Tiene n intentos para adivinar |
Antulius | 0:4c9659cbe94c | 11 | // el numero secreto. |
Antulius | 0:4c9659cbe94c | 12 | // Este programa recibe un dato desde la terminal y lo compara |
Antulius | 0:4c9659cbe94c | 13 | // con datos subsecuentes enviados por la terminal para decidir |
Antulius | 0:4c9659cbe94c | 14 | // si el número es menor, igual o mayor al digitado. |
Antulius | 0:4c9659cbe94c | 15 | // |
Antulius | 0:4c9659cbe94c | 16 | // VERSION: 1.0 |
Antulius | 0:4c9659cbe94c | 17 | // |
Antulius | 0:4c9659cbe94c | 18 | // AUTOR(ES): Antulio Morgado Valle |
Antulius | 0:4c9659cbe94c | 19 | // |
Antulius | 0:4c9659cbe94c | 20 | // FECHA: 10/20/2014 |
Antulius | 0:4c9659cbe94c | 21 | // |
Antulius | 0:4c9659cbe94c | 22 | //******************************************************************************* |
Antulius | 0:4c9659cbe94c | 23 | #include "mbed.h" |
Antulius | 0:4c9659cbe94c | 24 | #include "Serial.h" |
Antulius | 0:4c9659cbe94c | 25 | DigitalOut verde (LED1); |
Antulius | 0:4c9659cbe94c | 26 | DigitalOut rojo(LED2); |
Antulius | 0:4c9659cbe94c | 27 | Serial pc_serial(USBTX, USBRX); |
Antulius | 0:4c9659cbe94c | 28 | //Serial pc_serial(PTE22, PTE23); |
Antulius | 0:4c9659cbe94c | 29 | |
Antulius | 0:4c9659cbe94c | 30 | #define on 0 |
Antulius | 0:4c9659cbe94c | 31 | #define off 1 |
Antulius | 0:4c9659cbe94c | 32 | |
Antulius | 0:4c9659cbe94c | 33 | //=============================================================================== |
Antulius | 0:4c9659cbe94c | 34 | // |
Antulius | 0:4c9659cbe94c | 35 | // P R O G R A M A P R I N C I P A L |
Antulius | 0:4c9659cbe94c | 36 | // |
Antulius | 0:4c9659cbe94c | 37 | //================================================================================ |
Antulius | 0:4c9659cbe94c | 38 | int main() { |
Antulius | 0:4c9659cbe94c | 39 | rojo = off; |
Antulius | 0:4c9659cbe94c | 40 | verde = off; |
Antulius | 0:4c9659cbe94c | 41 | pc_serial.baud(9600); |
Antulius | 0:4c9659cbe94c | 42 | while(1) |
Antulius | 0:4c9659cbe94c | 43 | { |
Antulius | 0:4c9659cbe94c | 44 | Inicio: pc_serial.printf(" DIGITE UN NUMERO SECRETO DE 0 A 9 \r\n"); |
Antulius | 0:4c9659cbe94c | 45 | char secreto = pc_serial.getc(); |
Antulius | 0:4c9659cbe94c | 46 | rojo = on; |
Antulius | 0:4c9659cbe94c | 47 | verde = on; |
Antulius | 0:4c9659cbe94c | 48 | Intenta: pc_serial.printf(" ADIVINA EL NUMERO, \r\n"); |
Antulius | 0:4c9659cbe94c | 49 | char respuesta = pc_serial.getc(); |
Antulius | 0:4c9659cbe94c | 50 | if( secreto < respuesta ) |
Antulius | 0:4c9659cbe94c | 51 | { |
Antulius | 0:4c9659cbe94c | 52 | pc_serial.printf(" Es mas Bajo \r\n"); |
Antulius | 0:4c9659cbe94c | 53 | rojo = on; |
Antulius | 0:4c9659cbe94c | 54 | verde = off; |
Antulius | 0:4c9659cbe94c | 55 | goto Intenta; |
Antulius | 0:4c9659cbe94c | 56 | } |
Antulius | 0:4c9659cbe94c | 57 | if( secreto > respuesta ) |
Antulius | 0:4c9659cbe94c | 58 | { |
Antulius | 0:4c9659cbe94c | 59 | pc_serial.printf(" Es mas Alto \r\n"); |
Antulius | 0:4c9659cbe94c | 60 | rojo = off; |
Antulius | 0:4c9659cbe94c | 61 | verde = on; |
Antulius | 0:4c9659cbe94c | 62 | goto Intenta; |
Antulius | 0:4c9659cbe94c | 63 | } |
Antulius | 0:4c9659cbe94c | 64 | if( secreto == respuesta ) |
Antulius | 0:4c9659cbe94c | 65 | { |
Antulius | 0:4c9659cbe94c | 66 | pc_serial.printf(" CORRECTO!, Es igual a: %c \r\n",secreto); |
Antulius | 0:4c9659cbe94c | 67 | rojo = off; |
Antulius | 0:4c9659cbe94c | 68 | verde = on; |
Antulius | 0:4c9659cbe94c | 69 | wait(1.0); |
Antulius | 0:4c9659cbe94c | 70 | rojo = off; |
Antulius | 0:4c9659cbe94c | 71 | verde = off; |
Antulius | 0:4c9659cbe94c | 72 | wait(1.0); |
Antulius | 0:4c9659cbe94c | 73 | rojo = off; |
Antulius | 0:4c9659cbe94c | 74 | verde = on; |
Antulius | 0:4c9659cbe94c | 75 | wait(1.0); |
Antulius | 0:4c9659cbe94c | 76 | pc_serial.printf(" Eres un Genio !!! \r\n"); |
Antulius | 0:4c9659cbe94c | 77 | wait(1.0); |
Antulius | 0:4c9659cbe94c | 78 | rojo = on; |
Antulius | 0:4c9659cbe94c | 79 | verde = off; |
Antulius | 0:4c9659cbe94c | 80 | wait(1.0); |
Antulius | 0:4c9659cbe94c | 81 | rojo = off; |
Antulius | 0:4c9659cbe94c | 82 | verde = on; |
Antulius | 0:4c9659cbe94c | 83 | } |
Antulius | 0:4c9659cbe94c | 84 | pc_serial.printf(" Quieres intentarlo de nuevo? \r\n"); |
Antulius | 0:4c9659cbe94c | 85 | pc_serial.printf(" 0 = No \r\n 1 = Si \r\n"); |
Antulius | 0:4c9659cbe94c | 86 | char opcion = pc_serial.getc(); |
Antulius | 0:4c9659cbe94c | 87 | if( opcion == '1' ) goto Inicio; |
Antulius | 0:4c9659cbe94c | 88 | else if( opcion == '0' ) |
Antulius | 0:4c9659cbe94c | 89 | { |
Antulius | 0:4c9659cbe94c | 90 | pc_serial.printf(" Eso es todo Amigos! \r\n"); |
Antulius | 0:4c9659cbe94c | 91 | break; |
Antulius | 0:4c9659cbe94c | 92 | } |
Antulius | 0:4c9659cbe94c | 93 | } |
Antulius | 0:4c9659cbe94c | 94 | |
Antulius | 0:4c9659cbe94c | 95 | } |
Antulius | 0:4c9659cbe94c | 96 | |
Antulius | 0:4c9659cbe94c | 97 | //-------------------------------------------------------------------------------- |
Antulius | 0:4c9659cbe94c | 98 | // EJERCICIO |
Antulius | 0:4c9659cbe94c | 99 | // |
Antulius | 0:4c9659cbe94c | 100 | // 1.- Este programa tambien acepta letras o caracteres? |
Antulius | 0:4c9659cbe94c | 101 | // 2.- Modificar este programa para: |
Antulius | 0:4c9659cbe94c | 102 | // a) Que solo acepte números |
Antulius | 0:4c9659cbe94c | 103 | // b) Agregar un contador de Número de Intentos |
Antulius | 0:4c9659cbe94c | 104 | // |
Antulius | 0:4c9659cbe94c | 105 | //-------------------------------------------------------------------------------- |
Antulius | 0:4c9659cbe94c | 106 | // |
Antulius | 0:4c9659cbe94c | 107 | // EXAMEN |
Antulius | 0:4c9659cbe94c | 108 | // |
Antulius | 0:4c9659cbe94c | 109 | // 1.- Modificar el programa para que despliegue el número de intentos para adivinar |
Antulius | 0:4c9659cbe94c | 110 | // el número secreto. |
Antulius | 0:4c9659cbe94c | 111 | // 2.- Modificar el programa para haga eco con la respuesta que le introducimos. |
Antulius | 0:4c9659cbe94c | 112 | // |
Antulius | 0:4c9659cbe94c | 113 | // 3.- Modificar el programa para que el número secreto sea generado aleatoriamente. |
Antulius | 1:ad933fa229d3 | 114 | // a) Generar un Número Pseudo Aleatorio Mediante el Ticker |
Antulius | 1:ad933fa229d3 | 115 | // b) Utilizando la función RANDOMIZE |
Antulius | 0:4c9659cbe94c | 116 | // Suerte! |
Antulius | 0:4c9659cbe94c | 117 | //-------------------------------------------------------------------------------- |
Antulius | 0:4c9659cbe94c | 118 | // |
Antulius | 0:4c9659cbe94c | 119 | // T H E A N T U L I U S T E A M |
Antulius | 0:4c9659cbe94c | 120 | // Research, Development, Systems Equipment, Support & Spare Parts I n c. |
Antulius | 0:4c9659cbe94c | 121 | // (C) Copyright 1989-2014, All rigths Reserved |
Antulius | 0:4c9659cbe94c | 122 | // |
Antulius | 0:4c9659cbe94c | 123 | // This program is licensed under rules of |
Antulius | 0:4c9659cbe94c | 124 | // THE BEANERS TECHNOLOGIES PROYECT |
Antulius | 0:4c9659cbe94c | 125 | //------------------------------------------------------------------------------- |