Speed Processing

Een opdracht om wat dingen te herhalen en verder te oefenen.

Opdracht 1. Maak de speed.

Maak eerst deze bewegende ‘bal’: Download deze code speed_1 en beantwoord deze inzicht- vragen vooraf:

1a. Wat betekent het gedeelte  ((x > width)   || (x <0 )) ? De || betekent “of”. Maar wat doet dit in de praktijk?

1b. Wat doet speed = speed * -1 ? Denk mee: speed begint met waarde 1. Wat gebeurt er hier met speed?

Opdracht 2. Up & Down

Nu gaan we deze bal ook op en neer laten bewegen. Na elke stap druk je op Play.

  • Bij (1) maak een nieuwe variabele y en zet die op 100
  • Bij (2) zet y op de plaats van 100
  • Bij (3) doe ook een y = y + speed.
  • Als je nu start zie je dat hij wel stuitert, maar niet goed. Je moet m ook op de y laten stuiteren, als hij boven of onder het scherm komt : (4) het hele if-blok hieronder: kopieer en vervang in de kopie x door y. Gebruik niet width maar height. */
  • Nu heb je maar 1 speed. Als je stuitert, moet alleen de X of Y omkeren en de ander gaat gewoon verder. Je moet dus een aparte speedX en speedY hebben.
  • (5) Voeg toe een nieuwe variabele speedY. Verander speed in speedX.
  • Bij (6) maar ook bij (3) en (4) en verander speed in speedX

Einde Speed Les 1. Hierna: speed les 2.

Opdracht 3. Randomize.

Nu doet ie telkens hetzelfde. En saai.

  • Zorg dat de beginwaarde voor x,y, speedX en speedY op één of andere manier random zijn.
  • Let op: je moet waarschijnlijk op 4 plekken: int veranderen in float.

Opdracht 4. Interactie.

  • Zorg dat je code op 1 of andere manier reageert op muisklikken of toetsenbord.

Opdracht 5. Code clean-up.

Kun je al eigen functies maken? In draw() is het nu een zooitje. Je hebt hier liever de volgende functies:

 
void draw() { 
  background(255,0,255); 
  speed(); 
  bounce(); 
  display(); 
}
void speed() {
// plaats hier de code die gaat over speed

}
void bounce() {
// plaats hier de code die gaat over het stuiteren

}
void display() {
// plaats hier de code die gaat over speed

}

Verplaats code die je nu in draw() hebt staan, naar 1 van deze functies. Werkt het nog?