herhaal
blokken 'nesten' in
herhaal
blokken om complexe afbeeldingen te maken.
herhaal
blok) en kies je 'kopieer'.
neem stappen
- en
draai
blokken van de rode driehoek, zoals hieronder.
Snap! heeft een eigen debug-tool: Stapsgewijs Programmaverloop. Met deze tool kan je stap voor stap door de code lopen. Zo kun je de werking van elk blok bestuderen, fouten opsporen en verbeteringen in het geheel aanbrengen.
Nadat je op de Stapsgewijs Programmaverloop-knop hebt geklikt, kan je de stapsnelheid bepalen met de schuif rechts naast de knop. De sprite voert elke stap van de code uit, aangegeven door het oplichten van het betreffende blok.
Met de schuif helemaal naar links verandert de gele pauze-knop in een slowmotion-knop. Hierop klikken kan je helpen om te zien wat er op een specifiek moment gebeurt.
Voelt al dit knippen en plakken van code een beetje raar? Je kent al een betere manier: abstractie.
In Hoofdstuk 1 heb je een molen
blok gebruikt om asterisk
en veelhoek
te
implementeren, in plaats het kopiëren van de code. Nu kan je ook weer een blok maken om abstractie te realiseren.
Maar in dit geval willen we vergelijkbare code (een kleinere driehoek) plaatsen in de originele code.
We zullen dus het blok binnen zichzelf 'nesten'.
geneste driehoek
blok.
grootte > 9
. Deze voorwaarde is belangrijk voor later.
neem
stappen
- en draai
blokken. Je kan iets soortgelijks doen met je
geneste driehoek
blok.
geneste driehoek
blok naar het venster
waar je het geneste driehoek
blok maakt. Zet het blok in de
definitie van geneste driehoek
tussen de
neem stappen
en draai
blokken. Maak zijn grootte
invoer de helft van de huidige waarde van grootte.
geneste driehoek
in zijn eigen definitie. Als een blok naar zichzelf verwijst,
dan noem je dit blok recursief. Recursie is een van de meest krachtige technieken
in de informatica en je gaat er meer over leren in latere projecten.
geneste driehoek
als een voorbeeld om een recursief
genest vierkant
blok te bouwen.