# Processing, button, void

**URL:** https://discourse.processing.org/t/processing-button-void/11199
**Category:** Coding Questions
**Created:** [May 13, 2019, 4:58pm UTC](https://discourse.processing.org/t/processing-button-void/11199 "2019-05-13T16:58:43Z")
**Posts on this page:** 12
**Page:** 2

<div class="post-metadata">

### Author: ![macabol](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@macabol](https://discourse.processing.org/u/macabol)
#### Post date: [May 15, 2019, 2:25pm UTC](https://discourse.processing.org/t/processing-button-void/11199/21 "2019-05-15T14:25:50Z")

</div>

yes i find thank you

---

<div class="post-metadata">

### Author: ![macabol](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@macabol](https://discourse.processing.org/u/macabol)
#### Post date: [May 15, 2019, 2:44pm UTC](https://discourse.processing.org/t/processing-button-void/11199/22 "2019-05-15T14:44:02Z")

</div>

why “click to play” does not work anymore

PImage img;  
PImage ile;//fond  
bird b = new bird();//nouvelle partie  
pillar[] p = new pillar[3];//batons

int score=0;//score

int state = 0;

void setup() {  
img = loadImage(“boule.png”);  
ile = loadImage(“Fond.png”);//fond  
size(1000, 800);//ecran  
for (int i = 0; i\<3; i++) {  
p[i]=new pillar(i);//batons  
}  
}

void draw() {  
background(ile);//ile/ fond

if (state==0) {

```
// intro 

if (mousePressed && (mouseButton == LEFT)) { //appuyer sur le bouton
  fill(48);
} else {
  fill(0);
}
rect(340, 200, 220, 50);//encadrement
rect(340, 300, 220, 50);//encadrement

textSize(35); //taille de l’écriture
fill(#FFA500); //couleur écriture

fill(#FF0000); //couleur cadre
rect(310, 50, 300, 100);//encadrement

fill(255); //couleur

text("Flappy Rabbit", 350, 115);//titre debut
text("Click to Play ", 350, 240);//debut
text("Menu ", 385, 340);//menu

```

} else if (state==1) {

```
// GAME 

background(ile);//ile/ fond
rect(20, 20, 100, 50);//cadre score
fill(230);//texte score
text(score, 30, 58); //texte score
b.move(); //mouvement de la balle

b.drawBird(); //vision de balle

b.drag(); //redessente

b.checkCollisions(); //collision

for (int i = 0; i<3; i++) {
  p[i].drawPillar();//batons
  p[i].checkPosition();//batons
}

fill(0);//couleur fond encadrement
textSize(32); //taille de l’écriture
//

```

} else if (state==2) {  
//  
//si perdu  
//  
textSize(32); //taille de l’écriture  
fill(#FF0000);  
rect(340, 100, 220, 50);//encadrement  
rect(340, 200, 220, 50);//encadrement  
fill(255); //couleur

```
text("Game Over", 350, 140);//fin
text("Accueil", 390, 235);//score

```

} else if (state==3) {// else if  
background(#1601FD);// fond  
textSize(32); //taille de l’écriture

```
fill(#21F904); //couleur texte
text("REGLE DU JEU", 350, 75); 
fill(0); //couleur
text("Le but du jeu est de:", 15, 150); 
fill(#FF0000); //couleur
text("-passer entre les poteaux sans les toucher ", 15, 225); 
text("-marquer le plus de points", 15, 300); 
fill(0); //couleur
text("Comment jouer?", 15, 375);
fill(#FF0000); //couleur
text("-appuyer sur la barre espace pour sauter ", 15, 450); 
text("-appuyer sur toutes les touches", 15, 525);
rect(400, 600, 220, 50);//encadrement
fill(0); //couleur
text("RETOUR", 440, 640);

```

}  
}//func

void reset() { //recomencer  
score=0;  
b.yPos=400;  
b.ySpeed=0;  
for (int i = 0; i\<3; i++) {  
p[i].xPos+=550;  
p[i].cashed = false;  
}  
}

void mousePressed() {  
//sauter avec la souris

switch(state) {  
case 0:

```
float x1=340; //emplacement cadre
float y1=200;
float w1=220;
float h1=50;

if (mouseX > x1 && //selection cadre
  mouseX < x1 + w1 && 
  mouseY > y1 &&
  mouseY < y1 + h1) { 

  state=1;
  reset(); //recomence
}
//switch

float x2=340; //emplacement cadre
float y2=300;
float w2=220;
float h2=50;

if (mouseX > x2 && //selection cadre
  mouseX < x2 + w2 && 
  mouseY > y2 &&
  mouseY < y2 + h2) { 

  state=3;
  reset();
}

```

case 3:  
float x3=400; //emplacement cadre  
float y3=600;  
float w3=220;  
float h3=50;

```
if (mouseX > x3 && //selection cadre
  mouseX < x3 + w3 && 
  mouseY > y3 &&
  mouseY < y3 + h3) { 

  state=0;
  reset();
}
//switch

```

case 2:  
float x4=340; //emplacement cadre  
float y4=200;  
float w4=220;  
float h4=50;

```
if (mouseX > x4 && //selection cadre
  mouseX < x4 + w4 && 
  mouseY > y4 &&
  mouseY < y4 + h4) { 

  state=0;
  reset();
}

```

}  
}

void keyPressed() {  
//sauter avec la barre d’espace  
switch(state) {  
case 0:  
state=1;  
reset();  
break;

case 1:  
b.jump();  
break;

case 2:  
reset();  
state=0;  
break;  
//  
case 3:  
state=3;  
reset();  
break;  
}//switch  
}

// ============================================================================================  
// from now on only classes  
class bird {

float xPos, yPos, ySpeed; //position de la balle  
bird() {  
xPos = 250;//position de la balle au début  
yPos = 400;//position de la balle au début  
}  
void drawBird() { //balle  
stroke(#FFA500);  
noFill();  
strokeWeight(5);  
if (yPos\<10)  
yPos=10;  
image(img, b.xPos, b.yPos); // balle  
}  
void jump() { //monter  
ySpeed=-10;  
}  
void drag() { //avancer  
ySpeed+=0.4;  
}  
void move() { //bouger  
yPos+=ySpeed;  
for (int i = 0; i\<3; i++) {  
p[i].xPos-=3;  
}  
}  
void checkCollisions() { //collision avec poteau  
if (yPos\>800) {  
state=2;  
}  
for (int i = 0; i\<3; i++) {  
if ((xPos\<p[i].xPos+10&&xPos\>p[i].xPos-10)&&(yPos\<p[i].opening-100||yPos\>p[i].opening+100)) {  
state=2;  
}  
}  
}  
}//class

class pillar { //poteau  
float xPos, opening;  
boolean cashed = false;

pillar(int i) {  
xPos = 100+(i\*200);  
opening = random(600)+100;  
}

void drawPillar() { //poteau  
line(xPos, 0, xPos, opening-100);  
line(xPos, opening+100, xPos, 800);  
}

void checkPosition() { //poisition  
if (xPos\<0) {  
xPos+=(2003);  
opening = random(600)+100;  
cashed=false;  
}  
if (xPos\<250&&cashed==false) {  
cashed=true;  
score++;  
}  
}  
}//class  
//

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [May 15, 2019, 3:21pm UTC](https://discourse.processing.org/t/processing-button-void/11199/23 "2019-05-15T15:21:19Z")

</div>

Did you fix it?

Chrisir

---

<div class="post-metadata">

### Author: ![macabol](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@macabol](https://discourse.processing.org/u/macabol)
#### Post date: [May 15, 2019, 3:29pm UTC](https://discourse.processing.org/t/processing-button-void/11199/24 "2019-05-15T15:29:33Z")

</div>

no unfortunately I do not understand it’s weird and you?

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [May 15, 2019, 3:40pm UTC](https://discourse.processing.org/t/processing-button-void/11199/25 "2019-05-15T15:40:10Z")

</div>

Did you understand the principles?

Look at function mousePressed.

Hit **ctrl-t** to get correct indents!

It has one switch starting with  
`switch (state) {`  
and ending with  
`} // switch`

Then it has `case 0: ...` etc. for the different states. Each `case` section must end with `break;` before the next `case...` begins.

Check this please.

You now have errors

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [May 15, 2019, 9:21pm UTC](https://discourse.processing.org/t/processing-button-void/11199/26 "2019-05-15T21:21:40Z")

</div>

You still need to learn how to post code correctly. I described it above.

This is quite at the beginning of draw() and it makes no sense:

```auto
    if (mousePressed && (mouseButton == LEFT)) { //appuyer sur le bouton
      fill(48);
    } else {
      fill(0);
    }
    rect(340, 200, 220, 50);//encadrement
    rect(340, 300, 220, 50);//encadrement

```

it makes no sense because **both** buttons light up (not one) when you click somewhere on the screen. What you really want to achieve is that the button you hover **over** with the mouse (without clicking) lights up.

I deleted this part.

Chrisir

**entire sketch**

```auto

PImage img;
PImage ile;//fond
bird b = new bird();//nouvelle partie
pillar[] p = new pillar[3];//batons

int score=0;//score

int state = 0;

void setup() {
  img = loadImage("boule.png");
  ile = loadImage("Fond.png");//fond
  size(1000, 800);//ecran
  for (int i = 0; i<3; i++) {
    p[i]=new pillar(i);//batons
  }
}

void draw() {
  background(0);//ile/ fond

  if (state==0) {

    // intro 

    textSize(35); //taille de l’écriture
    fill(#FFA500); //couleur écriture

    fill(#FF0000); //couleur cadre
    rect(310, 50, 300, 100);//encadrement

    fill(255); //couleur

    text("Flappy Rabbit", 350, 115);//titre debut
    text("Click to Play ", 350, 240);//debut
    text("Instructions ", 355, 340);//menu
  } 
  // ---------------------------
  else if (state==1) {

    // GAME 

    background(0);//ile/ fond
    rect(20, 20, 100, 50);//cadre score
    fill(230);//texte score
    text(score, 30, 58); //texte score
    b.move(); //mouvement de la balle

    b.drawBird(); //vision de balle

    b.drag(); //redessente

    b.checkCollisions(); //collision

    for (int i = 0; i<3; i++) {
      p[i].drawPillar();//batons
      p[i].checkPosition();//batons
    }

    fill(0);//couleur fond encadrement
    textSize(32); //taille de l’écriture
    //
  } 
  // ---------------------------
  else if (state==2) {
    //
    //si perdu
    //
    textSize(32); //taille de l’écriture
    fill(#FF0000);
    rect(340, 100, 220, 50);//encadrement
    rect(340, 200, 220, 50);//encadrement
    fill(255); //couleur

    text("Game Over", 350, 140);//fin
    text("Accueil", 390, 235);//score
  } 
  // ---------------------------
  else if (state==3) {
    background(#1601FD);// fond
    textSize(32); //taille de l’écriture

    fill(#21F904); //couleur texte
    text("REGLE DU JEU", 350, 75); 
    fill(0); //couleur
    text("Le but du jeu est de:", 15, 150); 
    fill(#FF0000); //couleur
    text("-passer entre les poteaux sans les toucher ", 15, 225); 
    text("-marquer le plus de points", 15, 300); 
    fill(0); //couleur
    text("Comment jouer?", 15, 375);
    fill(#FF0000); //couleur
    text("-appuyer sur la barre espace pour sauter ", 15, 450); 
    text("-appuyer sur toutes les touches", 15, 525);
    rect(400, 600, 220, 50);//encadrement
    fill(0); //couleur
    text("RETOUR", 440, 640);
  }
}//func

void reset() { //recomencer
  score=0;
  b.yPos=400;
  b.ySpeed=0;
  for (int i = 0; i<3; i++) {
    p[i].xPos+=550;
    p[i].cashed = false;
  }
}

void mousePressed() {
  //sauter avec la souris

  switch(state) {

    // -------

  case 0:
    float x1=340; //emplacement cadre
    float y1=200;
    float w1=220;
    float h1=50;

    if (mouseX > x1 && //selection cadre
      mouseX < x1 + w1 && 
      mouseY > y1 &&
      mouseY < y1 + h1) { 
      state=1;
      reset(); //recomence
    }

    float x2=340; //emplacement cadre
    float y2=300;
    float w2=220;
    float h2=50;

    if (mouseX > x2 && //selection cadre
      mouseX < x2 + w2 && 
      mouseY > y2 &&
      mouseY < y2 + h2) { 
      state=3;
      reset();
    }
    break; 

    // -------

  case 3:
    float x3=400; //emplacement cadre
    float y3=600;
    float w3=220;
    float h3=50;

    if (mouseX > x3 && //selection cadre
      mouseX < x3 + w3 && 
      mouseY > y3 &&
      mouseY < y3 + h3) { 
      state=0;
      reset();
    }
    break; 

    // -------

  case 2:
    float x4=340; //emplacement cadre
    float y4=200;
    float w4=220;
    float h4=50;

    if (mouseX > x4 && //selection cadre
      mouseX < x4 + w4 && 
      mouseY > y4 &&
      mouseY < y4 + h4) { 
      state=0;
      reset();
    }//if
    break;

    // -------
  }//switch
}//func 

void keyPressed() {
  //sauter avec la barre d’espace
  switch(state) {
  case 0:
    state=1;
    reset();
    break;

  case 1:
    b.jump();
    break;

  case 2:
    reset();
    state=0;
    break;
    //
  case 3:
    state=3;
    reset();
    break;
  }//switch
}//func 

// ============================================================================================
// from now on only classes

class bird {

  float xPos, yPos, ySpeed; //position de la balle
  bird() {
    xPos = 250;//position de la balle au début
    yPos = 400;//position de la balle au début
  }
  void drawBird() { //balle
    stroke(#FFA500);
    noFill();
    strokeWeight(5);
    if (yPos<10)
      yPos=10;
    // image(img, b.xPos, b.yPos); // balle
    ellipse (b.xPos, b.yPos, 7, 7); // balle
  }
  void jump() { //monter
    ySpeed=-10;
  }
  void drag() { //avancer
    ySpeed+=0.4;
  }
  void move() { //bouger
    yPos+=ySpeed;
    for (int i = 0; i<3; i++) {
      p[i].xPos-=3;
    }
  }
  void checkCollisions() { //collision avec poteau
    if (yPos>800) {
      state=2;
    }
    for (int i = 0; i<3; i++) {
      if ((xPos<p[i].xPos+10&&xPos>p[i].xPos-10)&&(yPos<p[i].opening-100||yPos>p[i].opening+100)) {
        state=2;
      }
    }
  }
}//class

class pillar { 
  //poteau
  float xPos, opening;
  boolean cashed = false;

  pillar(int i) {
    xPos = 100+(i*200);
    opening = random(600)+100;
  }

  void drawPillar() { //poteau
    line(xPos, 0, xPos, opening-100);
    line(xPos, opening+100, xPos, 800);
  }

  void checkPosition() { //poisition
    if (xPos<0) {
      xPos+=(2003);
      opening = random(600)+100;
      cashed=false;
    }
    if (xPos<250&&cashed==false) {
      cashed=true;
      score++;
    }
  }
}//class
//

```

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [May 15, 2019, 9:27pm UTC](https://discourse.processing.org/t/processing-button-void/11199/27 "2019-05-15T21:27:07Z")

</div>

continued elsewhere by same user…  
…  
…  
…

---

<div class="post-metadata">

### Author: ![macabol](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@macabol](https://discourse.processing.org/u/macabol)
#### Post date: [May 16, 2019, 5:55pm UTC](https://discourse.processing.org/t/processing-button-void/11199/28 "2019-05-16T17:55:08Z")

</div>

I just miss 2 level in my game but I do not know how to do it. Thank you for your help

---

<div class="post-metadata">

### Author: ![macabol](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@macabol](https://discourse.processing.org/u/macabol)
#### Post date: [May 16, 2019, 6:01pm UTC](https://discourse.processing.org/t/processing-button-void/11199/29 "2019-05-16T18:01:02Z")

</div>

> PImage img;//image boule  
> PImage ile;//fond  
> bird b = new bird();//nouvelle partie  
> pillar p = new pillar[3];//batons
> 
> int score=0;//score
> 
> int state = 0; //inserer des switch pour inserer des “case”  
> //pour simplifier if et else lorsqu’il y a plusieur alternative  
> void setup() {  
> img = loadImage(“boule.png”);//boule  
> ile = loadImage(“Fond.png”);//fond  
> size(1000, 800);//ecran  
> for (int i = 0; i\<3; i++) {  
> p[i]=new pillar(i);//batons  
> }  
> }
> 
> void draw() {  
> background(ile);//ile/ fond
> 
> if (state==0) {
> 
> ```
> // début 
> 
> if (mousePressed && (mouseButton == LEFT)) { //appuyer sur le bouton
> fill(#2EFEF7);
> } else {
> fill(0);
> }
> rect(340, 200, 220, 50);//encadrement
> rect(340, 300, 220, 50);//encadrement
> rect(340, 400, 220, 50);//encadrement
> 
> textSize(35); //taille de l’écriture
> fill(#FFA500); //couleur écriture
> 
> fill(#FF0000); //couleur cadre
> rect(310, 50, 300, 100);//encadrement
> 
> fill(255); //couleur
> 
> text("Flappy Rabbit", 350, 115);//titre debut
> text("niveau1 ", 370, 240);//debut
> text("Règle ", 385, 340);//règle
> text("niveau2", 370, 440);
> 
> ```
> 
> } else if (state==1) {
> 
> ```
> // jeu 
> 
> background(ile);//ile/ fond
> 
> fill(255);
> int s = second(); // Values from 0 - 59 #timer
> 
> line(s, 0, s, 33); 
> fill(0);
> rect(20, 20, 100, 50);//cadre score
> fill(230);//texte score
> text(score, 30, 58); //texte score
> b.move(); //mouvement de la balle
> 
> b.drawBird(); //vision de balle
> 
> b.drag(); //redessente
> 
> b.checkCollisions(); //collision
> 
> for (int i = 0; i<3; i++) {
> p[i].drawPillar();//batons
> p[i].checkPosition();//batons
> }
> 
> fill(0);//couleur fond encadrement
> textSize(32); //taille de l’écriture
> //
> 
> ```
> 
> } else if (state==2) {  
> //  
> //si perdu  
> //  
> textSize(32); //taille de l’écriture  
> fill(#FF0000 );  
> rect(340, 100, 220, 50);//encadrement  
> if (mousePressed && (mouseButton == LEFT)) { //appuyer sur le bouton  
> fill(#2EFEF7);  
> } else {  
> fill(0);  
> }  
> rect(340, 200, 220, 50);//encadrement  
> fill(255); //couleur ecriture
> 
> ```
> text("Game Over", 350, 140);//fin
> text("Accueil", 390, 235);//score
> 
> ```
> 
> } else if (state==3) {// else if  
> background((color) random(#000000));// fond multicolor  
> textSize(32); //taille de l’écriture
> 
> ```
> fill(#21F904); //couleur texte
> text("REGLE DU JEU", 350, 75); 
> fill(0); //couleur
> text("Le but du jeu est de:", 15, 150); 
> fill(#FF0000); //couleur
> text("-passer entre les poteaux sans les toucher ", 15, 225); 
> text("-marquer le plus de points", 15, 300); 
> fill(0); //couleur
> text("Comment jouer?", 15, 375);
> fill(#FF0000); //couleur
> text("-appuyer sur la barre espace pour sauter ", 15, 450); 
> text("-choisir niveau 1 ou 2", 15, 525);
> if (mousePressed && (mouseButton == LEFT)) { //appuyer sur le bouton
> fill(#2EFEF7);
> } else {
> fill(0);
> }
> rect(400, 600, 220, 50);//encadrement
> fill(255); //couleur
> text("RETOUR", 440, 640);
> 
> ```
> 
> }
> 
> ```auto
> /////////////////////////////////////////////////////////////////////////////////////////////////debut de niveau2 
> else if (state==4) {
> }
> }//func
> 
> //////////////////////////////////////////////////////////////////////////////////fin de niv2
> 
> ```
> 
> void reset() { //recomencer  
> score=0;  
> b.yPos=400;  
> b.ySpeed=0;  
> for (int i = 0; i\<3; i++) {  
> p[i].xPos+=550;  
> p[i].cashed = false;  
> }  
> }
> 
> void mousePressed() {  
> //sauter avec la souris
> 
> switch(state) { //simplifi if et else lorsqu’il y a plusieur alternative
> 
> case 0:
> 
> ```
> float x1=340; //emplacement cadre //niv1 //nombre decimaux
> float y1=200;
> float w1=220;
> float h1=50;
> 
> if (mouseX > x1 && //selection cadre
> mouseX < x1 + w1 && 
> mouseY > y1 &&
> mouseY < y1 + h1) { 
> 
> state=1;
> reset();
> } //recomence
> 
> ```
> 
> }  
> //switch  
> switch(state) { //simplifi if et else lorsqu’il y a plusieur alternative
> 
> case 0:  
> float x2=340; //emplacement cadre //menu  
> float y2=300;  
> float w2=220;  
> float h2=50;
> 
> ```
> if (mouseX > x2 && //selection cadre
> mouseX < x2 + w2 && 
> mouseY > y2 &&
> mouseY < y2 + h2) { 
> 
> state=3;
> reset();
> }
> 
> ```
> 
> }  
> switch(state) {  
> case 3:  
> float x3=400; //emplacement cadre //retour  
> float y3=600;  
> float w3=220;  
> float h3=50;
> 
> ```
> if (mouseX > x3 && //selection cadre
> mouseX < x3 + w3 && 
> mouseY > y3 &&
> mouseY < y3 + h3) { 
> 
> state=0;
> reset();
> }
> 
> ```
> 
> }  
> switch(state) {
> 
> case 2:  
> float x4=340; //emplacement cadre // accueil  
> float y4=200;  
> float w4=220;  
> float h4=50;
> 
> ```
> if (mouseX > x4 && //selection cadre
> mouseX < x4 + w4 && 
> mouseY > y4 &&
> mouseY < y4 + h4) { 
> 
> state=0;
> reset();
> }
> 
> ```
> 
> }  
> switch(state) {
> 
> case 0:  
> float x5=340; //emplacement cadre // niv2  
> float y5=400;  
> float w5=220;  
> float h5=50;
> 
> ```
> if (mouseX > x5 && //selection cadre
> mouseX < x5 + w5 && 
> mouseY > y5 &&
> mouseY < y5 + h5) { 
> 
> state=4;
> reset();
> }
> 
> ```
> 
> }  
> switch(state) {
> 
> case 4:  
> float x6=400; //emplacement cadre // retour niv2  
> float y6=600;  
> float w6=220; //largeur  
> float h6=50; //hauteur
> 
> ```
> if (mouseX > x6 && //selection cadre
> mouseX < x6 + w6 && 
> mouseY > y6 &&
> mouseY < y6 + h6) { 
> 
> state=0;
> reset();
> }
> 
> ```
> 
> }  
> }
> 
> void keyPressed() {  
> //sauter avec la barre d’espace  
> switch(state) {  
> case 0: //different cas possibles  
> state=1;  
> reset();  
> break;
> 
> case 1:  
> b.jump();  
> break;
> 
> case 2:  
> reset();  
> state=0;  
> break;  
> //  
> case 3:  
> state=3;  
> reset();  
> break;  
> //switch
> 
> case 4:  
> state=4;  
> reset();  
> break;  
> }  
> }  
> // ============================================================================================  
> // from now on only classes  
> class bird { //class --) definit un objet
> 
> float xPos, yPos, ySpeed; //position de la balle  
> bird() {  
> xPos = 250;//position de la balle au début  
> yPos = 400;//position de la balle au début  
> }  
> void drawBird() { //balle  
> stroke(#FFA500);  
> noFill();  
> strokeWeight(5);  
> if (yPos\<10)  
> yPos=10;  
> image(img, b.xPos, b.yPos); // balle  
> }  
> void jump() { //monter  
> ySpeed=-10;  
> }  
> void drag() { //avancer  
> ySpeed+=0.4;  
> }  
> void move() { //bouger  
> yPos+=ySpeed;  
> for (int i = 0; i\<3; i++) {  
> p[i].xPos-=3;  
> }  
> }  
> void checkCollisions() { //collision avec poteau  
> if (yPos\>800) {  
> state=2;  
> }  
> for (int i = 0; i\<3; i++) {  
> if ((xPos\<p[i].xPos+10&&xPos\>p[i].xPos-10)&&(yPos\<p[i].opening-100||yPos\>p[i].opening+100)) { //position des poteau  
> state=2;  
> }  
> }  
> }  
> }//class
> 
> class pillar { //poteau  
> float xPos, opening;  
> boolean cashed = false;
> 
> pillar(int i) {  
> xPos = 100+(i\*200);  
> opening = random(600)+100;  
> }
> 
> void drawPillar() { //poteau  
> line(xPos, 0, xPos, opening-100);  
> line(xPos, opening+100, xPos, 800);  
> }
> 
> void checkPosition() { //position  
> if (xPos\<0) {  
> xPos+=(200\*3);  
> opening = random(600)+100;  
> cashed=false;  
> }  
> if (xPos\<250&&cashed==false) {  
> cashed=true;  
> score++;  
> }  
> }  
> }//class  
> //
> 
> >

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [May 16, 2019, 6:08pm UTC](https://discourse.processing.org/t/processing-button-void/11199/30 "2019-05-16T18:08:00Z")

</div>

Wait.

- I posted your entire code with 2 levels in your other thread **yesterday**. This thread here should be closed.

- Also, you said, you had to hand it in. Did you?

- Also, you still don’t know how to post code.

- And read the reference on switch: [https://www.processing.org/reference/switch.html](https://www.processing.org/reference/switch.html)

Chrisir

See: [Two level to my game](https://discourse.processing.org/t/two-level-to-my-game/11281/5)

---

<div class="post-metadata">

### Author: ![macabol](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@macabol](https://discourse.processing.org/u/macabol)
#### Post date: [May 16, 2019, 6:14pm UTC](https://discourse.processing.org/t/processing-button-void/11199/31 "2019-05-16T18:14:29Z")

</div>

excuse me I had not seen

---

<div class="post-metadata">

### Author: ![Xevion](https://avatars.discourse-cdn.com/v4/letter/x/c0e974/32.png) [@Xevion](https://discourse.processing.org/u/Xevion)
#### Post date: [May 20, 2019, 12:44am UTC](https://discourse.processing.org/t/processing-button-void/11199/32 "2019-05-20T00:44:00Z")

</div>

@macabol Please learn how to post code properly. Looking at your code makes my eyes bleed, and only one thing could fix that: ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/3/361f858cc0624bc383e14f829d310feb2f971f20.png)  
And it’s a literal single button click to do it.  
Please, for everyone’s sake just press the damn button.

[Previous page](https://discourse.processing.org/t/processing-button-void/11199.md?page=1)
