Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
.
[graphlib.git] / chateaux / chateaux.cpp
index c0c9ade..9238389 100644 (file)
@@ -61,23 +61,23 @@ float deg2rad(float deg)
 // conversion coordonnées réelles -> coordonnées fenêtre
 int rtowX(const DrawingWindow& w, float rx)
 {
-    return (int )roundf(w.width * (rx - rXMin) / (rXMax - rXMin + 1.0));
+    return (int )roundf((w.width - 1) * (rx - rXMin) / (rXMax - rXMin));
 }
 
 int rtowY(const DrawingWindow& w, float ry)
 {
-    return (int )roundf(w.height * (rYMax - ry) / (rYMax - rYMin + 1.0));
+    return (int )roundf((w.height - 1) * (rYMax - ry) / (rYMax - rYMin));
 }
 
-// conversion coordonnées réelles -> coordonnées fenêtre
+// conversion coordonnées fenêtre -> coordonnées réelles
 float wtorX(const DrawingWindow& w, int wx)
 {
-    return (rXMax - rXMin + 1.0) * wx / w.width + rXMin;
+    return (rXMax - rXMin) * wx / (w.width - 1) + rXMin;
 }
 
 float wtorY(const DrawingWindow& w, int wy)
 {
-    return -(rYMax - rYMin + 1.0) * wy / w.height - rYMax;
+    return -(rYMax - rYMin) * wy / (w.height - 1) - rYMax;
 }
 
 float hauteurMontagne(float largeur, float hauteur, float x)
@@ -247,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");
@@ -280,6 +281,7 @@ int jeu1(DrawingWindow& w)
     do {
         joueur = 3 - joueur;
 
+        w.sync();
         std::cout << "-=| Joueur " << joueur << " |=-";
 
         float alpha;
@@ -320,6 +322,7 @@ int jeu1(DrawingWindow& w)
     w.setBgColor("white");
     w.drawTextBg(w.width / 2, w.height / 3, msg.str().c_str(),
                  Qt::AlignCenter);
+    w.sync();
     std::cout << msg.str() << std::endl;
     return perdant;
 }