Yosef Guevara Salamanca
/
cruzandoCalle
Juego de cruzar las calles, el jugador debe llegar hasta el otro punto para ganar
calle.cpp@1:18fff1390131, 2018-10-30 (annotated)
- Committer:
- djinn77
- Date:
- Tue Oct 30 21:13:48 2018 +0000
- Revision:
- 1:18fff1390131
- Parent:
- 0:22386e919072
- Child:
- 2:1d19bdc7084e
El jugador se desplaza izq y derecha
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
djinn77 | 0:22386e919072 | 1 | #include "mbed.h" |
djinn77 | 0:22386e919072 | 2 | #include "avenidas.h" |
djinn77 | 0:22386e919072 | 3 | |
djinn77 | 0:22386e919072 | 4 | // Definicion de parametros de comunicacion |
djinn77 | 1:18fff1390131 | 5 | Serial pc(USBTX,USBRX); |
djinn77 | 0:22386e919072 | 6 | SPI deviceM(PB_15, PB_14, PB_13); |
djinn77 | 0:22386e919072 | 7 | DigitalOut ssel (PB_12); |
djinn77 | 1:18fff1390131 | 8 | |
djinn77 | 1:18fff1390131 | 9 | // Definiendo Botones |
djinn77 | 1:18fff1390131 | 10 | |
djinn77 | 1:18fff1390131 | 11 | DigitalIn pulsador_izq(A5); |
djinn77 | 1:18fff1390131 | 12 | DigitalIn pulsador_der(A4); |
djinn77 | 1:18fff1390131 | 13 | |
djinn77 | 0:22386e919072 | 14 | // Definicion de Funciones |
djinn77 | 0:22386e919072 | 15 | void sendSPI(); |
djinn77 | 0:22386e919072 | 16 | void inicializar_matriz(); |
djinn77 | 0:22386e919072 | 17 | |
djinn77 | 0:22386e919072 | 18 | // Definicion de Variables |
djinn77 | 0:22386e919072 | 19 | |
djinn77 | 0:22386e919072 | 20 | uint16_t* nivel; |
djinn77 | 1:18fff1390131 | 21 | uint16_t* jugador; |
djinn77 | 0:22386e919072 | 22 | float velocidad = 0.8; |
djinn77 | 0:22386e919072 | 23 | |
djinn77 | 0:22386e919072 | 24 | |
djinn77 | 0:22386e919072 | 25 | void sendSPI(uint8_t d1, uint8_t d2) |
djinn77 | 0:22386e919072 | 26 | { |
djinn77 | 0:22386e919072 | 27 | deviceM.unlock(); |
djinn77 | 0:22386e919072 | 28 | ssel=0; |
djinn77 | 0:22386e919072 | 29 | deviceM.write(d1); |
djinn77 | 0:22386e919072 | 30 | deviceM.write(d2); |
djinn77 | 0:22386e919072 | 31 | ssel=1; |
djinn77 | 0:22386e919072 | 32 | deviceM.lock(); |
djinn77 | 0:22386e919072 | 33 | }; |
djinn77 | 0:22386e919072 | 34 | |
djinn77 | 0:22386e919072 | 35 | |
djinn77 | 0:22386e919072 | 36 | void inicializar_matriz(){ |
djinn77 | 0:22386e919072 | 37 | sendSPI(0x0c,1); |
djinn77 | 0:22386e919072 | 38 | sendSPI(0x0b,7); |
djinn77 | 0:22386e919072 | 39 | sendSPI(0x09,0); //SELECCIONA LA LUMINOSIDAD DE LA MATRIZ |
djinn77 | 0:22386e919072 | 40 | sendSPI(0x0A,0x00); //SELECCIONA LA LUMINOSIDAD DE LA MATRIZ |
djinn77 | 0:22386e919072 | 41 | |
djinn77 | 0:22386e919072 | 42 | int i; |
djinn77 | 0:22386e919072 | 43 | for (i=0;i<2;i++){ |
djinn77 | 0:22386e919072 | 44 | sendSPI(0x0F,1); |
djinn77 | 0:22386e919072 | 45 | wait (0.5); |
djinn77 | 0:22386e919072 | 46 | sendSPI(0x0F,0); |
djinn77 | 0:22386e919072 | 47 | wait (0.5); |
djinn77 | 0:22386e919072 | 48 | } |
djinn77 | 0:22386e919072 | 49 | |
djinn77 | 0:22386e919072 | 50 | } |
djinn77 | 0:22386e919072 | 51 | |
djinn77 | 0:22386e919072 | 52 | |
djinn77 | 0:22386e919072 | 53 | int main() { |
djinn77 | 1:18fff1390131 | 54 | pc.baud(38400); |
djinn77 | 0:22386e919072 | 55 | inicializar_matriz(); |
djinn77 | 0:22386e919072 | 56 | nivel= AV_1; |
djinn77 | 1:18fff1390131 | 57 | jugador=player; |
djinn77 | 0:22386e919072 | 58 | |
djinn77 | 0:22386e919072 | 59 | while(1){ |
djinn77 | 1:18fff1390131 | 60 | |
djinn77 | 1:18fff1390131 | 61 | // realiza el corriemiento del vector hacia la izq. |
djinn77 | 1:18fff1390131 | 62 | if(pulsador_izq == 1){ |
djinn77 | 0:22386e919072 | 63 | |
djinn77 | 1:18fff1390131 | 64 | int izq = jugador[0]; |
djinn77 | 1:18fff1390131 | 65 | for(int i= 0; i<8;i++){ |
djinn77 | 1:18fff1390131 | 66 | jugador[i]=jugador[i+1]; |
djinn77 | 1:18fff1390131 | 67 | } |
djinn77 | 1:18fff1390131 | 68 | jugador[7] = izq; |
djinn77 | 1:18fff1390131 | 69 | } |
djinn77 | 1:18fff1390131 | 70 | |
djinn77 | 1:18fff1390131 | 71 | |
djinn77 | 1:18fff1390131 | 72 | // realiza el corrimeinto del juegador hacie la der. |
djinn77 | 1:18fff1390131 | 73 | if(pulsador_der == 1){ |
djinn77 | 0:22386e919072 | 74 | |
djinn77 | 1:18fff1390131 | 75 | int der = jugador[7]; |
djinn77 | 1:18fff1390131 | 76 | for(int i= 7; i>=0;i--){ |
djinn77 | 1:18fff1390131 | 77 | jugador[i]=jugador[i-1]; |
djinn77 | 0:22386e919072 | 78 | } |
djinn77 | 1:18fff1390131 | 79 | jugador[0] = der; |
djinn77 | 1:18fff1390131 | 80 | } |
djinn77 | 1:18fff1390131 | 81 | |
djinn77 | 1:18fff1390131 | 82 | // mueve el jugador de posicion en pruebas |
djinn77 | 1:18fff1390131 | 83 | |
djinn77 | 1:18fff1390131 | 84 | if(pulsador_abj == 1){ |
djinn77 | 1:18fff1390131 | 85 | |
djinn77 | 1:18fff1390131 | 86 | int abj = 0; |
djinn77 | 1:18fff1390131 | 87 | for(int i= 0; i<8;i++){ |
djinn77 | 1:18fff1390131 | 88 | jugador[i]=jugador[i]>>abj; |
djinn77 | 1:18fff1390131 | 89 | } |
djinn77 | 1:18fff1390131 | 90 | abj++; |
djinn77 | 1:18fff1390131 | 91 | } |
djinn77 | 1:18fff1390131 | 92 | |
djinn77 | 1:18fff1390131 | 93 | |
djinn77 | 1:18fff1390131 | 94 | // El siguient ciclo realiza el desplazamiento de los vehiculos |
djinn77 | 1:18fff1390131 | 95 | |
djinn77 | 0:22386e919072 | 96 | int aux = nivel[0]; |
djinn77 | 0:22386e919072 | 97 | for(int i= 0; i<8;i++){ |
djinn77 | 0:22386e919072 | 98 | nivel[i]=nivel[i+1]; |
djinn77 | 0:22386e919072 | 99 | } |
djinn77 | 0:22386e919072 | 100 | nivel[7] = aux; |
djinn77 | 1:18fff1390131 | 101 | |
djinn77 | 1:18fff1390131 | 102 | // EL siguiente ciclo for realiza la impresion |
djinn77 | 1:18fff1390131 | 103 | |
djinn77 | 1:18fff1390131 | 104 | for(int i= 1; i<=8;i++){ |
djinn77 | 1:18fff1390131 | 105 | sendSPI(i, nivel[i-1]|jugador[i-1]); |
djinn77 | 1:18fff1390131 | 106 | } |
djinn77 | 1:18fff1390131 | 107 | wait(velocidad); |
djinn77 | 0:22386e919072 | 108 | |
djinn77 | 0:22386e919072 | 109 | } |
djinn77 | 0:22386e919072 | 110 | |
djinn77 | 0:22386e919072 | 111 | |
djinn77 | 0:22386e919072 | 112 | |
djinn77 | 0:22386e919072 | 113 | } |