Comment gérer le déplacement d'un personnage dans un environnement à plateforme, obstacle et trous?
​
-
Comment faire défiler des plate-formes et des ennemis aléatoirement?
​
Comment faire apparaître des rectangles aléatoirement ?
-
Tracer des rectangles à une distance accessible par le personnage.
void plateforme() {
for (int i=0; i<nombre; i++) {
fill(#000000);
rect(Xplateforme[i], Yplateforme[i], 100, 10);
Xplateforme[i]=Xplateforme[i]-4;
}
-
Faire savoir au code le moment où le rectangle suivant doit apparaître.
for (int i=0; i<nombre; i++) {
Xplateforme[i]=400+300*i;
Yplateforme[i]=(int)random(300, 600);
}
Comment faire disparaître les rectangles précédents ?
-
Faire savoir au code le moment où le rectangle précédent doit disparaître.
-
Comment faire sauter le personnage en le faisant avancer?
​
Comment déplacer le personnage avec les flèches du clavier?
-
Faire varier la trajectoire du saut en appuyant sur les flèches de droite et de gauche.
void move() {
if (keyPressed) {
if (keyCode == RIGHT) {
x=x+5;
}
}
if (keyPressed) {
if (keyCode == LEFT) {
x=x-5;
}
}
}
Comment faire sauter le personnage en permanence ?
-
Faire déplacer le personnage vers le haut lorsqu'il touche la plate-forme.
y=vitesseY+y;
for (int i=0; i<nombre; i++) {
if (y+50>Yplateforme[i]) {
if (y+50<Yplateforme[i]+20) {
if (x>Xplateforme[i]-50) {
if (x<Xplateforme[i]+90) {
vitesseY=-vitesseY;
score=score+1;
}
}
}
}
}
-
Déplacer vers le bas lorsqu'il atteint une certaine hauteur jusqu'à ce qu'il touche la plate-forme.
if (y<40) {
vitesseY=-vitesseY;
}
}
Comment permettre au personnage de rebondir sur les plateformes et non dans le vide ?
-
Faire perdre le joueur lorsque le personnage touche le bas de l'écran.
//variable :
boolean perdu=false;
if (y+60>700) {
perdu=true;
}
-
Faire perdre le joueur lorsque le personnage touche un ennemi.
for (int i=0; i<nombre; i++) {
if (y+50>Yennemi[i]) {
if (y+50<Yennemi[i]+60) {
if (x>Xennemi[i]-60) {
if (x<Xennemi[i]+60) {
mort.play();
perdu=true;
}
}
}
}
}
}
-
Afficher écran "game over" lorsque le joueur perd.
//variable :
boolean perdu=false;
if perdu=true {
xscore=340;
yscore=200;
y=10000;
fill(0);
textSize(50);
text("score : "+score, xscore, yscore);
text("Game Over", 320, 350);
}
-
Comment gérer le score et les records ?
​
Comment afficher le score pendant le jeu ?
-
Ajouter +1 au score à chaque nouvelle plate-forme touchée.
textSize(30);
text("score : "+score, xscore, yscore);
(voir saut du personnage)
-
Ne pas ajouter +1 au score si la même plateforme est touchée 2 fois.
​
Comment enregistrer un record établit ?
-
Choisir le score le plus élevé comme record.
-
Afficher le record.
​
​
​