Teacher's Guide
move_forward()
Sintaxe
player.move_forward([número de passos])
Esta função é usada para fazer com que o jogador se mova para frente na direção em que está voltado, desde que não haja uma colisão bloqueando a trajetória do jogador. Você pode definir a quantidade de passos que deseja que esta função repita ou pode deixar em branco, e ela executará a ação apenas uma vez.
Se a função não receber nenhum argumento, então moverá o jogador para frente por um passo.
Exemplo
player.move_forward(3)
Este código fará com que o jogador avance três passos no mapa.

turn_left()
Sintaxe
player.turn_left()
Esta função é usada para fazer com que o jogador vire à esquerda, alterando sua direção para o lado esquerdo da sua direção atual.
Exemplo
player.turn_left()
player.move_forward()
Este código fará com que o jogador vire para a esquerda da sua direção atual e avance nessa direção com o código subsequente.

turn_right()
Sintaxe
player.turn_right()
Esta função é usada para fazer com que o jogador vire à direita, alterando sua direção para o lado direito da sua direção atual.
Exemplo
player.turn_right()
player.move_forward()
Este código fará com que o jogador vire para a direita da direção que está voltado e avance nessa direção com o código subsequente.

push()
Sintaxe
player.push()
Esta função é usada para fazer com que o jogador empurre um objeto na direção em que está voltado, desde que não haja uma colisão bloqueando a trajetória do objeto.
Exemplo
player.turn_left()
player.push()
Este código fará com que o jogador vire à esquerda e empurre um objeto móvel na direção em que está voltado.

speak()
Sintaxe
player.speak([string para falar])
Esta função é usada para fazer com que o jogador pronuncie uma string especificada no argumento desta função. No jogo, isso é expresso pela string sendo exibida na tela sobre a cabeça do jogador.
Exemplo
player.speak("Hello World")
Este código fará com que a frase “Hello World” seja exibida sobre a cabeça do jogador.

build()
Sintaxe
player.build([objeto a construir])
Esta função é usada para fazer com que o jogador construa um objeto especificado no argumento desta função. Há uma seleção limitada de objetos que o jogador pode construir usando esta função e há certos requisitos associados à construção de cada objeto. Os objetos serão construídos à frente da direção em que o jogador está voltado, desde que a área não esteja ocupada por outro objeto ou o objeto não possa ser construído no tipo de terreno em que está sendo erguido.
| Objeto | Custo | Argumento | Descrição |
|---|---|---|---|
| Bridge | 4 logs | "bridge" | Constrói uma ponte para atravessar |
| Grain Stack | 4 grain | Class Object Name | Produz uma pilha de grãos |
| Wood Road | 4 planks | Class Object Name | Adiciona uma faixa de caminho de madeira |
| Stone Road | 4 stone | Class Object Name | Adiciona uma faixa de caminho de pedra |
| Big Green house | 4 planks | Class Object Name | Constrói a Casa de Galinhas |
| Small Blue house | 4 planks | Class Object Name | Constrói a Casa de Galinhas |
| Big Orange house | 4 planks | Class Object Name | Constrói a Casa de Galinhas |
| Small Red house | 4 planks | Class Object Name | Constrói a Casa de Galinhas |
Exemplo
player.build("bridge")
Este código fará com que o jogador construa uma ponte à sua frente, na direção em que está voltado.

water()
Sintaxe
player.water()
A função pode ser usada para regar objetos no jogo, como irrigar plantações e reabastecer bandejas de água. No jogo, isso é geralmente usado para agricultura e administração de propriedades.
Exemplo
player.water()
Utilizando este código, o jogador pode regar um objeto na direção em que está voltado.

collect()
Sintaxe
player.collect(string)
Esta função é usada para coletar recursos que você não pode armazenar como parte do seu inventário. Isso geralmente é utilizado para reabastecer itens do inventário que podem se esgotar, por exemplo, encher uma cantil com água.
Exemplo
player.collect("water")
player.turn_left()
player.water()
Este código fará com que o jogador colete água de uma fonte na direção em que está voltado, depois vire à esquerda para regar um objeto.

open()
Sintaxe
player.open()
Esta função é utilizada para abrir portas e contêineres, o que pode ser útil para atravessar entradas ou abrir contêineres para pegar ou colocar objetos.
Exemplo
player.turn_left()
player.open()
player.move_forward()
Este código fará com que o jogador vire à esquerda para abrir uma porta e, em seguida, atravesse por ela.

close()
Sintaxe
player.close()
Esta função é utilizada para fechar portas e contêineres, o que pode ser útil para fechar portas atrás de você ou fechar um contêiner depois de ter colocado algo dentro.
Exemplo
player.open()
player.collect("item")
player.close()
Este código fará com que o jogador abra um baú, pegue um item e depois feche o baú.

place()
Sintaxe
player.place(object)
Esta função é usada para colocar um objeto, item ou variável em um local onde objetos podem ser posicionados. Geralmente é utilizada para armazenar itens em um contêiner ou posicionar objetos em locais específicos.
Exemplo
wheat = 6
player.place(wheat)
Este código ilustra o jogador armazenando um número dentro de uma variável chamada wheat e, em seguida, a função place() sendo utilizada para posicionar a variável em um local designado.

combine()
Sintaxe
player.combine(mixture)
Esta função é utilizada para combinar diferentes objetos para produzir um novo objeto. Geralmente é utilizada para juntar ingredientes para fazer comida, bebida ou outras substâncias.
| Combinação | Ingredientes |
|---|---|
| Radish Dressing | 3 milk, 2 cream, 3 lettuce, 5 radish |
| Fruit Juice | 1 water, 1 empty jar, 1 orange, 1 peach, 1 pear, 1 apple |
| Grape Juice | 1 grape, 1 empty jar |
| Berry Milk | 1 milk, (1 red berry or 1 strawberry) |
| Salad | 2 carrot, 2 tomato, 6 lettuce, 2 cucumber |
Exemplo
player.combine(jar)
Este código fará com que o jogador pegue tudo em uma lista chamada “jar” e os combine para formar um novo item/objeto.

plant()
Sintaxe
player.plant(dictionary,key)
Esta função é usada para plantar objetos no solo, sendo geralmente reservada para o plantio de culturas. Esta função utiliza dicionários, recebendo 2 argumentos, o nome do dicionário e a chave do dicionário.
Exemplo
player.plant(seeds, "Eggplant")
player.water()
No código acima, o jogador planta sementes de berinjela no solo e, em seguida, as rega.

write()
Sintaxe
await player.write(message)
Permite que uma mensagem seja exibida, esta é uma função async que permite a exibição de uma janela pop-up com uma mensagem fornecida à função. O programa fica pausado até que a mensagem seja fechada.
Exemplo
await player.write("Hello World")
No código acima, uma mensagem pop-up é exibida com a mensagem "Hello World", pausando o programa até que o jogador feche a mensagem.

read()
Sintaxe
await player.read()
Permite que uma mensagem seja exibida, esta é uma função async que permite a exibição de uma janela pop-up com uma mensagem que foi pré-gravada no nível. O programa fica pausado até que a mensagem seja fechada.
Exemplo
await player.read()
No código acima, uma mensagem pop-up é exibida com uma mensagem pré-gravada inserida manualmente no nível, pausando o programa até que o jogador feche a mensagem.

question()
Sintaxe
await player.question(question)
Permite que uma mensagem seja exibida com uma pergunta de sim ou não, esta é uma função async que permite a exibição de uma janela pop-up com uma mensagem fornecida e produz uma variável Boolean baseada na entrada.
Exemplo
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
No código acima, uma mensagem pop-up é exibida com uma pergunta contendo botões de sim e não, pausando o programa até que o jogador faça uma seleção.

display()
Sintaxe
await player.display("message")
Permite que uma mensagem seja exibida, esta é uma função async que permite a exibição de uma janela pop-up com uma mensagem que não possui dados pré-gravados. Isto é destinado a ser usado para exibir dados brutos que não podem ser devidamente programados. O programa fica pausado até que a mensagem seja fechada. Quando configurado internamente, nenhum conteúdo programado pode ser incluído, permitindo exibir qualquer coisa.
Exemplo
await player.display("Whatever I want to put here")
No código acima, uma mensagem pop-up é exibida com qualquer mensagem que você inserir, independentemente do conteúdo. Neste caso, exibe "Whatever I want to put here".
