Teacher's Guide
move_forward()
Синтаксис
player.move_forward([number of steps])
Ця функція використовується для того, щоб гравець рухався вперед у напрямку, який він дивиться, за умови, що немає зіткнення, яке блокує траєкторію гравця. Ви можете вказати кількість кроків, яку хочете повторити для цієї функції, або залишити цей параметр порожнім, і дія буде виконана лише один раз.
Якщо функції не надано жодних аргументів, то вона перемістить гравця вперед на один крок.
Приклад
player.move_forward(3)
Цей код перемістить гравця на три кроки вперед по карті.

turn_left()
Синтаксис
player.turn_left()
Ця функція використовується для того, щоб гравець повернувся наліво, змінюючи своє напрямлення ліворуч від поточного.
Приклад
player.turn_left()
player.move_forward()
Цей код змусить гравця повернутися наліво від свого поточного напрямку та рухатися вперед у цьому напрямку з подальшим виконанням коду.

turn_right()
Синтаксис
player.turn_right()
Ця функція використовується для того, щоб гравець повернувся направо, змінюючи своє напрямлення праворуч від поточного.
Приклад
player.turn_right()
player.move_forward()
Цей код змусить гравця повернутися направо від свого поточного напрямку та рухатися вперед у цьому напрямку з подальшим виконанням коду.

push()
Синтаксис
player.push()
Ця функція використовується для того, щоб гравець штовхнув об'єкт у напрямку, який він дивиться, за умови, що немає зіткнення, яке блокує траєкторію об'єкта.
Приклад
player.turn_left()
player.push()
Цей код змусить гравця повернутися наліво та штовхнути рухомий об'єкт у напрямку, який він дивиться.

speak()
Синтаксис
player.speak([string to speak])
Ця функція використовується для того, щоб гравець вимовив рядок, який вказується в аргументі функції. У грі це виражається тим, що рядок відображається на екрані над головою гравця.
Приклад
player.speak("Hello World")
Цей код відобразить фразу «Hello World» над головою гравця.

build()
Синтаксис
player.build([object to build])
Ця функція використовується для того, щоб гравець побудував об'єкт, який вказано в аргументі функції. Існує обмежений вибір об'єктів, які гравець може побудувати за допомогою цієї функції, і існують певні вимоги, пов'язані з побудовою кожного об'єкта. Об'єкти будуть побудовані перед напрямком, у який дивиться гравець, за умови, що область не зайнята іншим об'єктом або об'єкт не може бути побудований на цьому типі місцевості.
| Об'єкт | Вартість | Аргумент | Опис |
|---|---|---|---|
| Міст | 4 бруси | "bridge" | Будує міст для переходу |
| Купа зерна | 4 зерна | Class Object Name | Створює купу зерна |
| Дерев'яна дорога | 4 дошки | Class Object Name | Додає смужку дерев'яної доріжки |
| Кам'яна дорога | 4 камені | Class Object Name | Додає смужку кам'яної доріжки |
| Великий зелений будинок | 4 дошки | Class Object Name | Будує курячий будинок |
| Малий синій будинок | 4 дошки | Class Object Name | Будує курячий будинок |
| Великий оранжевий будинок | 4 дошки | Class Object Name | Будує курячий будинок |
| Малий червоний будинок | 4 дошки | Class Object Name | Будує курячий будинок |
Приклад
player.build("bridge")
Цей код змусить гравця побудувати міст перед ним у напрямку, який він дивиться.

water()
Синтаксис
player.water()
Цю функцію можна використовувати для поливу об'єктів у грі, таких як полив культур або поповнення водних лотків. У грі це зазвичай використовується для сільського господарства та фермерства.
Приклад
player.water()
За допомогою цього коду гравець зможе полити об'єкт у напрямку, який він дивиться.

collect()
Синтаксис
player.collect(string)
Ця функція використовується для збору ресурсів, які не можна зареєструвати як частину вашого інвентарю. Зазвичай вона використовується для поповнення предметів інвентарю, які можуть закінчитися, наприклад, при заповненні каністри водою.
Приклад
player.collect("water")
player.turn_left()
player.water()
Цей код змусить гравця зібрати воду з джерела, яке він бачить, а потім повернутися наліво, щоб полити об'єкт.

open()
Синтаксис
player.open()
Ця функція використовується для відкриття дверей та контейнерів, що може бути корисно для проходу через входи або для відкриття контейнерів з метою підбирання або розміщення об'єктів.
Приклад
player.turn_left()
player.open()
player.move_forward()
Цей код змусить гравця повернутися наліво, щоб відкрити двері, а потім пройти через них.

close()
Синтаксис
player.close()
Ця функція використовується для закриття дверей та контейнерів, що може бути корисно для зачинення дверей за собою або для закриття контейнера після того, як ви помістили щось усередину.
Приклад
player.open()
player.collect("item")
player.close()
Цей код змусить гравця відкрити скриню, підібрати предмет, а потім зачинити скриню.

place()
Синтаксис
player.place(object)
Ця функція використовується для розміщення об'єкта, предмета або змінної у місці, де дозволено розміщувати об'єкти. Зазвичай вона використовується для зберігання предметів у контейнері або для розташування об'єктів у визначених місцях.
Приклад
wheat = 6
player.place(wheat)
Цей код демонструє, як гравець зберігає число у змінній з ім'ям wheat, а потім функція place() використовується для розташування цієї змінної у визначеному місці.

combine()
Синтаксис
player.combine(mixture)
Ця функція використовується для того, щоб гравець об'єднав різні об'єкти разом для створення абсолютно нового об'єкта. Зазвичай її використовують для змішування інгредієнтів з метою приготування їжі, напою чи інших речовин.
| Комбінація | Інгредієнти |
|---|---|
| Соус з редиски | 3 milk, 2 cream, 3 lettuce, 5 radish |
| Фруктовий сік | 1 water, 1 empty jar, 1 orange, 1 peach, 1 pear, 1 apple |
| Виноградний сік | 1 grape, 1 empty jar |
| Молоко з ягодами | 1 milk, (1 red berry or 1 strawberry) |
| Салат | 2 carrot, 2 tomato, 6 lettuce, 2 cucumber |
Приклад
player.combine(jar)
Цей код змусить гравця взяти всі елементи зі списку з ім'ям “jar” і об'єднати їх для створення нового предмета/об'єкта.

plant()
Синтаксис
player.plant(dictionary,key)
Ця функція використовується для висаджування об'єктів у ґрунт, зазвичай для посадки культур. Функція використовує словники і приймає 2 аргументи: назву словника та ключ словника.
Приклад
player.plant(seeds, "Eggplant")
player.water()
У наведеному коді гравець висаджує насіння баклажанів у ґрунт, а потім його поливає.

write()
Синтаксис
await player.write(message)
Дозволяє відобразити повідомлення. Це асинхронна функція, яка дозволяє відобразити спливаюче вікно з повідомленням, переданим у функцію. Програма ставиться на паузу, доки повідомлення не буде закрито.
Приклад
await player.write("Hello World")
У наведеному коді відображається спливаюче повідомлення з текстом "Hello World", що ставить програму на паузу, доки гравець не закриє повідомлення.

read()
Синтаксис
await player.read()
Дозволяє відобразити повідомлення. Це асинхронна функція, яка дозволяє відобразити спливаюче вікно з попередньо записаним повідомленням на рівні. Програма ставиться на паузу, доки повідомлення не буде закрито.
Приклад
await player.read()
У наведеному коді відображається спливаюче повідомлення з попередньо записаним в рівень повідомленням, що ставить програму на паузу, доки гравець не закриє повідомлення.

question()
Синтаксис
await player.question(question)
Дозволяє відобразити повідомлення з питанням так або ні. Це асинхронна функція, яка дозволяє відобразити спливаюче вікно з заданим повідомленням та повернути логічну змінну на основі відповіді.
Приклад
async def question_function():
answer = await player.question("Question you would like to ask")
if answer:
# Actions to take if answer is Yes
else:
# Actions to take if answer is No
У наведеному коді відображається спливаюче повідомлення з питанням, яке має кнопки «так» та «ні», що ставить програму на паузу, доки гравець не зробить вибір.

display()
Синтаксис
await player.display("message")
Дозволяє відобразити повідомлення. Це асинхронна функція, яка дозволяє відобразити спливаюче вікно з повідомленням, яке не має попередньо записаних даних. Вона призначена для відображення сирих даних, які не можуть бути належним чином запрограмовані. Програма ставиться на паузу, доки повідомлення не буде закрито. При внутрішньому налаштуванні не можна включати запрограмований контент, щоб дозволити відображення будь-чого.
Приклад
await player.display("Whatever I want to put here")
У наведеному коді відображається спливаюче повідомлення з будь-яким текстом, який ви вкажете, незалежно від його змісту. У цьому випадку відображається "Whatever I want to put here".
