Coding for KidsCoding for Kids
Kreativní ÚrovněVýzvyPrůvodce pro Učitele
Hlasovat pro funkce
Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň

Asynchronní/čekání
Asynchronní přehled

Cíl

Dokumentujte výrobu lahví vína pomocí asynchronních funkcí ověřením kvóty a dokončením namáčení vinných bobulí.

Výroba lahví vína musí být splněna, aby sklep mohl vyrábět dostatek lahví pro zásoby. Pro dosažení tohoto cíle je třeba namočit vinné bobule, aby bylo vše připraveno k fermentaci a přeměněno na víno.

Nejprve se vydejte k tmavému X znaménku, kde před papírem není žádný koberec. Tato poznámka obsahuje informace o kvótě produktu, který je třeba vyrobit, stejně jako poznámky o tom, které bobule byly namočeny. Použijte funkci read() k ověření kvóty, zaznamenejte hodnoty vinných bobulí a uložte je do proměnné nazvané quota.

Jakmile zjistíte, co je požadováno, vydejte se ke světlým X znaménkům a postavte se proti bednám, abyste ověřili, kolik produktu je připraveno ke zpracování. Použijte funkci read() na obou místech, abyste ověřili obsah položek, které jsou připraveny. Vytvořte proměnnou nazvanou wine_berries a sečtěte množství, která jste přečetli na obou X znaménkách.

Množství hotového produktu nebude stačit na splnění kvóty, vydejte se k zlatému X znaménku v pravém dolním rohu a postavte se proti pytlům. Použijte funkci collect() pro sebrání bobulí z pytlů a pokračujte k tmavým X znaménkům přes koberce.

Jsou čtyři (4) hrnce, ve kterých se namáčejí bobule pro výrobu vína. V dokumentu je zmíněno, které hrnce jsou připravené k vyzvednutí a které potřebují, aby se bobule namočily. Použijte funkci question(), abyste zjistili, zda chcete vyzvednout namočené vinné bobule, nebo je nechat namáčet se v hrnci. Na zelených a žlutých kobercích s tmavými X znaménky musíte bobule vyzvednout a na fialových a modrých kobercích s tmavými X znaménky musíte bobule umístit.

Funkce question() potřebná k získání produktu je napsána v editoru kódu a jmenuje se soaking_pot() :

async def soaking_pot(): answer = await player.question("Collect berries instead of soaking them?") if answer: player.collect("wine berries") else: player.place("berries")

Jakmile budou vinné bobule vyzvednuty, vydejte se k zlatému X znaménku na levé straně vedle sudů s bobulemi a použijte funkci place(), abyste vložili "wine berries", které jste vyzvedli. K proměnné wine_berries přidejte 100 liber produktu, tedy 50 liber za každý z dříve vyzvednutých produktů. Uděláte to následovně: wine_berries+=100

Přejděte k tmavým X znaménkům s červenými a oranžovými kobercemi. Na červeném koberci s X znaménkem použijte funkci write() a zapište množství wine_berries, které máte k dispozici, takto: player.write("There are %d pounds of product finished" % (wine_berries))

Na oranžovém koberci s X znaménkem použijte funkci write() k sepsání množství produktu, který ještě nebyl dokončen. Pro dokončení úrovně odečtěte wine_berries od quota a zapište zbývající položky, takto: player.write("There are %d pounds of product Remaining" % (quota-wine_berries))

Kniha Kódu