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