Yosef Guevara Salamanca
/
cruzandoCalle
Juego de cruzar las calles, el jugador debe llegar hasta el otro punto para ganar
calle.cpp
- Committer:
- djinn77
- Date:
- 2018-11-13
- Revision:
- 5:3cfdf3e56c8f
- Parent:
- 4:074433a7addc
- Child:
- 6:fae23f72d7f0
File content as of revision 5:3cfdf3e56c8f:
#include "mbed.h" #include "avenidas.h" // Definicion de parametros de comunicacion Serial pc(USBTX,USBRX); SPI deviceM(PB_5, PB_4, PB_3); //D4(gris), Ninguno, D3(azul) DigitalOut ssel (PA_4); //A2(morado) Ticker tp; int printjugador =1; // Definiendo Botones AnalogIn vry(A3); AnalogIn vrx(A4); DigitalIn sw(A5); // 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(); ssel=0; deviceM.write(d1); deviceM.write(d2); ssel=1; deviceM.lock(); }; void inicializar_matriz(){ sendSPI(0x0c,1); sendSPI(0x0b,7); sendSPI(0x09,0); //SELECCIONA LA LUMINOSIDAD DE LA MATRIZ sendSPI(0x0A,0x00); //SELECCIONA LA LUMINOSIDAD DE LA MATRIZ int i; for (i=0;i<2;i++){ sendSPI(0x0F,1); wait (0.5); sendSPI(0x0F,0); wait (0.5); } } 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(meas_vx < 1600){ int izq = jugador[0]; for(int i= 0; i<8;i++){ jugador[i]=jugador[i+1]; } jugador[7] = izq; } // realiza el corrimeinto del juegador hacie la der. if(meas_vx > 1700){ int der = jugador[7]; for(int i= 7; i>=0;i--){ jugador[i]=jugador[i-1]; } jugador[0] = der; } // mueve el jugador de posicion en pruebas if(meas_vy < 1550){ int arb = 1; for(int i= 0; i<8;i++){ jugador[i]= jugador[i] << arb; } arb++; } // 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]; } nivel[7] = aux; wait(velocidad); } } void printstatus() { for(int j= 1; j<=8;j++) if (printjugador) sendSPI(j, nivel[j-1]|jugador[j-1]); else sendSPI(j, nivel[j-1]); printjugador =!printjugador; }