Processing Werkcollege 5 functies zonder arguments
-
Upload
tom-luyten -
Category
Technology
-
view
198 -
download
0
Transcript of Processing Werkcollege 5 functies zonder arguments
Multimedia Technology 2Lessenreeks door Tom Luyten
voor Communicatie- en Multimedia Design Maastricht
Werkcollege 5
Functies zonderparameters
Gebaseerd op het boek “Learning Processing” door Daniel Schiffman
En de PowerPoint van Donald W. Smith
LESSON 3: Organisation
Functies (p. 101 120)
• Modulariteit
• Een functie declareren en definiëren
• Een functie aanroepen
• Parameters doorgeven
• Een waarde teruggeven
• Hergebruiken
Les 5 : Functies
LESSON 3: Organisation
Functies (p. 101 120)
• Modulariteit
• Een functie declareren en definiëren
• Een functie aanroepen
• Parameters doorgeven
• Een waarde teruggeven
• Hergebruiken
Les 5 : Functies
Functies zijn een manier om stukken van je programma te bundelen in modulaire stukken.
Maakt het schrijven en aanpassen van grote programma’s overzichtelijker.
vb. Space invaders
void draw(){
background(0);
drawSpaceShip();
moveShip();
moveEnemies();
}
Modulariteit
void draw(){
background(0);
drawSpaceShip();
moveShip();
moveEnemies();
}
We missen de definitie van deze functies, we weten niet wat erachter zit.
Functies aanroepen doen we al lang, bv. line(), rect(),…
Maar nu…eigen functies schrijven…
Modulariteit
Waarom eigen functies schrijven?
modulariteit
Functies breken een groter programma in
kleinere stukjes, die makkelijker te managen en te lezen zijn.
Hergebruikbaarheid
Functies laten toe dat je code kan hergebruiken
zonder dat je ze opnieuw moet typen
Modulariteit
LESSON 3: Organisation
Functies (p. 101 120)
• Modulariteit
• Een functie declareren en definiëren
• Een functie aanroepen
• Parameters doorgeven
• Een waarde teruggeven
• Hergebruiken
Les 5 : Functies
Eigen functies
Een functie zonder arguments:
void drawBlackCircle(){
fill(0);
ellipse(50,50,20,20);
}
Deze maak je aan als nieuwe codeblok.
Dus buiten setup() en draw()
(bij voorkeur onderaan)
Eigen functies
LESSON 3: Organisation
Functies (p. 101 120)
• Modulariteit
• Een functie declareren en definiëren
• Een functie aanroepen
• Parameters doorgeven
• Een waarde teruggeven
• Hergebruiken
Les 5 : Functies
Vervolgens aanroepen/uitvoeren in de draw loop:
drawBlackCircle();
Eigen functies
1
2
decla
rere
n
uitvoeren
Nu gebeurt alles in 1 functie, ok, maar…
Handiger als we het verder opbreken.
Maakt de structuur van het programma, het ontwerpen in stapjes (pseudo programmeren) én het debuggen later makkelijker
Dus we willen een functie voor: (?)
1. X die de hele tijd veranderd (update)
2. Te checken of X de rand heeft geraakt + dan van richting veranderd (test)
3. Alles te tekenen (een cirkel in dit geval) (teken)
Eigen functies
Deel het programma in, in 3 functies
1. X die de hele tijd veranderd (update)
2. Te checken of X de rand heeft geraakt + dan van richting veranderd (test)
3. Alles te tekenen (een cirkel in dit geval) (teken)
Draw ziet er zo uit:
draw(){
update();
test();
teken();
}
Eigen functies
20 min.
Draw() is heel simpel geworden
Enkel function calls
Voordelen
Updatebaar
In plaats van balletje wil ik een vierkant
update gewoon de display() functie
Debuggen
Door functies uit te commenten, snel fout gevonden
Eigen functies
Voeg een test toe: elke 3de keer dat de cirkel de rand raakt,
Veranderd deze naar een vierkant. (en weer terug na 3 keer)
Nodig: een teller
een boolean
een functie tekenCirkel();
een functie tekenVierkant();
Eigen functies
30 min.
Herschrijf je monstertje door gebruik te maken van functies:
1. update (x of y wordt berekend)
2. test (als x of y buiten rand omkeren)
3. Teken (je monstertje wordt op x en y getekend)
Opdracht