Vai al contenuto

Controlli condizionali III: Variabili booleane

Nel primo post dedicato ai controlli condizionali ho fatto un accenno alle variabili di tipo booleano anche se non mi sono soffermato troppo su di esse. Per il momento sappiamo solo che possono assumere un valore true oppure false ma non abbiamo ancora imparato come dichiararle o utilizzarle.

Ovviamente dobbiamo rispettare i principi che abbiamo già visto quando abbiamo parlato di variabili: in fase di dichiarazione dobbiamo assegnare un data type – boolean in questo caso – e un nome:

boolean var = true;

Ecco che abbiamo creato una variabile chiamata var di tipo booleano il cui suo valore iniziale sia true.

Come possiamo utilizzare questa variabile? Ecco un esempio pratico:

boolean var = true;
int ellipseX = 0;

void setup() {
  size(500, 500);
}

void draw() {
  background(0);
  ellipse(ellipseX, height/2, 50, 50);
  if(var) {
    ellipseX++;
  }
}

void mousePressed() {
  var = !var;
}

Questo programma è molto simile a un altro programma che abbiamo già visto ma c'è una differenza sostanziale: ora, infatti, abbiamo un maggior controllo sul nostro cerchio: quando clicchiamo il mouse all'interno della finestra, il cerchio si ferma.

All'interno del ciclo draw() aumentiamo il valore della variabile ellipseX – che determina la posizione del cerchio – solo nel caso in cui la variabile booleana nominata var sia true.

Nella funzione mousePressed() abbiamo usato l'operatore logico NOT che inverte il valore della variabile var. Se infatti partiamo dal presupposto che la variabile sia true, come previsto dall'inizializzazione, al click del mouse var diventerà NOT true quindi false. Viceversa, se la variabile ha un valore false al click viene assegnato un valore NOT false quindi true.

Mi rendo conto che questo passaggio possa essere un po' ostico quindi, per aiutarvi, riscrivo la funzione mousePressed() in modo più semplice:

void mousePressed() {
 if(var) {
 var = false;
 } else {
 var = true;
 }
}

Con l'operatore NOT ho reso il mio codice più leggibile riducendo il numero di righe, da cinque a una soltanto, per cambiare il valore della variabile.

A questo punto vi propongo un altro esercizio: e se volessi fare in modo che il mio cerchio anziché fermarsi torni indietro al click del mouse? Buon lavoro!