mise en place du mouvement du carré sur la grille et d'une touche de réinitialisation du jeu
Mathieu :
Aujourd'hui, j'ai trouvé sur le site : https://flossmanuals.developpez.com/tutoriels/processing/?page=page_8 , un moyen de définir les mouvements du carré, d'une certaine manière, en fonction du temps, grace à : frameRate(), frameCount ainsi que la commande % (modulo).
Puis, je les ai adapté à notre code afin d'obtenir cela :
frameRate(30);
...
if (frameCount % 20 == 0) {
if (a == true){ y=y-20;} else {y=y;} // le carre se deplace automatiquement dans la direction donnée : haut
if (b == true){ y=y+20;} else {y=y;} // le carre se deplace automatiquement dans la direction donnée : bas
if (c == true){ x=x-20;} else {x=x;} // le carre se deplace automatiquement dans la direction donnée : gauche
if (d == true){ x=x+20;} else {x=x;} // le carre se deplace automatiquement dans la direction donnée : droite
if (e == true){ x=170;y=170; a = false; b=false;c=false;d=false; }
}
Ainsi, le carré se déplace à intervalles réguliers, de case en case, en non plus en continue dans tout les sens.
Sur les images suivantes, j'ai laisé le carré avancer de 2 cases :
Puis, jai essayé de mettre en place une touche de réinitialisation du jeu, je voulais que lorsque l'on appuie sur "SHIFT", le jeu se réinitialise et que le carré se remette en place au milieu de la grille comme au début du jeu.
J'ai donc ajouté les éléments de code suivants :
boolean e = false;
...
dans le key pressed :
if (keyCode == SHIFT ) { e = true ;} else { if (keyCode==UP||keyCode ==DOWN||keyCode == LEFT||keyCode == RIGHT){e= false; }} // si on appuie sur SHIFT, le carré revient à la position de départ => reinitialisation du jeu
...
et dans le void draw () :
if (e == true){ x=170;y=170; a = false; b=false;c=false;d=false; }
Grace à ceci, lorsque l'on appuie sur "SHIFT", le carré revient à sa position de départ, et si l'on appuie sur les touches directionnelles, il avance normalement, on peut donc recommencer comme au début du jeu.
Le probleme actuel maintenant est que le cercle n'est toujours pas réinitialisé lui.
(Publié par Mathieu)