Contest IOT GSE5
/
contest_IOT3
Pong Game Tea Term
Fork of contest_IOT2 by
main.cpp
- Committer:
- Alex_Hochart
- Date:
- 2015-10-14
- Revision:
- 3:6bcdaa2636ec
- Parent:
- 2:35466dfc81fe
- Child:
- 4:ed21ec4a79ad
File content as of revision 3:6bcdaa2636ec:
#include "mbed.h" #include "HCSR04.h" #define ECHO_1 PA_8 #define ECHO_2 PB_4 #define TRIG_1 PB_10 #define TRIG_2 PB_5 #define PUSH USER_BUTTON //PC_13 #define LED_1 LED1 //------------------------------------ // Hyperterminal configuration // 9600 bauds, 8-bit data, no parity //------------------------------------ Serial pc(USBTX, USBRX); //UART DigitalOut led(LED_1); //Led d'état InterruptIn button(PUSH); //Bouton d'interruption HCSR04 sensor1(TRIG_1, ECHO_1); HCSR04 sensor2(TRIG_2, ECHO_2); void pong_init(){ 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 } } int main() { int distance1; int distance2; int pos1prec[30]; int pos2prec[30]; int pos1[30]; int pos2[30]; pc.baud(115200); pong_init(); wait(1); //Initialisation de l'interruption : en appuyant sur le bouton bleu de la carte, le programme change d'état //Boucle d'exécution du programme while(1) { led=1; for(int i=0; i<=29; i++){ pos1prec[i]= pos1[i]; pos2prec[i]= pos2[i]; pos1[i]= 0; pos2[i]= 0; } distance1 = sensor1.distance(1); //Mesure de la distance distance2 = sensor2.distance(1); //Mesure de la distance if(distance1 <= 10){ for(int i=0;i<=5;i++){ pos1[i] = 1; } } else if(distance1 >= 34){ for(int i=24;i<=29;i++){ pos1[i] = 1; } } else{ for(int i=(distance1-10);i<=(distance1-4);i++){ pos1[i] = 1; } } if(distance2 <= 10){ for(int i=0;i<=5;i++){ pos2[i] = 1; } } else if(distance2 >= 34){ for(int i=24;i<=29;i++){ pos2[i] = 1; } } else{ for(int i=(distance2-10);i<=(distance2-4);i++){ pos2[i] = 1; } } 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 } } } wait(0.1); } }