Yosef Guevara Salamanca
/
cruzandoCalle
Juego de cruzar las calles, el jugador debe llegar hasta el otro punto para ganar
calle.cpp@5:3cfdf3e56c8f, 2018-11-13 (annotated)
- Committer:
- djinn77
- Date:
- Tue Nov 13 20:42:42 2018 +0000
- Revision:
- 5:3cfdf3e56c8f
- Parent:
- 4:074433a7addc
- Child:
- 6:fae23f72d7f0
Cambios segun perpectiva del tetris
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 | 4:074433a7addc | 3 | |
djinn77 | 0:22386e919072 | 4 | // Definicion de parametros de comunicacion |
djinn77 | 4:074433a7addc | 5 | |
djinn77 | 1:18fff1390131 | 6 | Serial pc(USBTX,USBRX); |
djinn77 | 4:074433a7addc | 7 | SPI deviceM(PB_5, PB_4, PB_3); //D4(gris), Ninguno, D3(azul) |
djinn77 | 4:074433a7addc | 8 | DigitalOut ssel (PA_4); //A2(morado) |
djinn77 | 3:ddb6c620cce7 | 9 | Ticker tp; |
djinn77 | 3:ddb6c620cce7 | 10 | int printjugador =1; |
djinn77 | 4:074433a7addc | 11 | |
djinn77 | 1:18fff1390131 | 12 | // Definiendo Botones |
djinn77 | 4:074433a7addc | 13 | |
djinn77 | 4:074433a7addc | 14 | AnalogIn vry(A3); |
djinn77 | 4:074433a7addc | 15 | AnalogIn vrx(A4); |
djinn77 | 4:074433a7addc | 16 | DigitalIn sw(A5); |
djinn77 | 1:18fff1390131 | 17 | |
djinn77 | 0:22386e919072 | 18 | // Definicion de Funciones |
djinn77 | 0:22386e919072 | 19 | void sendSPI(); |
djinn77 | 0:22386e919072 | 20 | void inicializar_matriz(); |
djinn77 | 3:ddb6c620cce7 | 21 | void printstatus(); |
djinn77 | 0:22386e919072 | 22 | // Definicion de Variables |
djinn77 | 4:074433a7addc | 23 | |
djinn77 | 0:22386e919072 | 24 | uint16_t* nivel; |
djinn77 | 1:18fff1390131 | 25 | uint16_t* jugador; |
djinn77 | 3:ddb6c620cce7 | 26 | float velocidad = 1.0; |
djinn77 | 4:074433a7addc | 27 | |
djinn77 | 4:074433a7addc | 28 | |
djinn77 | 0:22386e919072 | 29 | void sendSPI(uint8_t d1, uint8_t d2) |
djinn77 | 0:22386e919072 | 30 | { |
djinn77 | 0:22386e919072 | 31 | deviceM.unlock(); |
djinn77 | 0:22386e919072 | 32 | ssel=0; |
djinn77 | 0:22386e919072 | 33 | deviceM.write(d1); |
djinn77 | 0:22386e919072 | 34 | deviceM.write(d2); |
djinn77 | 0:22386e919072 | 35 | ssel=1; |
djinn77 | 0:22386e919072 | 36 | deviceM.lock(); |
djinn77 | 0:22386e919072 | 37 | }; |
djinn77 | 4:074433a7addc | 38 | |
djinn77 | 4:074433a7addc | 39 | |
djinn77 | 0:22386e919072 | 40 | void inicializar_matriz(){ |
djinn77 | 0:22386e919072 | 41 | sendSPI(0x0c,1); |
djinn77 | 0:22386e919072 | 42 | sendSPI(0x0b,7); |
djinn77 | 0:22386e919072 | 43 | sendSPI(0x09,0); //SELECCIONA LA LUMINOSIDAD DE LA MATRIZ |
djinn77 | 0:22386e919072 | 44 | sendSPI(0x0A,0x00); //SELECCIONA LA LUMINOSIDAD DE LA MATRIZ |
djinn77 | 0:22386e919072 | 45 | |
djinn77 | 0:22386e919072 | 46 | int i; |
djinn77 | 0:22386e919072 | 47 | for (i=0;i<2;i++){ |
djinn77 | 0:22386e919072 | 48 | sendSPI(0x0F,1); |
djinn77 | 0:22386e919072 | 49 | wait (0.5); |
djinn77 | 0:22386e919072 | 50 | sendSPI(0x0F,0); |
djinn77 | 0:22386e919072 | 51 | wait (0.5); |
djinn77 | 0:22386e919072 | 52 | } |
djinn77 | 0:22386e919072 | 53 | |
djinn77 | 0:22386e919072 | 54 | } |
djinn77 | 4:074433a7addc | 55 | |
djinn77 | 4:074433a7addc | 56 | |
djinn77 | 0:22386e919072 | 57 | int main() { |
djinn77 | 1:18fff1390131 | 58 | pc.baud(38400); |
djinn77 | 0:22386e919072 | 59 | inicializar_matriz(); |
djinn77 | 0:22386e919072 | 60 | nivel= AV_1; |
djinn77 | 1:18fff1390131 | 61 | jugador=player; |
djinn77 | 3:ddb6c620cce7 | 62 | tp.attach(&printstatus,0.2); |
djinn77 | 4:074433a7addc | 63 | float meas_vx; |
djinn77 | 4:074433a7addc | 64 | float meas_vy; |
djinn77 | 4:074433a7addc | 65 | |
djinn77 | 0:22386e919072 | 66 | while(1){ |
djinn77 | 4:074433a7addc | 67 | meas_vx = vrx.read() * 3300; // Convierte el valor de lectura de la entrada entre 0-3300 eje X |
djinn77 | 4:074433a7addc | 68 | meas_vy = vry.read() * 3300; // Convierte el valor de lectura de la entrada entre 0-3300 eje Y |
djinn77 | 1:18fff1390131 | 69 | // realiza el corriemiento del vector hacia la izq. |
djinn77 | 5:3cfdf3e56c8f | 70 | if(meas_vx < 1600){ |
djinn77 | 0:22386e919072 | 71 | |
djinn77 | 1:18fff1390131 | 72 | int izq = jugador[0]; |
djinn77 | 1:18fff1390131 | 73 | for(int i= 0; i<8;i++){ |
djinn77 | 1:18fff1390131 | 74 | jugador[i]=jugador[i+1]; |
djinn77 | 1:18fff1390131 | 75 | } |
djinn77 | 1:18fff1390131 | 76 | jugador[7] = izq; |
djinn77 | 1:18fff1390131 | 77 | } |
djinn77 | 1:18fff1390131 | 78 | |
djinn77 | 1:18fff1390131 | 79 | |
djinn77 | 1:18fff1390131 | 80 | // realiza el corrimeinto del juegador hacie la der. |
djinn77 | 5:3cfdf3e56c8f | 81 | if(meas_vx > 1700){ |
djinn77 | 0:22386e919072 | 82 | |
djinn77 | 1:18fff1390131 | 83 | int der = jugador[7]; |
djinn77 | 1:18fff1390131 | 84 | for(int i= 7; i>=0;i--){ |
djinn77 | 1:18fff1390131 | 85 | jugador[i]=jugador[i-1]; |
djinn77 | 0:22386e919072 | 86 | } |
djinn77 | 1:18fff1390131 | 87 | jugador[0] = der; |
djinn77 | 1:18fff1390131 | 88 | } |
djinn77 | 4:074433a7addc | 89 | |
djinn77 | 1:18fff1390131 | 90 | // mueve el jugador de posicion en pruebas |
djinn77 | 1:18fff1390131 | 91 | |
djinn77 | 5:3cfdf3e56c8f | 92 | if(meas_vy < 1550){ |
djinn77 | 1:18fff1390131 | 93 | |
djinn77 | 5:3cfdf3e56c8f | 94 | int arb = 1; |
djinn77 | 1:18fff1390131 | 95 | for(int i= 0; i<8;i++){ |
djinn77 | 5:3cfdf3e56c8f | 96 | jugador[i]= jugador[i] << arb; |
djinn77 | 1:18fff1390131 | 97 | } |
djinn77 | 5:3cfdf3e56c8f | 98 | arb++; |
djinn77 | 1:18fff1390131 | 99 | } |
djinn77 | 1:18fff1390131 | 100 | |
djinn77 | 4:074433a7addc | 101 | |
djinn77 | 1:18fff1390131 | 102 | // El siguient ciclo realiza el desplazamiento de los vehiculos |
djinn77 | 4:074433a7addc | 103 | |
djinn77 | 0:22386e919072 | 104 | int aux = nivel[0]; |
djinn77 | 0:22386e919072 | 105 | for(int i= 0; i<8;i++){ |
djinn77 | 0:22386e919072 | 106 | nivel[i]=nivel[i+1]; |
djinn77 | 0:22386e919072 | 107 | } |
djinn77 | 0:22386e919072 | 108 | nivel[7] = aux; |
djinn77 | 1:18fff1390131 | 109 | |
djinn77 | 3:ddb6c620cce7 | 110 | wait(velocidad); |
djinn77 | 3:ddb6c620cce7 | 111 | |
djinn77 | 0:22386e919072 | 112 | } |
djinn77 | 3:ddb6c620cce7 | 113 | } |
djinn77 | 4:074433a7addc | 114 | |
djinn77 | 3:ddb6c620cce7 | 115 | void printstatus() |
djinn77 | 3:ddb6c620cce7 | 116 | { |
djinn77 | 3:ddb6c620cce7 | 117 | for(int j= 1; j<=8;j++) |
djinn77 | 3:ddb6c620cce7 | 118 | if (printjugador) |
djinn77 | 3:ddb6c620cce7 | 119 | sendSPI(j, nivel[j-1]|jugador[j-1]); |
djinn77 | 3:ddb6c620cce7 | 120 | else |
djinn77 | 3:ddb6c620cce7 | 121 | sendSPI(j, nivel[j-1]); |
djinn77 | 3:ddb6c620cce7 | 122 | printjugador =!printjugador; |
djinn77 | 0:22386e919072 | 123 | } |