séance 7 - en groupe
Aujourd'hui, nous avons cherché sur internet pour que notre simple carré se transforme en serpent, hélas, en vain, sachant que la date de remise des projets approche à grands pas, et que ce probleme est depuis le début du projet, sans aucune solution, nous nous sommes donc d'abord mis d'accord pour affiner l'esthétique du jeu.
Ainsi, nous avons aggrandi la fenetre de jeu, puis affiché le titre et les instructions du jeu sur la gauche de la fenetre, et mis en place une ligne contournant la grille de jeu que nous avons coloré de gris clair, et nous obtenons le résultat suivant :

Pour arriver à cela, voici le code que nous avons mis :
void draw (){
...
background(100,100,100); // le fond est en gris foncé
fill(150); // la couleur est gris clair
rect(10,10,340,340); //le contour est en gris clair
fill(100,100,100); // la couleur est en gris foncé
rect(30,30,300,300); // la grille est en gris foncé
PFont mapolice2; // créé une police de texte nommée mapolice2
mapolice2 = loadFont("EurostileBold-48.vlw"); // charge la police "EurostileBold-48" sur processing
textFont(mapolice2,30); // le texte est en taille 30
fill(0,200,0); // la couleur est rouge
text("SNAKE",450,35); // affiche snake pour x=420 et y=35
textFont(mapolice2,15); // le texte est en taille 15
fill(200,200,0); // la couleur est jaune
text(" Appuyez sur ' UP ' pour se déplacer vers le haut ",360,75); // affiche le texte aux coordonnées données
text(" Appuyez sur ' DOWN ' pour se déplacer vers le bas ",360,105); // affiche le texte aux coordonnées données
text(" Appuyez sur ' RIGHT ' pour se déplacer vers la droite ",360,135); // affiche le texte aux coordonnées données
text(" Appuyez sur ' LEFT ' pour se déplacer vers la gauche ",360,165); // affiche le texte aux coordonnées données
text(" Appuyez sur ' SHIFT ' pour réinitialiser le jeu ",360,265); // affiche le texte aux coordonnées données
text(" Appuyez sur ' echap ' pour quitter le jeu ",360,295); // affiche le texte aux coordonnées données
...
}
Et puis lorsque l'on perd, que le jeu affiche perdu et la touche pour réessayer, dans le void draw() :
if( x<30 || x>310 || y<30 || y>310 ) {
PFont mapolice1; // créé une police de texte nommée mapolice1
mapolice1 = loadFont("EurostileBold-48.vlw"); // charge la police "EurostileBold-48" sur processing
textFont(mapolice1,75); // définit la police et la taille du texte
fill(100,100,100); // la couleur est gris clair
rect(30,30,300,300); // la grille est en gris clair
fill(200,0,0); // le texte est en rouge
text("PERDU",65,180); //affiche "PERDU" si le carré sort du cadre
fill(0);
textFont(mapolice1,15); // définit la police et la taille du texte
text(" Appuyez sur ' SHIFT ' pour réessayer ",60,265);
...
}
Avec ceci, le jeu donne cela :

Ensuite, dans une idée de fun, nous avons voulu que le carré tourne autour de la grille de jeu, une fois perdu, comme s'il ... nous nargait parce qu'on avait perdu XD .
Le code a rajouter pour ceci est tout simple et se trouve dans le void draw () :
if(x>=330 ) {y=y-2;} // si le carré sort de la grille de jeu par la droite, il monte dans la ligne de contour
if(x<=10 ) { y=y+2;} // si le carré sort de la grille de jeu par la gauche, il descend dans la ligne de contour
if(y<=10 ) { x=x-2;} // si le carré sort de la grille de jeu par le haut, il se dépalce vers la gauche dans la ligne de contour
if(y>=330) { x=x+2;} // si le carré sort de la grille de jeu par le bas, il se dépalce vers la droite dans la ligne de contour
Ainsi, le carré tourne autour de la grille apres avoir perdu :



(Publié par Mathieu)