Gabriel Aviña
/
Laboratorio5
Laboratorio informática industrial 5
Revision 1:bc801083d70a, committed 2014-03-27
- Comitter:
- elchef
- Date:
- Thu Mar 27 05:12:46 2014 +0000
- Parent:
- 0:ab62d30dacdc
- Commit message:
- Lol;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r ab62d30dacdc -r bc801083d70a main.cpp --- a/main.cpp Wed Mar 26 23:24:11 2014 +0000 +++ b/main.cpp Thu Mar 27 05:12:46 2014 +0000 @@ -1,17 +1,23 @@ +/*Este es el código de un juego donde 2 jugadores tienen el objetivo de picar un botón mientras un led se encuentre encendido. +El led se encuentra encendido durante un tiempo generado aleatoriamente por eso el uso de una función rand(). +Se usan estructuras para el puntaje de ambos jugadores, un timer para leer si uno de los dos botones fue presionado,el led integrado de la freedom como indicador. +Al presionar un botón se realiza una interrupción del código y se apaga el led, eso genera que el puntaje del jugador aumente y se imprima en un display de 7 segmentos. +Si se desea reiniciar el juego se puede oprimir un tercer botón de reseteo o se reinicia cuando cualquier jugador llegue al puntaje de 5.*/ + #include "mbed.h" struct players { - char name; int score; } player1, player2; DigitalOut myled(LED3); -BusOut Display1 (D4, D5, D8, D7, D6, D3, D2); -BusOut Display2 (PTD2, PTD3, PTE1, PTE0, PTD1, PTD0, PTB0); +BusOut Display1 (PTC8, PTA5, PTA12, PTD4, PTA2, PTA1); //G,f,E,... +BusOut Display2 (PTC9, PTA13, PTD5, PTD0, PTD2, PTD3, PTD1);//G,f,E,. InterruptIn Bplayer1 (PTC2); InterruptIn Bplayer2 (PTC3); DigitalIn Boton3 (PTC4); -int numero; +int numero_rand; +int juegos = 0; Timer tiempo; void Player1Score() @@ -72,28 +78,26 @@ { tiempo.start(); srand (time(NULL)); - player1.name = 'A'; - player2.name = 'B'; - numero = rand() % 10 + 1; + numero_rand = rand() % 10 + 1; myled=1; + Bplayer1.rise(&Player1Score); + Bplayer2.rise(&Player2Score); + while(1) { - while(1) { - Bplayer1.rise(&Player1Score); - Bplayer2.rise(&Player2Score); - player1.name = 'A'; - player2.name = 'B'; player1.score= 0; player2.score = 0; PrintDisplay(player1.score, player2.score); - while(tiempo.read() >= numero) { - myled=1; - } - if((player1.score || player2.score) == 10) { - player1.score= 0; - player2.score = 0; + while(tiempo.read() >= numero_rand) { + myled=0; + } if(Boton3 == 1) { return 0; } + if((player1.score || player2.score) == 5) { + player1.score= 0; + player2.score = 0; + } } } +