Nous allons initialiser une variable "niveau" à 0, et lorsque le smiley atteint le rectangle 2, on incrémente la variable niveau de 1, ce qui aura pour effet de démarrer un second niveau en déplaçant les deux rectangles
smiley.position.x=780;
smiley.position.y=260;
par celles-ci:
smiley.position.x=rect1.position.x;
smiley.position.y=rect1.position.y;
var niveau=0;
var test=false;
changementNiveau();
Créons la fonction changementNiveau() avec ce code :
//test du contact de smiley avec le rectangle2
function changementNiveau() {
if (smiley.overlapPoint(rect2.position.x, rect2.position.y)) {
niveau=niveau+1;
test=true;
}
}
//instruction conditionnelle qui n'est exécutée que si "niveau==1 et test==true"
if (niveau==1 && test==true) {
//nouvelles position du rectangle 1
rect1.position.x=25;
rect1.position.y=250;
//nouvelles position du rectangle 2
rect2.position.x=775;
rect2.position.y=25;
//positionnement du smiley dans le rectangle 1
smiley.position.x=rect1.position.x;
smiley.position.y=rect1.position.y;
//remise à false du test pour que cette instruction ne puisse s'exécuter qu'une seule fois
test=false;
}
Rajoutez également cette ligne dans le draw() pour faire afficher le niveau:
text("niveau :"+niveau, 480, 20);