Processing

Fortbildning för lärare

Villkor, logik och händelser

Inom programmering är ett villkor ett logiskt uttryck som är sant eller falskt. Ett villkor kan representeras av en variabel som har något av värdena true eller false. Ett villkor kan också vara en likhet eller en olikhet. Villkor används exempelvis när man använder if-satser eller if-else-satser.

if ( villkor ) {
    // kod som utförs om villkor sant
}
if ( villkor ) {
    // kod som körs om villkor sant
} else {
    // kod som körs om villkor falskt
}

Övning - Ett enkelt ritprogram

Skriv in koden och kör programmet

void setup() {
  size(600, 400);
  background(255);
  noStroke();
}
void draw() {
  fill(255, 0, 0);
  ellipse(mouseX, mouseY, 10, 10);
}

Om programmet ska fungera som ett traditionellt ritprogram, ska det bara ritas när muspekaren trycks ner. Det finns en inbyggd variabel mousePressed som är sann när muspekaren är nedtryckt och annars falsk. Ändra koden så att det bara ritas när användaren trycker ned och drar med musen. Använd mousePressed och en if-sats.

Övning - Jämförelser

Det finns sex olika jämförelser i Processing:

Lägg märke till att en logisk likhet skrivs med dubbla likhetstecken.

Lägg till en if-else-sats som gör att det ritas rött i den högra delen av fönstret och blått i den vänstra halvan. Använd variabeln mouseX och en lämlig jämförelse.

ritprogram 1

Övning - Logiska operatorer

Det finns tre logiska operatorer i Processing:

I ett logiskt uttryck som innehåller både jämförelser och logiska operatorer, utförs jämförelserna först. Det går därför bra att skriva:

if (100 < mouseX && mouseX < 200) {

}

Det går också bra att använda parenteser kring de "innersta" uttrycken:

if ((100 < mouseX) && (mouseX < 200) {

}

Ändra i koden till ritprogrammet så att det ritas rött i den översta högra kvadranten, och blått överallt annars. Tänk på hur koordinatsystemet fungerar.

ritprogram 1

Övning - Händelser

Ett sätt att åstadkomma händelsestyrd programmering i Processing är att använda inbyggda logiska variabler som mousePressed inuti draw-funktionen. Ett annat sätt är att använda inbyggda funktioner för händelser, en sådan är funktionen keyPressed.

Lägg till följande kod längst ned i ditt ritprogram och provkör koden.

void keyPressed() {
  background(255);
}

Nu suddas ritningen när en tangent trycks ned. Man kan styra vad som händer beroende på vilken tangent som trycks ned. Vanliga alfanumeriska tangenter kommer man åt genom att använda key. Ändra koden till:

void keyPressed() {
  if (key == 'c' || key == 'C') {
    background(255);
  }
}

Om andra sorts tangenter ska styra programmet, används istället keyCode. Ändra koden till:

void keyPressed() {
  if (keyCode == UP) {
    background(255);
  }
}

Testkör koden genom att trycka på piltangent upp. För mer information se Processing - keyCode.