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-02
- Revision:
- 3:ddb6c620cce7
- Parent:
- 2:1d19bdc7084e
- Child:
- 4:074433a7addc
File content as of revision 3:ddb6c620cce7:
#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); Ticker tp; DigitalOut led(LED1); int printjugador =1; // Definiendo Botones 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(); 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); while(1){ // realiza el corriemiento del vector hacia la izq. if(pulsador_izq == 1){ 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(pulsador_der == 1){ 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(pulsador_abj == 1){ int abj = 1; for(int i= 0; i<8;i++){ jugador[i]= jugador[i] >> abj; } 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]; } nivel[7] = aux; // EL siguiente ciclo for realiza la impresion //for(int j= 1; j<=8;j++){ // sendSPI(j, nivel[j-1]); //} // wait(0.08); 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; led=!led; }