Juego de cruzar las calles, el jugador debe llegar hasta el otro punto para ganar

Dependencies:   mbed

Revision:
4:074433a7addc
Parent:
3:ddb6c620cce7
Child:
5:3cfdf3e56c8f
--- a/calle.cpp	Fri Nov 02 12:27:36 2018 +0000
+++ b/calle.cpp	Tue Nov 13 06:40:08 2018 +0000
@@ -1,31 +1,32 @@
 #include "mbed.h"
 #include "avenidas.h"
-
+ 
 // Definicion de parametros de comunicacion
-
+ 
 Serial pc(USBTX,USBRX);
-SPI deviceM(PB_15, PB_14, PB_13);
-DigitalOut ssel (PB_12);
+SPI deviceM(PB_5, PB_4, PB_3);  //D4(gris), Ninguno, D3(azul)
+DigitalOut ssel (PA_4);         //A2(morado)
 Ticker tp;
 DigitalOut led(LED1);
 int printjugador =1;
-
+ 
 // Definiendo Botones
+ 
+AnalogIn vry(A3);
+AnalogIn vrx(A4);
+DigitalIn sw(A5);
 
-DigitalIn pulsador_izq(A5);
-DigitalIn pulsador_der(A4);
-DigitalIn pulsador_abj(A3);
 // Definicion de Funciones
 void sendSPI();
 void inicializar_matriz();
 void printstatus();
 // Definicion de Variables
-
+ 
 uint16_t* nivel;
 uint16_t* jugador;
 float velocidad = 1.0;
-
-
+ 
+ 
 void sendSPI(uint8_t d1, uint8_t d2)
 {
     deviceM.unlock();
@@ -35,8 +36,8 @@
     ssel=1;
     deviceM.lock();
 };
-
-
+ 
+ 
 void inicializar_matriz(){
     sendSPI(0x0c,1);    
     sendSPI(0x0b,7);
@@ -52,18 +53,22 @@
     }
   
   }
-
-
+ 
+ 
 int main() {
    pc.baud(38400);               
    inicializar_matriz();
    nivel= AV_1;
    jugador=player;
    tp.attach(&printstatus,0.2);
+   float meas_vx;
+   float meas_vy;
+   
    while(1){
-
+   meas_vx = vrx.read() * 3300; // Convierte el valor de lectura de la entrada entre 0-3300 eje X
+   meas_vy = vry.read() * 3300; // Convierte el valor de lectura de la entrada entre 0-3300 eje Y
 // realiza el corriemiento del vector hacia la izq.
-  if(pulsador_izq == 1){
+  if(meas_vx <= 1500){
       
       int izq = jugador[0];
       for(int i= 0; i<8;i++){  
@@ -74,7 +79,7 @@
      
    
 // realiza el corrimeinto del juegador hacie la der.
-     if(pulsador_der == 1){
+     if(meas_vx >= 1700){
       
       int der = jugador[7];
       for(int i= 7; i>=0;i--){  
@@ -82,10 +87,10 @@
           }
       jugador[0] = der;
       }
-
+ 
 // mueve el jugador de posicion en pruebas
     
-    if(pulsador_abj == 1){
+    if(meas_vy > 1700){
       
       int abj = 1;
       for(int i= 0; i<8;i++){  
@@ -94,9 +99,9 @@
       abj++;
       }
     
-
+ 
 // El siguient ciclo realiza el desplazamiento de los vehiculos
-
+ 
       int aux = nivel[0];
       for(int i= 0; i<8;i++){  
           nivel[i]=nivel[i+1];
@@ -115,7 +120,7 @@
                 
        }
 }
-
+ 
 void printstatus()
 {
     for(int j= 1; j<=8;j++)