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 молока, 2 сливок, 3 салата, 5 редьки |
| Фруктовый сок | 1 вода, 1 пустая банка, 1 апельсин, 1 персик, 1 груша, 1 яблоко |
| Виноградный сок | 1 виноград, 1 пустая банка |
| Молоко с ягодами | 1 молоко, (1 красная ягода или 1 клубника) |
| Салат | 2 моркови, 2 томата, 6 салата, 2 огурца |
Пример
player.combine(jar)
Этот код заставит игрока взять всё, что находится в списке с именем "jar", и объединить это в новый предмет/объект.

plant()
Синтаксис
player.plant(dictionary,key)
Эта функция используется для того, чтобы сажать объекты в землю, обычно для посадки культур. Эта функция работает со словарями, принимает 2 аргумента: название словаря и ключ словаря.
Пример
player.plant(seeds, "Eggplant")
player.water()
В приведённом коде игрок сажает семена баклажана в почву, а затем поливает их.

write()
Синтаксис
await player.write(message)
Позволяет отобразить сообщение. Это async функция, которая позволяет показать всплывающее окно с сообщением, переданным в функцию. Программа приостанавливается, пока сообщение не будет закрыто.
Пример
await player.write("Hello World")
В приведённом коде всплывающее окно отображает сообщение "Hello World", приостанавливая выполнение программы, пока игрок не закроет сообщение.

read()
Синтаксис
await player.read()
Позволяет отобразить сообщение. Это async функция, которая отображает всплывающее окно с заранее записанным сообщением уровня. Программа приостанавливается, пока сообщение не будет закрыто.
Пример
await player.read()
В приведённом коде всплывающее окно отображает заранее записанное сообщение, встроенное в уровень, приостанавливая выполнение программы, пока игрок не закроет сообщение.

question()
Синтаксис
await player.question(question)
Позволяет отобразить сообщение с вопросом да или нет. Это async функция, которая показывает всплывающее окно с заданным сообщением и возвращает логическую переменную в зависимости от ответа.
Пример
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")
Позволяет отобразить сообщение. Это async функция, которая показывает всплывающее окно с сообщением, не содержащим заранее записанных данных. Это предназначено для отображения необработанных данных, для которых невозможно написать сценарий. Программа приостанавливается, пока сообщение не будет закрыто. При внутренней настройке никакой сценарий не может быть включён, чтобы позволить отображение чего угодно.
Пример
await player.display("Whatever I want to put here")
В приведённом коде всплывающее окно отображает сообщение, которое вы укажете, независимо от его содержания. В данном случае отображается «Whatever I want to put here».
