Hello
Je suis en train d'essayer de faire un jeu de "Labirinthe" , je commence à programmer mon skecth qui fonctione à la base :
L'idée est de devoir avec le clavier guider une balle dans le labirynthe (ici rectanglen blanc pour test) sans toucher les bords.
Par contre je ne parviens pasà faire en sorte que lorsque l'on perd, suite à l'image "PERDU" qui s'affiche, l'on puisse reprendre la partie au début. (via un temps écoulé ou une touche pressée)
Voici le code en l'état :
int x = 150; // emplacement x balle
int y = 300; // emplacement y balle
int tailleballe = 10; // taille de la balle
int increment = 45; // increment de la balle
color c;
color b = color(255,0,0);
PImage erreur;
void setup(){
size (800,600);
erreur = loadImage("message_erreur.png");
}
void draw () {
background (0,0,255);
smooth();
noStroke();
fill(255);
rectMode(CENTER);
rect(400,300, 600, 100);
stroke(b);
strokeWeight(5);
fill(0,0,0,0);
ellipse(x, y, tailleballe, tailleballe);
c = get(x,y);
println("le numéro de la couleur est", (c));
if (c == -1) {
}
else {
image(erreur, 0,0);
}
}
void keyPressed(){
if (c == -1) {
tailleballe ++; //augmente la taille de la souris
}
else {
noLoop(); //réduit la taille de la souris si autre couleur
}
if (keyCode == RIGHT){
x += increment;
}
if (keyCode == LEFT){
x -= increment;
}
if (keyCode == UP){
y -= increment;
}
if (keyCode == DOWN){
y += increment;
}
}
Merci vraiment pour votre aide
Hors ligne
Bonjour,
Il faut permettre à Processing de continuer à boucler, pour cela j'ai introduit une variable booléenne qui change d'état quand la balle sort. Dans ce cas il s'affiche perdu pendant un temps donné.
int x = 150; // emplacement x balle int y = 300; // emplacement y balle int tailleballe = 10; // taille de la balle int increment = 45; // increment de la balle color c; color b = color(255, 0, 0); PImage erreur; boolean perdu; // Indicateur de jeu en cours int verif; // Variable de temporisation void setup() { size (800, 600); //erreur = loadImage("message_erreur.png"); perdu = false; verif = 0; } void draw () { if (!perdu) { background (0, 0, 255); smooth(); noStroke(); fill(255); rectMode(CENTER); rect(400, 300, 600, 100); stroke(b); strokeWeight(5); fill(0, 0, 0, 0); ellipse(x, y, tailleballe, tailleballe); c = get(x, y); println("le numero de la couleur est", (c)); if (c != -1) { perdu = true; } } else { background(0); fill(255); text("PERDU", 50, height / 2); if (verif == 0) { verif = millis(); } if (millis() - verif > 5000) { // Attente x = 150; // emplacement x balle y = 300; // emplacement y balle perdu = false; verif = 0; } } } void keyPressed() { if (c == -1) { tailleballe ++; //augmente la taille de la souris } else { //noLoop(); //reduit la taille de la souris si autre couleur } if (keyCode == RIGHT) { x += increment; } if (keyCode == LEFT) { x -= increment; } if (keyCode == UP) { y -= increment; } if (keyCode == DOWN) { y += increment; } }
Dernière modification par Mushussu (2015-11-02 10:30:33)
Hors ligne
Merci Merci,
C'est exactement ce que je cherchais, c'est parfait.
Je vais poursuivre le programme, et je vais notamment chercher à inscrire les scores ( ou le nombre de fois que l'on sort du jeu)... Je te tiendrais informer si je rencontre de nouveaux problème.
Merci encore
nicolas
Hors ligne
Pages: 1