Kezdő blokk-alapú programozás
Fejezet 6
>
Szint 3
Cél
Találd meg, hogy az összetevők tárolva vannak-e tartályokban, és kombináld őket ételkészítéshez.
Több összetevőre van szükséged ahhoz, hogy salátát készíts, de előbb össze kell gyűjtened őket. A mezőn találod a répákat, paradicsomokat, fejes salátát és uborkákat, azonban a répák és uborkák el vannak tárolva. Gyűjtsd össze azokat az elemeket, amelyeket a jobb oldali kertben fel tudsz venni.
A hiányzó elemek megtalálásához menj a tartályok előtt lévő arany X jelzésekhez, és teszteld feltételekkel, hogy az elemek tárolva vannak-e egy tartályban. Amikor az arany X jelzéshez érsz, fordulj balra, a folyosó felé, hogy végrehajts egy ciklust. Használd a for ciklusblokkot, hogy gyorsabbá és hatékonyabbá tedd az elemek gyűjtését, és engedélyezd a letiltott blokkot a blokk szerkesztőben.

A raktárban lévő ládák tartalmaznak elemeket, melyek egy bag nevű listaként vannak ábrázolva. Négy (4) elem van benne, egy-egy a ládákhoz. Használd a for ciklusblokkot egy x nevű változóval, ami 0-tól 4-ig megy. A cikluson belül két if blokk található, amelyek ellenőrzik, hogy a bag állandóban szerepel-e "carrot" vagy "cucumber".

Fogd és vidd az in list blokkot a lists menüből a comparison blokkba az if blokkon belül. Helyezd be a bag listaként definiált állandót az első mezőbe, hogy ellenőrizd, az elemek a ládákban vannak-e, állítsd az első legördülőt get-re, a másodikat pedig #-ra. Végül helyezd az x változót a Variables menüből az utolsó mezőbe. Ez a blokk-sor a ciklus során az x változó értéke alapján keres a bag listában, ami megfelel annak a ládának, amellyel éppen szemben állsz.

Ezt az in list blokk-sorozatot négyszer (4) használjuk a két if blokkban. Az első if blokkban helyezd az in list blokkot a comparison blokkba, állítsd =-re, és írd be a string blokkba a "cucumber" szót. A collect blokkba helyezz egy másik in list blokkot, hogy begyűjtsd a "cucumber"-t, ha az a ládában megtalálható.

A második if blokkban ugyanazt a szerkezetet használd, mint az elsőben, de a string blokkba ezúttal a "carrot" szót írd be. Ezek az if blokkok a for cikluson belül végigjárják mind a négy (4) ládát, ellenőrizve, hogy van-e bennük "cucumber" vagy "carrot", és begyűjtik azokat.

Miután összegyűjtötted az összes elemet, tárold őket egy items nevű listában a create empty list blokk segítségével. Ehhez használj egy set variable blokkot, add meg az items változót, és helyezd be a create empty list blokkot a lists menüből.

A szerkesztőben vannak letiltott insert list blokkok az items listába történő elemek beillesztéséhez. Aktiváld ezeket, és szerkeszd a blokk végén lévő szám buborékot, hogy beírjad az általad összegyűjtött elemeknek megfelelő numerikus értékeket. Az elemek sorrendje a következő: "carrots", "tomato", "lettuce", "cucumber". Illeszd be a megfelelő értékeket mindegyikhez.

Végül menj a világos X jelzéshez, és a combine blokk használatával egyesítsd az összes elemet egy étellé. Helyezd be az items listát a combine blokkba, hogy az összes zöldséget a salátás tálba tedd, és fejezd be a szintet.