Hello, I would like,when I click next to a square or I take too long to click on it, a counter is displayed, example if Iam mistaken 2 times I diplayed 2. When i tried this i encountered an error witch Java that i do not know to solve here is my code :
float wait2 = 1000 - floor(millis()/1000)*90;
int lastTime = 0;
int score = 0;
int score2 = 0;
int bonus = 1;
int square_size = 50;
float square_x;
float square_y;
final int menu = 0;
final int jeux = 1;
final int setting = 2;
int state = menu;
PFont font;
PImage img;
PImage rs;
PFont police;
void setup() {
size(900,600); //feunetre 900x600
smooth(); //dessine la geometrie avec des arretes lisses
police = loadFont("Arial-Black-48.vlw"); //charger police d'écriture
img=loadImage("Sans titre-67.jpg"); //quel image je dois charger (au prealable mis dans data)
rs=loadImage("rs.jpg");
}
//**********Changement de fenetre*********\\
void draw() {
switch (state) {
case menu:
showMenu(); //developpement plus bas
break; //passer a l'instruction suivante
case setting:
showSetting(); //developpement plus bas
break; //passer a l'instruction suivante
case jeux:
handlejeux(); //developpement plus bas
break; //passer a l'instruction suivante
default:
println ("Unknown state (in draw) "
+ state
+ " ++++++++++++++++++++++");
exit(); //quitter le programme
break; //passer a l'instruction suivante
}
}
//**********Multiplicateur de score (score de base + bonus)*********\\
void mousePressed() {
if (state!=jeux)
return;
if ( over_square() ) {
score += bonus; //plus j'appuye plus je gagne du score
bonus++;
score2 += 1;
} else {
score = 0; //score de base
bonus = 1; //score +1 par combo
score2 = 0; //autre score mais avance de 1
}
randomize_square_position();
}
void keyPressed() {
switch (state) {
case menu:
keyPressedForMenu(); //developpement plus bas
break; //passer a l'instruction suivante
case setting:
showSetting(); //developpement plus bas
break;
case jeux:
keyPressedForjeux(); //developpement plus bas
break; //passer a l'instruction suivante
default:
println ("Unknown state (in keypressed) "
+ state
+ " ++++++++++++++++++++++");
exit(); //quitter le programme
break; //passer a l'instruction suivante
}
}
//**********Action si touche pressé (changement de background)*********\\
void keyPressedForMenu() {
switch(key) {
case '1': //si j'appuye sur 1....
state = jeux; //changer ecran sur jeux
break; //passer a l'instruction suivante
case 'x': //si j'appuye sur x....
case 'X': //ou X
exit(); //quitter le programme
break; //passer a l'instruction suivante
}
}
void keyPressedForShowSetting() {
switch(key) {
case '2':
state = setting;
break;
}
}
void keyPressedForjeux() {
switch(key) {
default:
key=0;
state = menu;
break; //passer a l'instruction suivante
}
}
//**********Apparence visuel du menu (emplacement des textes...etc) **********\\
void showMenu() { //Mon ecran menu
image (img,0,0); //joli photo fais pas mes soins ;)
}
//**********Apparence visuel des settings **********\\
void showSetting(){
background(78, 61, 40);
}
//**********Mon jeux**********\\
void handlejeux() { //mon ecran jeux
image (rs,0,0); //couleur du fond noir
fill(200,50,255); //carré
strokeWeight(2); //taille du contour noir du carré
if (lastTime + wait2 < millis()) { //si j'ai pas click au bout de X temps
randomize_square_position(); //alors nouveau carré
}
rect(square_x, square_y, square_size, square_size); //dessin du carré
fill(255); //les textes et score en blanc
textFont(police,32); //mettre la police d'écriture
text("Score = ", 680,50, height-25); //Afficher "Score =" a certaine coo
textFont(police,32); //mettre la police d'écriture
textSize(32); //taille du texte
textFont(police,32); //mettre la police d'écriture
text(score, 830,50, height-25); //coordonnée du score
textFont(police,32); //mettre la police d'écriture
text("X ", 30,570, height-25); //Afficher "X" a certaine coo
textFont(police,32); //mettre la police d'écriture
text(score2, 60,570, height-25); //coordonnée du score
}
void randomize_square_position() { //commande du random spawn
square_x = random(width - square_size); //Spawn random de carré sur les coo X
square_y = random(height - square_size); //Spawn random de carré sur les coo Y
lastTime = millis()- floor(millis()/10000)*90; //depop au bout de x temps (le temps change au bout de X secondes en ms)
}
boolean over_square() {
return(
mouseX > square_x && //si je click sur le carré, alors disparition
mouseX < square_x + square_size &&
mouseY > square_y &&
mouseY < square_y + square_size
);
}