Laboratorio informática industrial 5

Dependencies:   mbed

Files at this revision

API Documentation at this revision

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
--- 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;
+        }
     }
 }
+