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 ягодa) |
| Салата | 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".
