For Contest

Dependencies:   BLE_API HCSR04 X_NUCLEO_IDB0XA1 mbed

Fork of contest_IOT6 by Contest IOT GSE5

Committer:
Alex_Hochart
Date:
Wed Nov 04 20:41:31 2015 +0000
Revision:
8:8d6474336444
Parent:
7:fd3602c86d75
For Contest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mickado 6:55319ed07a08 1
Mickado 6:55319ed07a08 2 #ifndef DISPLAY_H
Mickado 6:55319ed07a08 3 #define DISPLAY_H
Mickado 6:55319ed07a08 4
Mickado 6:55319ed07a08 5 #include "mbed.h"
Mickado 6:55319ed07a08 6
Mickado 6:55319ed07a08 7 void pong_init_ttempro(Serial &pc){
Mickado 6:55319ed07a08 8
Mickado 6:55319ed07a08 9 pc.printf("\033[2J"); //Efface la console
Mickado 6:55319ed07a08 10 pc.printf("\033[?25l"); //Cache le curseur
Mickado 6:55319ed07a08 11
Mickado 6:55319ed07a08 12 for(int i=0; i <= 128 ; i++){
Mickado 6:55319ed07a08 13 pc.printf("\033[0;%dH",i); //Place le curseur à 0:0
Mickado 6:55319ed07a08 14 pc.printf("X"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 15 pc.printf("\033[32;%dH",i); //Place le curseur à 0:0
Mickado 6:55319ed07a08 16 pc.printf("X"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 17 }
Mickado 6:55319ed07a08 18
Mickado 6:55319ed07a08 19 for(int i=0; i <= 32 ; i++){
Mickado 6:55319ed07a08 20 pc.printf("\033[%d;0H",i); //Place le curseur à 0:0
Mickado 6:55319ed07a08 21 pc.printf("X"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 22 pc.printf("\033[%d;128H",i); //Place le curseur à 0:0
Mickado 6:55319ed07a08 23 pc.printf("X"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 24 }
Mickado 6:55319ed07a08 25
Mickado 6:55319ed07a08 26 }
Mickado 6:55319ed07a08 27
Mickado 6:55319ed07a08 28 void print_cursor_ttempro(Serial &pc, int *pos1, int *pos1prec, int *pos2, int *pos2prec){
Mickado 6:55319ed07a08 29 for(int i=0;i<=29;i++){
Mickado 6:55319ed07a08 30 if( pos1[i] != pos1prec[i] ){
Mickado 6:55319ed07a08 31 if(pos1[i] == 1){
Mickado 6:55319ed07a08 32 pc.printf("\033[%d;3H",i+2); //Place le curseur à 0:0
Mickado 6:55319ed07a08 33 pc.printf("X"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 34 }
Mickado 6:55319ed07a08 35 else{
Mickado 6:55319ed07a08 36 pc.printf("\033[%d;3H",i+2); //Place le curseur à 0:0
Mickado 6:55319ed07a08 37 pc.printf(" "); //Place le curseur à 0:0
Mickado 6:55319ed07a08 38 }
Mickado 6:55319ed07a08 39 }
Mickado 6:55319ed07a08 40
Mickado 6:55319ed07a08 41 if( pos2[i] != pos2prec[i] ){
Mickado 6:55319ed07a08 42 if(pos2[i] == 1){
Mickado 6:55319ed07a08 43 pc.printf("\033[%d;126H",i+2); //Place le curseur à 0:0
Mickado 6:55319ed07a08 44 pc.printf("X"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 45 }
Mickado 6:55319ed07a08 46 else{
Mickado 6:55319ed07a08 47 pc.printf("\033[%d;126H",i+2); //Place le curseur à 0:0
Mickado 6:55319ed07a08 48 pc.printf(" "); //Place le curseur à 0:0
Mickado 6:55319ed07a08 49 }
Mickado 6:55319ed07a08 50 }
Mickado 6:55319ed07a08 51 }
Mickado 6:55319ed07a08 52 }
Mickado 6:55319ed07a08 53
Mickado 6:55319ed07a08 54 void set_pos_vector(int *pos, int distance){
Mickado 6:55319ed07a08 55
Alex_Hochart 8:8d6474336444 56 if(distance <= 9){
Mickado 6:55319ed07a08 57 for(int i=0;i<=5;i++){ pos[i] = 1; }
Mickado 6:55319ed07a08 58 }
Alex_Hochart 8:8d6474336444 59 else if(distance >= 33){
Mickado 6:55319ed07a08 60 for(int i=24;i<=29;i++){ pos[i] = 1; }
Mickado 6:55319ed07a08 61 }
Mickado 6:55319ed07a08 62 else{
Alex_Hochart 8:8d6474336444 63 for(int i=(distance-9);i<=(distance-4);i++){ pos[i] = 1; }
Mickado 6:55319ed07a08 64 }
Mickado 6:55319ed07a08 65 }
Mickado 6:55319ed07a08 66
Mickado 6:55319ed07a08 67 int set_print_ball(Serial &pc, int *pos1,int *pos2,double *posBallX, double *posBallY, double *angBall){
Mickado 6:55319ed07a08 68 pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0
Mickado 6:55319ed07a08 69 pc.printf(" "); //Place le curseur à 0:0
Mickado 6:55319ed07a08 70 *posBallX = *posBallX + 2.0*cos((double)*angBall*3.1415/180.0);
Mickado 6:55319ed07a08 71 *posBallY = *posBallY - 2.0*sin((double)*angBall*3.1415/180.0);
Mickado 6:55319ed07a08 72
Mickado 6:55319ed07a08 73 if(*posBallX <= 4){
Mickado 6:55319ed07a08 74 if(pos1[(int)*posBallY] == 1){
Mickado 6:55319ed07a08 75 *posBallX = 8 - *posBallX;
Mickado 6:55319ed07a08 76 *angBall = 180 - *angBall;
Mickado 6:55319ed07a08 77 }
Mickado 6:55319ed07a08 78 else{ return 1; }
Mickado 6:55319ed07a08 79 }
Mickado 6:55319ed07a08 80 else if(*posBallX >= 125){
Mickado 6:55319ed07a08 81 if(pos2[(int)*posBallY] == 1){
Mickado 6:55319ed07a08 82 *posBallX = 250 - *posBallX;
Mickado 6:55319ed07a08 83 *angBall = 180 - *angBall;
Mickado 6:55319ed07a08 84 }
Mickado 6:55319ed07a08 85 else{ return 2; }
Mickado 6:55319ed07a08 86 }
Mickado 6:55319ed07a08 87
Mickado 6:55319ed07a08 88
Mickado 6:55319ed07a08 89 if(*posBallY <= 2){
Mickado 6:55319ed07a08 90 *posBallY = -*posBallY+4;
Mickado 6:55319ed07a08 91 *angBall = -*angBall;
Mickado 6:55319ed07a08 92 }
Mickado 6:55319ed07a08 93 else if(*posBallY >= 31){
Mickado 6:55319ed07a08 94 *posBallY = 62 - *posBallY;
Mickado 6:55319ed07a08 95 *angBall = -*angBall;
Mickado 6:55319ed07a08 96 }
Mickado 6:55319ed07a08 97 pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0
Mickado 6:55319ed07a08 98 pc.printf("o"); //Place le curseur à 0:0
Mickado 6:55319ed07a08 99 return 3;
Mickado 6:55319ed07a08 100 }
Mickado 6:55319ed07a08 101
Mickado 6:55319ed07a08 102
Alex_Hochart 7:fd3602c86d75 103 int print_ball(Serial &pc, int *distance1, int *distance2, double *posBallX, double *posBallY){
Alex_Hochart 7:fd3602c86d75 104 pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0
Alex_Hochart 7:fd3602c86d75 105 pc.printf(" "); //Place le curseur à 0:0
Alex_Hochart 8:8d6474336444 106 if(*posBallX <= 50){
Alex_Hochart 7:fd3602c86d75 107 if(*distance1 <= 10){
Alex_Hochart 8:8d6474336444 108 *posBallY = 4;
Alex_Hochart 7:fd3602c86d75 109 }
Alex_Hochart 8:8d6474336444 110 else if(*distance1 >= 33){
Alex_Hochart 8:8d6474336444 111 *posBallY = 28;
Alex_Hochart 7:fd3602c86d75 112 }
Alex_Hochart 7:fd3602c86d75 113 else{
Alex_Hochart 8:8d6474336444 114 *posBallY = *distance1-5;
Alex_Hochart 7:fd3602c86d75 115 }
Alex_Hochart 7:fd3602c86d75 116 }
Alex_Hochart 7:fd3602c86d75 117 else
Alex_Hochart 7:fd3602c86d75 118 {
Alex_Hochart 7:fd3602c86d75 119 if(*distance2 <= 10){
Alex_Hochart 8:8d6474336444 120 *posBallY = 4;
Alex_Hochart 7:fd3602c86d75 121 }
Alex_Hochart 7:fd3602c86d75 122 else if(*distance2 >= 34){
Alex_Hochart 8:8d6474336444 123 *posBallY = 28;
Alex_Hochart 7:fd3602c86d75 124 }
Alex_Hochart 7:fd3602c86d75 125 else{
Alex_Hochart 8:8d6474336444 126 *posBallY = *distance2-5;
Alex_Hochart 7:fd3602c86d75 127 }
Alex_Hochart 7:fd3602c86d75 128 }
Alex_Hochart 7:fd3602c86d75 129 pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX); //Place le curseur à 0:0
Alex_Hochart 7:fd3602c86d75 130 pc.printf("o"); //Place le curseur à 0:0
Alex_Hochart 7:fd3602c86d75 131 return 3;
Alex_Hochart 7:fd3602c86d75 132 }
Alex_Hochart 7:fd3602c86d75 133
Alex_Hochart 7:fd3602c86d75 134
Alex_Hochart 7:fd3602c86d75 135
Mickado 6:55319ed07a08 136 #endif