Nybörjarkodning med block
Kapitel
>
Nivå
Avancerade listor och datastrukturer
Funktioner med nästlade listor
Mål
Använd en anpassad funktion som loopar genom fältet, planterar och vattnar grödorna.
Fältet har flera träd som behöver planteras, hämta påsen med frön och fyll på med vatten vid brunnen. Använd en anpassad funktion med en inbäddad liststruktur (dictionary) för att loopa genom fältet, och plantera samt vattna fröna.
Hämta påsen med frön, som ger dig följande trädfrön i en inbäddad liststruktur: "orange : 3", "pear : 4", "apple : 3", "peach : 2". Gå till det ljusa X-märket bredvid brunnen och använd collect-blocket med "water" för att samla vatten.
När du har samlat alla nödvändiga material, skapa en anpassad funktion med namnet sow_field med define function-blocket, med tre parametrar: tree, loops och direction. Inuti funktionen, använd ett for-loopblock med variabeln x från 0 till loops - 1. Inom loopen, använd if-block för att kontrollera om direction är lika med "right" eller "left", och utför olika rörelse- och planteringsmönster baserat på riktningen.
Det första argumentet, tree, är namnet på nyckeln som används i den inbäddade liststrukturen, dessa är "orange", "pear", "apple" och "peach". Använd plant-blocket med variabeln seeds och tree-parametern som nyckel.
Det nästa argumentet är loops, och detta bestämmer antalet cykler som du vill att funktionen ska loopa. Detta är lika med antalet frön av varje typ i fältet. Det sista argumentet är direction, dessa är "left" och "right", välj vilken riktning du vill att spelaren ska röra sig mot när funktionen loopar.
Gå till den översta delen av kartan efter att du samlat vattnet och använd call function-blocket för att anropa sow_field med "orange", 3 och "right" som argument. Gör detta för alla trädfrön för att slutföra nivån.