Coding for KidsCoding for Kids
Креативні РівніВикликиПосібник для Вчителів
Голосувати за функції
Поглиблений курс розробки на Python
Розділ
>
Рівень

Асинхронно/Очікування
Асинхронний огляд

Мета

Документувати виробництво винних пляшок за допомогою Async функцій, перевіряючи квоти та завершуючи замочування винних ягід.

Виробництво винних пляшок має бути організоване для забезпечення того, щоб підвал міг виробляти достатню кількість пляшок для зберігання. Щоб цього досягти, винні ягоди потрібно замочувати, щоб усе пройшло ферментацію і перетворилося на вино.

Спочатку пройдіть до темного Х, де немає килима, перед папером; ця записка містить інформацію про квоту продукту, який потрібно виробити, а також записи про те, які ягоди вже замочені. Використовуйте функцію read(), щоб перевірити квоту та зафіксувати значення винних ягід, зберігши їх у змінній з ім’ям quota.

Якщо ви дізнаєтеся, що потрібно, перейдіть до світлих Х і зверніться до ящиків, щоб перевірити, скільки продукту готово до обробки. Використовуйте функцію read() для обох, щоб перевірити вміст предметів, що готові. Створіть змінну з ім’ям wine_berries і додайте разом кількості, які ви зчитали з обох місць позначених Х.

Кількість готового продукту не буде достатньою, щоб задовольнити норму, тому пройдіть до золотого Х у нижній правій частині та зверніться до мішків. Використовуйте функцію collect(), щоб зібрати ягоди з мішків, і пересувайтеся до темних Х на килимах.

Є чотири (4) горщики, у яких замочуються ягоди для виготовлення вина, в документі вказано, які горщики готові для збору, а які ще потребують замоченных ягід. Використовуйте функцію question(), щоб перевірити, чи бажаєте ви зібрати замочені винні ягоди, або замочити ягоди у горщику. На зелених та жовтих килимах з темними Х потрібно зібрати ягоди, а на фіолетових і синіх килимах з темними Х — розмістити ягоди.

Функція question(), необхідна для отримання продукту, написана в редакторі коду і називається 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")

Після того, як винні ягоди будуть зібрані, перейдіть до золотого Х зліва поруч з бочками для ягід і використовуйте функцію place(), щоб додати зібрані "wine berries". До змінної, яку ви створили wine_berries, додайте 100 фунтів продукту, тобто 50 для кожного з продуктів, які ви раніше зібрали. Це робиться так: wine_berries+=100

Перемістіться до темних Х з червоними та помаранчевими килимами, на червоному килимовому Х використовуйте функцію write() і запишіть кількість wine_berries, які у вас є на даний момент, так: player.write("There are %d pounds of product finished" % (wine_berries))

На помаранчевому килимовому Х використовуйте функцію write(), щоб записати продукт, який ще не завершено. Для завершення рівня відніміть від quota wine_berries під час запису, щоб визначити кількість залишкових предметів, так: player.write("There are %d pounds of product Remaining" % (quota-wine_berries))

Книга Коду