Yosef Guevara Salamanca
/
cruzandoCalle
Juego de cruzar las calles, el jugador debe llegar hasta el otro punto para ganar
Diff: calle.cpp
- Revision:
- 4:074433a7addc
- Parent:
- 3:ddb6c620cce7
- Child:
- 5:3cfdf3e56c8f
diff -r ddb6c620cce7 -r 074433a7addc calle.cpp --- 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++)