Francisco Perez / Mbed 2 deprecated Lab_5

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 BusOut dis_1(PTD5, PTA13, PTA1, PTD4, PTA12, PTD0, PTD2, PTA2); //displays
00004 BusOut dis_2(PTD5, PTA13, PTA1, PTD4, PTA12, PTD0, PTD2, PTA2);
00005 DigitalOut led_funciona(LED1);
00006 DigitalOut led_juego(PTB0);         //led del juego
00007 void apagar_led();
00008 void reset();
00009 DigitalIn b_player1(PTB1);        //boton p1
00010 DigitalIn b_player2(PTB1);        //boton p2
00011 InterruptIn b_reset(PTB2);              //reset
00012 Ticker tiempo;
00013 int tiempo_espera = 1;
00014 
00015 struct players{
00016     char nombre;
00017     int puntaje;
00018     };
00019 players jugador1 = {'a',0};
00020 players jugador2 = {'b',0};
00021 
00022 int main() {
00023     tiempo.attach(apagar_led, tiempo_espera);
00024     while(1) {
00025         b_reset.rise(reset);
00026         led_funciona = 0;
00027         
00028         /* Aquí debe de ir la función para hacer random el número, el numero random debe ser la variable tiempo_espera*/
00029         
00030         led_juego = 1;
00031         while(led_juego = 1){ 
00032             if(b_player1 == 1 && b_player2 == 0){
00033                  jugador1.puntaje += 1;
00034                  break;
00035                 }
00036             else if(b_player1 == 0 && b_player2 == 1){
00037                  jugador2.puntaje += 1;
00038                  break;
00039                 }
00040         }
00041        switch (jugador1.puntaje){
00042             case 0: 
00043                 dis_1 = 63;
00044                 break;
00045             case 1: 
00046                 dis_1 = 6;
00047                 break;
00048             case 2: 
00049                 dis_1 = 91;
00050                 break;
00051             case 3: 
00052                 dis_1 = 79;
00053                 break;
00054             case 4: 
00055                 dis_1 = 102;
00056                 break;
00057             case 5: 
00058                 dis_1 = 109;
00059                 break;
00060         } 
00061         switch (jugador2.puntaje){
00062             case 0: 
00063                 dis_2 = 63;
00064                 break;
00065             case 1: 
00066                 dis_2 = 6;
00067                 break;
00068             case 2: 
00069                 dis_2 = 91;
00070                 break;
00071             case 3: 
00072                 dis_2 = 79;
00073                 break;
00074             case 4: 
00075                 dis_2 = 102;
00076                 break;
00077             case 5: 
00078                 dis_2 = 109;
00079                 break;
00080         }    
00081         if (jugador1.puntaje == 5 || jugador2.puntaje == 5){
00082             jugador1.puntaje = 0;
00083             jugador2.puntaje = 0;
00084             }        
00085     }
00086 }
00087 
00088 void apagar_led(){
00089     led_juego = 0;
00090     }
00091     
00092 void reset(){
00093     jugador1.puntaje = 0;
00094     jugador2.puntaje = 0;
00095     }