Coderen met blokken voor beginners
Hoofdstuk 6
>
Niveau 3
Doel
Controleer of ingrediënten in containers zijn opgeslagen en combineer ze om eten te maken.
Je hebt verschillende ingrediënten nodig om een salade te maken, maar je moet ze eerst verzamelen. Je vindt wortels, tomaten, sla en komkommers in het veld, maar wortels en komkommers liggen opgeborgen. Verzamel de items die je in de tuin rechts kunt pakken.
Om de ontbrekende items te vinden, ga je naar de gouden X-markeringen voor de containers en test je voorwaarden om te controleren of de items in een container zijn opgeslagen. Eenmaal bij de gouden X-markering draai je naar links zodat je de gang in kijkt om een lus uit te voeren. Gebruik een for-lusblok om het proces sneller en efficiënter te maken bij het verzamelen van items en activeer het uitgeschakelde blok in de blokeditor.

De kratten in de voorraadkamer bevatten items, deze items worden voorgesteld door een lijstconstante genaamd bag. Deze lijst bevat vier (4) items, één voor elk krat. Gebruik het for-lusblok met een variabele x die loopt van 0 tot 4. In de lus heb je twee if-blokken om te controleren of “wortel” of “komkommer” in de bag-constante zitten.

Sleep het in list-blok uit het menu lists in het comparison-blok binnen het if-blok. Plaats de lijstconstante bag in het eerste invoerveld om te controleren of de items in de kratten zitten, zet de eerste keuzelijst op get en de tweede op #. Plaats ten slotte de variabele x uit het menu Variables in het laatste invoerveld. Wat deze reeks blokken doet, is dat het de bag-lijst doorzoekt op basis van het aantal cycli dat de lus heeft uitgestippeld door de variabele x, wat overeenkomt met het krat waar je voor staat.

Deze in list-blokreeks wordt vier (4) keer gebruikt in de twee if-blokken. Plaats in het eerste if-blok het in list in het comparison-blok dat is ingesteld op = en schrijf in het string-blok het woord “komkommer”. Plaats in het collect-blok nog een in list om een komkommer te verzamelen als deze in het krat aanwezig is.

In het tweede if-blok gebruik je dezelfde structuur als in het eerste, maar schrijf in plaats daarvan “wortel” in het string-blok. Deze twee if-blokken in het for-lusblok laten je karakter een lus doorlopen waarin het alle vier (4) kratten controleert op een “komkommer” of een “wortel” en ze verzamelt.

Zodra je alle items hebt verzameld, sla je ze op in een lijst met de naam items met behulp van het create empty list-blok. Doe dit door een set variable-blok te gebruiken, voeg de variabele items toe en plaats het create empty list uit het lists-menu.

In de editor staan gedeactiveerde insert list-blokken om items in de items-lijst in te voegen. Activeer ze en voeg numerieke waarden in die overeenkomen met de items die je hebt verzameld door het getal in de bubbel aan het einde van het blok te bewerken. De volgorde van de items is als volgt: “wortels”, “tomaat”, “sla”, “komkommer”. Voeg de overeenkomstige waarden voor elk item in.

Loop ten slotte naar de lichte X-markering en combineer alle items voor een maaltijd met behulp van het combine-blok. Plaats de items-lijst in het combine-blok om alle groenten in de saladecontainer te plaatsen en het level te voltooien.