In dit project, ga je abstractie gebruiken om een bakstenen muur te tekenen.
Iedere goede programmeertaal heeft manieren ingebouwd om voorwerpen te tekenen en bewegen. Het zou alleen niet logisch zijn om een ingebouwde manier te hebben om bakstenen te tekenen, omdat de meeste programma's geen bakstenen nodig hebben. Dat is een voorbeeld van een functiesdie je zelf moet maken als je het nodig hebt.
Door een speciaal blok te
maken, zorg je ervoor dat je blok een naam heeft die gerelateerd is aan het probleem
dat je aan het oplossen bent (in dit geval teken baksteen
), in plaats van een algemene
functie met een algemene naam (zoals beweeg
) die de computer gebruikt voor van alles.
Een afbeelding van een baksteen is gewoon een rechthoek met de rode kleur van een baksteen. Hoewel er geen
teken rechthoek
blok bestaat in snap, bestaan er toch manieren om
er een te tekenen. Één manier is om een rechthoek te zien als een hele dikke lijn. Hieronder zie je dit idee
toegepast.
Het blok zit niet standaard in Snap!. In projecten zonder dit blok, kan je "Flat line ends" aanzetten in het menu.
Normaliter tekent Snap! dikke lijnen met afgeronde eindes: . Dat is vaak de beste keuze, en je kan de reden daarvoor hieronder zien. Maar voor bakstenen willen we dat het einde van een lijn recht is: .
Rechte vs. afgeronde lijneindes.
Je wil eigenlijk dat het blok op het hoogste niveau er ongeveer zo uitziet:
Om dat te krijgen heb je iets nodig dat probleem-decompositie heet: het probleem opbreken
in kleinere stukken.
Er zijn twee soorten rijen, dus we maken blokken die gespecialiseerd zijn in ieder type:
teken baksteen
om de blokken
en
te maken.Als je eenmaal rijen A en B dezelfde lengte hebt gemaakt, dan ben je er klaar voor om het blok te maken.
even?
blok en gebruik het om het
blok te schrijven.
Je vindt het misschien handig om weer even te kijken naar
Hoofdstuk 2 Les 1 Pagina 4: Importeer Groet Spelers
in een
ander programma om te herhalen hoe je een blok importeert en
Hoofdstuk 2 Les 3 Pagina 1: Wat is een predikaat?
voor het even?
blok. Lees de sectie "Benodigdheden Importeren" hieronder en
test je nieuwe blok om er zeker van te zijn dat het goed werkt.
Je hebt je even?
blok gemaakt met behulp van een ander zelfgemaakt blok,
deelbaar door?
. Je moet beide blokken exporteren, zodat even?
werkt wanneer je het importeert in je Bakstenen-Muurproject.
Als je ooit dit rode Obsolete!
blok ziet in code die je geïmporteerd hebt, dan
betekent dat, dat een benodigd blok niet is geëxporteerd. Je moet dan terug naar je
originele project en het opnieuw exporteren. Zorg ervoor dat je alle blokken die je nodig
hebt, selecteert bij het exporteren.
Groet Spelers
in een ander programma.
teken Bakstenen Muur
(en indien nodig aan je rij A
en rij B
) voor: