Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API HCSR04 X_NUCLEO_IDB0XA1 mbed
Fork of contest_IOT_10 by
Revision 8:8d6474336444, committed 2015-11-04
- Comitter:
- Alex_Hochart
- Date:
- Wed Nov 04 20:41:31 2015 +0000
- Parent:
- 7:fd3602c86d75
- Commit message:
- For Contest
Changed in this revision
--- 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);
     }
 }
 
    