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
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
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
we het verder opbreken, Maakt de structuur van het programma, het ontwerpen in stapjes En het debuggen later makkelijker Dus we willen een functie voor: 1. X die de hele tijd veranderd 2. Te checken of X de rand heeft geraakt + dan van richting veranderd 3. Alles te tekenen (een cirkel in dit geval) Eigen functies
In plaats van balletje wil ik een vierkant update gewoon de display() functie Debuggen Door functies uit te commenten, snel fout gevonden Eigen functies
functie worden “gevoed” Bv: de functie drawBlackCircle() werkt fijn, maar als we nu een aantal cirkels willen tekenen op verschillende plaatsen zullen we een variabele moeten introduceren die we kunnen aanpassen. Anders heeft het schrijven van functies ons geen effeciëntie opgeleverd. We kennen arguments al vanuit bv. de ellipse() functie Zonder coordinaten (arguments!) weet processing niet waar de cirkel moet worden getekend. Eigen functies
een kopie gemaakt! De originele variabele (num in dit geval) blijft intact! num is een GLOBALE variabele newnum een LOKALE variabele is 10 wordt gekopieerd naar newnum, hier worden bewerkingen gedaan en er komt een nieuwe waarde uit. Hoe kan je de uitkomst toch opslaan in je originele variabele? Een kopie?
een random waarde en slaat deze op in een variabele. int tom = random(100); Zélf een functie met een return type schrijven: int sum(int a, int b, int c){ int total = a + b + c; return total; } Return type
niets retourneren) - de return is ALTIJD nodig int sum(int a, int b, int c){ int total = a + b + c; return total; } In draw call je dan: int tom = sum(20,40,20); Println(tom); Geeft dan 80 terug. Return type
niets retourneren) - de return is ALTIJD nodig om de waarde van lokaal naar globaal te transporteren. UIT de functie, ander gebeurd alles intern. int sum(int a, int b, int c){ int total = a + b + c; return total; } Return type