Concevoir un Labyrinthe

Transcription

Concevoir un Labyrinthe
ISN-Labyrinthe
Concevoir un Labyrinthe…….
Le principe est le suivant : On déplace un objet sur une image dont le fond est blanc et les murs du labyrinthe
sont noirs.
Comme chacun le sait : le blanc en RVB est (255,255,255) et le noir est (0,0,0).
Suivant le sens de déplacement on teste si le pixel suivant a son rouge à 255, et dans ce cas on avance…..
Si l’objet rencontre un mur son rouge sera à 0 et le test ne sera donc pas favorable……
Etape 1 :
Dessiner dans Paint par exemple un labyrinthe dont la taille doit être celle de la fenêtre d’execution du
programme. Par exemple 640X480 pixels. Et l’enregistrer avec l’extension png .
Choisir une image avec une extension (png) pour l’objet ( pourquoi pas un Tux…)
Faites glisser ces deux images dans votre sketch…….
ISN-Labyrinthe
Etape 2 :
La structure du programme
PImage parcours1;
PImage tux;
int x = 15;
int y = 430;
float tuxwidth = 20;
float tuxheight = 40;
Déclarations des variables
void setup() {
size(640, 480);
smooth();
tux = loadImage("Tux.png");
parcours1 = loadImage("parcours.png");
}
void draw() {
background(255.0);
image(parcours1, 0, 0);
bougerTux(x + 10, y + 20);
image(tux, x, y, tuxwidth, tuxheight);
}
Un projet possible
D’autres niveaux….
Des scores……
Des points de vie…
Des obstacles….
Comme d’habitude
Le « draw » .
On teste avec le milieu du
« tux »
void bougerTux(int cx, int cy) {
if (keyPressed) { // Si une touche est appuyée
if (key == CODED) { // Si c'est une touche "spéciale" (= ni une lettre ni un chiffre)
if (keyCode == UP) { // Si c'est la flèche du haut
if (red(get(cx, cy-1)) == 255) {
y=y-1;
}
}
La fonction est à compléter….
else if
………………………….
………………………….
…………………………..
}
}
if (red(get(cx, cy-1)) == 255) teste si le rouge de la couleur du pixel
}
(cx,cy-1) vaut 255…..