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?