ferney alberto beltran molina
/
00_01LAB_matrix8x8_fig_tetris
EJEMPLO
Fork of 00_LAB_matrix8x8_SPI by
Diff: main.cpp
- Revision:
- 5:d1c3238ea285
- Parent:
- 4:2bc5dfe058ef
--- a/main.cpp Tue Sep 04 22:31:01 2018 +0000 +++ b/main.cpp Fri Sep 14 17:59:35 2018 +0000 @@ -12,7 +12,8 @@ void debug_m(char *s , ... ); uint8_t matrix_act[8]={0,0,0,0,0,0,0,0}; -uint8_t matrix_tmp[11]={0b10000000,0b10000000,0b11000000,0,0,0,0,0,0,0}; +uint8_t matrix_tmp[11]={0,0,0,0,0,0,0,0,0,0}; +uint8_t matrix_fig[3]={0,0,0}; void sendSPI(uint8_t d1, uint8_t d2) @@ -53,40 +54,49 @@ } } -void act_matrix(uint8_t* mascara){ - for (int i=0; i<8;i++) - matrix_act[i]= ( *(mascara+i)); +void actualizar_matrix(){ + for (int i=fig_act.posx; i<fig_act.posx+3;i++) + matrix_act[i]= fig_act.fig[i] ; } - void copy_matrix(uint8_t* m2){ - - for (int i=0; i<11;i++){ - matrix_tmp[i]= *(m2+i); + + +void copy_fig(uint8_t* m2, uint8_t ncol){ + for (int i=0; i<3;i++){ + fig_act.fig[i]= *(m2+i); + debug_m("%b\n",*(m2+i)); } - } + fig_act.posx=ncol; + +} + + void new_read(){ - char tf=command.getc(); + uint8_t tf=command.getc(); + char nc=command.getc(); + debug_m("se recibe la figura %d, en la columna %d",tf); switch (tf) { case L_TYPE: - copy_matrix(FIG_L); + copy_fig(FIG_L,nc); break ; case S_TYPE: - copy_matrix(FIG_S); + copy_fig(FIG_S,nc); break ; case I_TYPE: - copy_matrix(FIG_I); + copy_fig(FIG_I,nc); break ; default: - copy_matrix(FIG_NULL); + copy_fig(FIG_NULL,nc); } } + void desplazar_fila(){ - for (int i=0; i<11;i++) - matrix_tmp[i]= matrix_tmp[i]>>1; + for (int i=0; i<3;i++) + fig_act.fig[i]= fig_act.fig[i]>>1; } int main() { @@ -95,7 +105,7 @@ new_read(); for(int i=0;i<8;i++){ desplazar_fila(); - act_matrix(matrix_tmp); + actualizar_matrix(); printMatrix(matrix_act); wait_ms(VELOCITY); }