herhaal
blokken 'nesten' in
herhaal
blokken om complexe afbeeldingen te maken.
herhaal
blok) en klik je op 'kopieer'.
neem stappen
- en
draai
blokken van de rode driehoek, zoals hieronder.
Snap! heeft een debug-tool genaamd Stapsgewijs Programmaverloop dat je laat bepalen hoe snel Snap? door de blokken van je code 'stapt'. Dit zorgt ervoor dat je het effect van ieder blok één voor één kan zien om je te helpen fouten in je code te vinden.
Nadat je op de Stapsgewijs Programmaverloop-knop () hebt geklikt, kan je met de schuif de stapsnelheid bepalen. De sprite voert iedere stap van de code uit, gemarkeerd in cyaan.
Als je de schuif op de langzaamste instelling zet (helemaal naar links), dan verandert de vorm van de gele pauze-knop en kan je erop drukken om één stap vooruit te gaan in je code. Dit kan je helpen om te zien wat er gebeurt op een specifiek tijdspunt.
Voelt al dit knippen en plakken van code een beetje raar? Je kent al een nettere manier om code te
hergebruiken:
abstractie. In Hoofdstuk 1 heb je een molen
blok gebruikt in plaats van code te
kopiëren om asterisk
en veelhoek
te implementeren. Nu kan je ook weer een blok
maken om abstractie te hanteren. In dit geval is er wel een klein verschil, we willen
soortgelijke code (een kleinere driehoek) plaatsen binnenin de originele code.
We zullen dus hetzelfde blok in zichzelf gebruiken.
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 in het venster
waar je je 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.