const float largeurMin = 40;
const float largeurMax = 150;
+const float ventMax = 30;
+
const float largeurChateau = 8.5;
const float hauteurChateau = 7;
float hauteurMont;
float wnd;
-/* Retourne un nombre pseudo-aléatoire compris entre 0 et le paramètre
- * 'max' (exclus)
+/* Retourne un nombre pseudo-aléatoire compris entre le paramètre
+ * 'min' (inclus) et le paramètre 'max' (exclus)
*/
float frand(float min, float max)
{
// 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)
{
largeurMont = frand(largeurMin, largeurMax);
hauteurMont = frand(hauteurMin, hauteurMax);
- wnd = frand(-30, 30);
+ wnd = frand(-ventMax, ventMax);
w.setBgColor("skyblue");
w.clearGraph();
dessineTerrain(w, largeurMont, hauteurMont);
vy += ay * dt;
w.msleep(10);
+// w.sync();
w.setColor("skyblue");
w.fillCircle(wx, wy, 2);
// w.setColor("black");
do {
joueur = 3 - joueur;
+ w.sync();
std::cout << "-=| Joueur " << joueur << " |=-";
float alpha;
} while (!perdant);
dessineFlammes(w, x, y);
std::stringstream msg;
- msg << "Joueur " << perdant;
+ msg << " Joueur " << perdant;
if (perdant == joueur)
- msg << " s'est suicidé !";
+ msg << " s'est suicidé ! ";
else
- msg << " a perdu !";
+ msg << " a perdu ! ";
w.setColor("darkred");
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;
}