For Contest

Dependencies:   BLE_API HCSR04 X_NUCLEO_IDB0XA1 mbed

Fork of contest_IOT6 by Contest IOT GSE5

Files at this revision

API Documentation at this revision

Comitter:
Alex_Hochart
Date:
Wed Nov 04 20:41:31 2015 +0000
Parent:
7:fd3602c86d75
Commit message:
For Contest

Changed in this revision

display.h Show annotated file Show diff for this revision Revisions of this file
jeu.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/display.h	Wed Nov 04 15:29:42 2015 +0000
+++ b/display.h	Wed Nov 04 20:41:31 2015 +0000
@@ -53,14 +53,14 @@
 
 void set_pos_vector(int *pos, int distance){
             
-    if(distance <= 10){
+    if(distance <= 9){
         for(int i=0;i<=5;i++){ pos[i] = 1; }
     }
-    else if(distance >= 34){
+    else if(distance >= 33){
         for(int i=24;i<=29;i++){ pos[i] = 1; }
     }
     else{
-        for(int i=(distance-10);i<=(distance-4);i++){ pos[i] = 1; }
+        for(int i=(distance-9);i<=(distance-4);i++){ pos[i] = 1; }
     }   
 }
 
@@ -103,27 +103,27 @@
 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(*posBallY <= 50){
+    if(*posBallX <= 50){
         if(*distance1 <= 10){
-            *posBallX = 4;
+            *posBallY = 4;
         }
-        else if(*distance1 >= 34){
-            *posBallX = 27;
+        else if(*distance1 >= 33){
+            *posBallY = 28;
         }
         else{
-            *posBallX = *distance1;
+            *posBallY = *distance1-5;
         }
     }
     else
     {
         if(*distance2 <= 10){
-            *posBallX = 4;
+            *posBallY = 4;
         }
         else if(*distance2 >= 34){
-            *posBallX = 27;
+            *posBallY = 28;
         }
         else{
-            *posBallX = *distance2;
+            *posBallY = *distance2-5;
         }
     }
     pc.printf("\033[%d;%dH",(int)*posBallY, (int)*posBallX);     //Place le curseur à 0:0
--- a/jeu.h	Wed Nov 04 15:29:42 2015 +0000
+++ b/jeu.h	Wed Nov 04 20:41:31 2015 +0000
@@ -78,7 +78,7 @@
         p2_score=0;
         chronoActive=0;
         
-        posBallX = 5.0;
+        posBallX = 4.0;
         posBallY = 19.0;
         angBall = 25.0;
         state = 0;
--- a/main.cpp	Wed Nov 04 15:29:42 2015 +0000
+++ b/main.cpp	Wed Nov 04 20:41:31 2015 +0000
@@ -5,17 +5,17 @@
 #include <math.h>
 
 
-#define ECHO_1  PA_9
-#define ECHO_2  PB_9
-#define TRIG_1  PC_7
-#define TRIG_2  PB_8
+#define TRIG_1  PA_9
+#define TRIG_2  PB_10
+#define ECHO_1  PC_7
+#define ECHO_2  PA_8
 #define PUSH    USER_BUTTON //PC_13
 #define LED_1   LED1
 
 /*
 #define ECHO_1  PA_4
 #define ECHO_2  PB_3
-#define TRIG_1  PB_5
+#define TRIG_1  PA_5
 #define TRIG_2  PA_10
 #define PUSH    PA_9 //PC_13
 #define LED_1   PA_8
@@ -27,7 +27,7 @@
 //------------------------------------
 
 
-DigitalOut led(LED_1);      //Led d'état
+//DigitalOut led(LED_1);      //Led d'état
 DigitalIn bp(PUSH);
 Serial pc(USBTX, USBRX);    //UART
 
@@ -75,8 +75,10 @@
     tickerChrono.attach(&jeu, &InfosJeu::incrementeChrono, 1);
     
     //Initialisation du BLE
+    /*
     initJeuBLE(ble);
     ble.gap().onDisconnection(disconnectionCallback);
+    */
     
     //Initialisation de l'affichage
     pong_init_ttempro(pc);
@@ -87,20 +89,20 @@
         
         /*
         ******* Mise à jour des données BLE chaque seconde *******
-        */
+        
         if(triggerSensorPolling && ble.getGapState().connected){
             triggerSensorPolling = false; // flag indiquant qu'une seconde s'est écoulée, il faut mettre à jour les données BLE           
             miseAJourBLE(ble, jeu.p1_score, jeu.p2_score, jeu.chrono);
         }else{
             ble.waitForEvent(); // low power wait for event
         }
-        
+        */
         /*
         ******* Mécanique de jeu ********
         */
         switch(jeu.state){
         case 0 :    if(bp.read() != 1){ 
-                        jeu.state = 3; 
+                        jeu.state = 4; 
                         pong_init_ttempro(pc);
                     }
                     break;
@@ -119,7 +121,6 @@
                     print_ball(pc,&jeu.distance1,&jeu.distance2,&jeu.posBallX,&jeu.posBallY);
                     if(bp.read() != 1){ 
                         jeu.state = 3; 
-                        pong_init_ttempro(pc);
                         jeu.setChronoActive();
                     }
                     break;
@@ -144,13 +145,13 @@
                         pc.printf("\033[16;60H"); 
                         pc.printf("P2  WIN ");
                         jeu.stopChrono();
-                        jeu.reinitPosition(0, 0, 5.0, 19.0, 25.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
+                        jeu.reinitPosition(0, 0, 4.0, 19.0, 25.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
                     }
                     else{
                         pc.printf("\033[2J");       //Efface la console
-                        pc.printf("\033[10;60H"); 
+                        pc.printf("\033[16;55H"); 
                         pc.printf("P1 : %d  // P2 : %d",jeu.p1_score,jeu.p2_score);
-                        jeu.reinitPosition(jeu.p1_score, jeu.p2_score, 5.0, 19.0, 25.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
+                        jeu.reinitPosition(jeu.p1_score, jeu.p2_score, 4.0, 19.0, 25.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
                     }
                     jeu.state = 0;
                     break;
@@ -161,18 +162,18 @@
                         pc.printf("\033[16;60H"); 
                         pc.printf("P1  WIN ");
                         jeu.stopChrono();
-                        jeu.reinitPosition(0, 0, 124.0, 19.0, 145.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
+                        jeu.reinitPosition(0, 0, 125.0, 19.0, 145.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
                     }
                     else{
                         pc.printf("\033[2J");       //Efface la console
-                        pc.printf("\033[10;60H"); 
+                        pc.printf("\033[16;55H"); 
                         pc.printf("P1 : %d  // P2 : %d",jeu.p1_score,jeu.p2_score);
-                        jeu.reinitPosition(jeu.p1_score, jeu.p2_score, 124.0, 19.0, 145.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
+                        jeu.reinitPosition(jeu.p1_score, jeu.p2_score, 125.0, 19.0, 145.0); // (p1_score, p2_score, posBallX, posBallY, angBall)
                     }
                     jeu.state = 0;
                     break;
         }
-        wait(0.1);
+        wait(0.075);
     }
 }