Kodning för nybörjare med block
Kapitel 6
>
Nivå 3
Mål
Ta reda på om ingredienser är lagrade i behållare och kombinera dem för att laga mat.
Du behöver flera ingredienser för att kunna göra en sallad men du måste samla ihop dem först. Du hittar morötter, tomater, sallad och gurkor på fältet, men morötterna och gurkorna är dock undanstoppade. Samla de föremål du kan ta i trädgården till höger.
För att hitta de saknade föremålen, gå till de gyllene X-markeringarna framför behållarna och testa villkor för att kontrollera om föremålen är lagrade i en behållare. När du står vid den gyllene X-markeringen sväng vänster så att du är vänd mot korridoren för att köra en loop. Använd ett for loop block för att göra processen snabbare och mer effektiv vid insamling av föremål, aktivera det inaktiverade blocket i blockeditorn.

Lådorna i förrådet innehåller föremål, dessa representeras av en listkonstant som heter bag. Den har fyra (4) objekt, ett för varje låda. Använd ett for loop block med en variabel x som går från 0 till 4. Inuti loopen har du två if block för att kontrollera om "carrot" eller "cucumber" finns i bag-konstanten.

Dra och släpp in list-blocket från menyn lists in i comparison-blocket inne i if-blocket. Placera bag-listkonstanten i den första sloten för att kontrollera om föremålen finns i lådorna, ställ in den första dropdown-menyn på get och den andra på #. Slutligen lägger du in variabeln x från menyn Variables i den sista sloten. Denna blocksekvens söker igenom listan bag baserat på antalet cykler loopen har definierat med variabeln x, vilket motsvarar vilken låda du står framför.

Denna in list-blocksekvens kommer att användas fyra (4) gånger i de två if-blocken. I det första if-blocket placerar du in list i comparison-blocket, ställer in det på = och skriver ordet "cucumber" i string-blocket. I collect-blocket lägger du in ytterligare ett in list för att samla in en gurka om den finns i lådan.

I det andra if-blocket använder du samma struktur som i det första, men skriver istället "carrot" i string-blocket. Dessa två if-block inuti for-loopen får din karaktär att gå genom en loop som kontrollerar alla fyra (4) lådor, söker efter antingen "cucumber" eller "carrot" och samlar in dem.

När du har samlat in alla föremål, lagra dem i en lista som heter items med hjälp av create empty list-blocket. Gör detta genom att använda ett set variable-block, lägga till variabeln items och infoga create empty list från menyn lists.

I editorn finns det avaktiverade insert list-block för att infoga föremål i listan items. Aktivera dem och lägg in numeriska värden som motsvarar de föremål du har samlat in genom att redigera sifferbubblan längst ned på blocket. Följande ordning gäller för föremålen: "carrots", "tomato", "lettuce", "cucumber". Infoga de värden som motsvarar respektive föremål.

Till sist, gå till den ljusa X-markeringen och kombinera alla föremål till en måltid med hjälp av combine-blocket. Infoga listan items i combine-blocket för att placera alla grönsaker i salladsbehållaren och klara nivån.