Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
.
[graphlib.git] / chateaux / chateaux.cpp
index ee53fdb..64d1c01 100644 (file)
@@ -33,6 +33,8 @@ const float k = 0.005;
 const float dt = 0.05;
 
 int nbJoueurs = 2;
+int score1 = 0;
+int score2 = 0;
 
 float largeurMont;
 float hauteurMont;
@@ -171,7 +173,7 @@ void dessineExplosion(DrawingWindow& w, float rx, float ry)
         w.drawCircle(x, y, i);
         w.msleep(10);
     }
-    w.fillCircle(x, y, maxray - 1);
+    //    w.fillCircle(x, y, maxray - 1);
 }
 
 void dessineFlammes(DrawingWindow& w, float x0, float y0)
@@ -204,6 +206,7 @@ void initialise(DrawingWindow& w)
     w.setBgColor("skyblue");
     w.clearGraph();
     dessineTerrain(w, largeurMont, hauteurMont);
+    dessineVent(w, wnd);
     dessineChateau(w, positionChateau1);
     dessineChateau(w, positionChateau2);
     w.setColor("wheat");
@@ -211,7 +214,10 @@ void initialise(DrawingWindow& w)
                Qt::AlignHCenter);
     w.drawText(rtowX(w, positionChateau2), rtowY(w, 0) + 8, "Joueur 2",
                Qt::AlignHCenter);
-    dessineVent(w, wnd);
+    std::stringstream s;
+    s << score1 << " / " << score2;
+    w.drawText(rtowX(w, 0), rtowY(w, 0) + 8, s.str().c_str(),
+               Qt::AlignHCenter);
 }
 
 /* Retour : numéro du perdant, 0 sinon
@@ -241,6 +247,7 @@ int tir(DrawingWindow& w,
         vy += ay * dt;
 
         w.msleep(10);
+        w.sync();
         w.setColor("skyblue");
         w.fillCircle(wx, wy, 2);
 //         w.setColor("black");
@@ -286,7 +293,8 @@ int jeu1(DrawingWindow& w)
         } else {
             alpha = frand(10, 90);
             v0 = frand(10, 100);
-            std::cout << " [ " << (int )alpha << "° ; " << (int )v0 << " ]\n";
+            std::cout << " [ " << (int )alpha << "° ; " << (int )v0 << " ]"
+                      << std::endl;
         }
 
         alpha = deg2rad(alpha);
@@ -313,14 +321,13 @@ int jeu1(DrawingWindow& w)
     w.setBgColor("white");
     w.drawTextBg(w.width / 2, w.height / 3, msg.str().c_str(),
                  Qt::AlignCenter);
-    std::cout << msg.str() << "\n";
+    w.sync();
+    std::cout << msg.str() << std::endl;
     return perdant;
 }
 
 void jeu(DrawingWindow& w)
 {
-    int score1 = 0;
-    int score2 = 0;
     bool rejouer = true;
     do {
         int perdant = jeu1(w);
@@ -328,7 +335,8 @@ void jeu(DrawingWindow& w)
             score2++;
         else if (perdant == 2)
             score1++;
-        std::cout << "### SCORE : " << score1 << " / " << score2 << " ###\n";
+        std::cout << "### SCORE : " << score1 << " / " << score2 << " ###"
+                  << std::endl;
         if (nbJoueurs == 0)
             w.sleep(2);
         else {