For Contest
Dependencies: BLE_API HCSR04 X_NUCLEO_IDB0XA1 mbed
Fork of contest_IOT_10 by
display.h
- Committer:
- Alex_Hochart
- Date:
- 2015-11-04
- Revision:
- 8:8d6474336444
- Parent:
- 7:fd3602c86d75
File content as of revision 8:8d6474336444:
#ifndef DISPLAY_H #define DISPLAY_H #include "mbed.h" void pong_init_ttempro(Serial &pc){ pc.printf("\033[2J"); //Efface la console pc.printf("\033[?25l"); //Cache le curseur for(int i=0; i <= 128 ; i++){ pc.printf("\033[0;%dH",i); //Place le curseur à 0:0 pc.printf("X"); //Place le curseur à 0:0 pc.printf("\033[32;%dH",i); //Place le curseur à 0:0 pc.printf("X"); //Place le curseur à 0:0 } for(int i=0; i <= 32 ; i++){ pc.printf("\033[%d;0H",i); //Place le curseur à 0:0 pc.printf("X"); //Place le curseur à 0:0 pc.printf("\033[%d;128H",i); //Place le curseur à 0:0 pc.printf("X"); //Place le curseur à 0:0 } } void print_cursor_ttempro(Serial &pc, int *pos1, int *pos1prec, int *pos2, int *pos2prec){ for(int i=0;i<=29;i++){ if( pos1[i] != pos1prec[i] ){ if(pos1[i] == 1){ pc.printf("\033[%d;3H",i+2); //Place le curseur à 0:0 pc.printf("X"); //Place le curseur à 0:0 } else{ pc.printf("\033[%d;3H",i+2); //Place le curseur à 0:0 pc.printf(" "); //Place le curseur à 0:0 } } if( pos2[i] != pos2prec[i] ){ if(pos2[i] == 1){ pc.printf("\033[%d;126H",i+2); //Place le curseur à 0:0 pc.printf("X"); //Place le curseur à 0:0 } else{ pc.printf("\033[%d;126H",i+2); //Place le curseur à 0:0 pc.printf(" "); //Place le curseur à 0:0 } } } } void set_pos_vector(int *pos, int distance){ if(distance <= 9){ for(int i=0;i<=5;i++){ pos[i] = 1; } } else if(distance >= 33){ for(int i=24;i<=29;i++){ pos[i] = 1; } } else{ for(int i=(distance-9);i<=(distance-4);i++){ pos[i] = 1; } } } int set_print_ball(Serial &pc, int *pos1,int *pos2,double *posBallX, double *posBallY, double *angBall){ pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0 pc.printf(" "); //Place le curseur à 0:0 *posBallX = *posBallX + 2.0*cos((double)*angBall*3.1415/180.0); *posBallY = *posBallY - 2.0*sin((double)*angBall*3.1415/180.0); if(*posBallX <= 4){ if(pos1[(int)*posBallY] == 1){ *posBallX = 8 - *posBallX; *angBall = 180 - *angBall; } else{ return 1; } } else if(*posBallX >= 125){ if(pos2[(int)*posBallY] == 1){ *posBallX = 250 - *posBallX; *angBall = 180 - *angBall; } else{ return 2; } } if(*posBallY <= 2){ *posBallY = -*posBallY+4; *angBall = -*angBall; } else if(*posBallY >= 31){ *posBallY = 62 - *posBallY; *angBall = -*angBall; } pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0 pc.printf("o"); //Place le curseur à 0:0 return 3; } int print_ball(Serial &pc, int *distance1, int *distance2, double *posBallX, double *posBallY){ pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0 pc.printf(" "); //Place le curseur à 0:0 if(*posBallX <= 50){ if(*distance1 <= 10){ *posBallY = 4; } else if(*distance1 >= 33){ *posBallY = 28; } else{ *posBallY = *distance1-5; } } else { if(*distance2 <= 10){ *posBallY = 4; } else if(*distance2 >= 34){ *posBallY = 28; } else{ *posBallY = *distance2-5; } } pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0 pc.printf("o"); //Place le curseur à 0:0 return 3; } #endif