Aloittelijan ohjelmointi lohkoilla
Luku 6
>
Taso 4
Tavoite
Poista rikkaruohot rakennusten välisestä käytävästä käyttämällä sisäkkäisiä ehtoja silmukoissa.
Rakennusten välisessä käytävässä kasvaa rikkaruohoja. Olisi hyvä kerätä kaikki rikkaruohot ja poistaa ne. Tämän prosessin voit automatisoida käyttämällä ehtoja silmukoiden sisällä. Editoriin on upotettu useita lohkoja, jotka ovat poissa käytöstä; voit ottaa ne käyttöön täyttääksesi aukot.
Luo bag-niminen muuttuja ja aseta se arvoon 0 käyttäen set variable-lohkoa.

Käytä prosessin automatisoimiseksi while-silmukkaa, lisää sen sisään comparison-lohko. Aseta vertailulohko tarkistamaan, onko bag pienempi kuin 10 asettamalla alasvetovalikkoon >.

Silmukan sisällä lisää move forward-lohko ja vedä Variables-valikosta change variable-lohko. Aseta alasvetovalikkoon bag ja numerokuplaan 1.

Käyttämällä ehtoa while-silmukassa, silmukka jatkuu niin kauan kuin ehto on tosi. Jokainen silmukan kierros lisää pussukkaan yhden rikkaruohon, ja silmukka pysähtyy automaattisesti, kun bag saavuttaa kymmenen (10).
Liiku ensimmäisen tumman X-merkin kohdalle ja käänny kohti laatikkoa. Kahdessa laatikossa aiomme tyhjentää keräämämme rikkaruohot. Käytä X-merkkien kohdalla for-silmukkaa ja place-lohkoa. Säiliöiden välillä on epätasainen etäisyys aukon vuoksi. Käyttämällä sisäkkäisiä if-lohkoja silmukan sisällä voit ohittaa tiettyjä koodirivejä, kun ehto täyttyy.
Käytä for-silmukkaa muuttujalla x, joka alkaa arvosta 0 ja päättyy arvoon 2, askelvälinä 1. Silmukan sisällä lisää ensin move forward-lohko ja sitten if-lohko, johon on sijoitettu comparison-lohko. Aseta comparison-lohkon ensimmäinen kenttä x, alasvetovalikkoon ei yhtä suuri (≠) ja numeroksi 1.

Ota käyttöön if-lohkon sisällä olevat poistetut lohkot ja täytä place-lohkon sisällä operators-lohko määrittääksesi säiliöihin sijoitettavien rikkaruohojen määrä. Jokaisessa säiliössä on oltava puolet kerätyistä ja bag-muuttujaan tallennetuista rikkaruohoista. Lisää Variables-valikosta bag-muuttujalohko operators-lohkon ensimmäiseen kenttään, aseta alasvetovalikkoon % ja numerokuplaan 2.

Vain silloin, kun x ei ole yhtä suuri kuin 1 (eli kun x on 0 tai 2), suoritetaan koodi oikealle kääntymiselle, rikkaruohojen asettamiselle ja vasemmalle kääntymiselle. Näin ohitat keskimmäisen iteraation (kun x on 1) välttääksesi aukon säiliöiden välillä.
Kun olet kerännyt ja asettanut rikkaruohot oikeisiin paikkoihin, saavu tähtimerkillä merkittyyn poistumisreittiin suorittaaksesi tason.