Teacher's Guide
앞으로 이동()
문법
player.move_forward([number of steps])
이 함수는 플레이어의 이동 경로에 장애물이 없어 플레이어가 현재 바라보는 방향으로 앞으로 이동하도록 하는 데 사용됩니다. 이 함수에 반복할 걸음 수를 지정할 수도 있고, 인자를 비워두면 한 번만 실행됩니다.
인자 없이 호출하면 플레이어가 한 걸음 앞으로 이동합니다.
예제
player.move_forward(3)
이 코드는 플레이어가 지도에서 앞으로 세 걸음 이동하도록 합니다.

좌회전()
문법
player.turn_left()
이 함수는 플레이어가 현재 바라보는 방향의 왼쪽으로 회전하도록 합니다.
예제
player.turn_left()
player.move_forward()
이 코드는 플레이어가 현재 바라보는 방향의 왼쪽으로 회전한 후, 그 방향으로 이동하도록 합니다.

우회전()
문법
player.turn_right()
이 함수는 플레이어가 현재 바라보는 방향의 오른쪽으로 회전하도록 합니다.
예제
player.turn_right()
player.move_forward()
이 코드는 플레이어가 현재 바라보는 방향의 오른쪽으로 회전한 후, 그 방향으로 이동하도록 합니다.

밀기()
문법
player.push()
이 함수는 플레이어가 바라보는 방향에 장애물이 없을 경우, 해당 방향으로 물체를 밀도록 합니다.
예제
player.turn_left()
player.push()
이 코드는 플레이어가 좌회전하여 바라보는 방향으로 이동 가능한 물체를 밀도록 합니다.

말하기()
문법
player.speak([string to speak])
이 함수는 인자로 전달된 문자열을 플레이어가 외치도록 하며, 게임 내에서는 플레이어 머리 위에 해당 문자열이 표시됩니다.
예제
player.speak("Hello World")
이 코드는 플레이어의 머리 위에 "Hello World"라는 문구를 표시합니다.

건설()
문법
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")
이 코드는 플레이어가 바라보는 방향 앞에 다리를 건설하도록 합니다.

물주기()
문법
player.water()
이 함수는 작물에 물을 주거나 물통을 채우는 등 게임 내 물주기에 사용됩니다. 주로 농사와 자급자족에서 사용됩니다.
예제
player.water()
이 코드를 사용하면 플레이어가 바라보는 방향의 물체에 물을 줄 수 있습니다.

채집()
문법
player.collect(string)
이 함수는 인벤토리에 추가할 수 없는 자원을 수집하는 데 사용됩니다. 이는 예를 들어 물통에 물을 채워 넣는 등 소모될 수 있는 인벤토리 아이템을 보충할 때 사용됩니다.
예제
player.collect("water")
player.turn_left()
player.water()
이 코드는 플레이어가 바라보는 방향의 물원에서 물을 채집한 후 좌회전하여 물체에 물을 주도록 합니다.

열기()
문법
player.open()
이 함수는 문이나 용기를 여는 데 사용되며, 입구를 통과하거나 용기를 열어 물체를 넣거나 빼는 데 유용합니다.
예제
player.turn_left()
player.open()
player.move_forward()
이 코드는 플레이어가 좌회전하여 문을 연 후 그 문을 통과하도록 합니다.

닫기()
문법
player.close()
이 함수는 문이나 용기를 닫는 데 사용되며, 뒤에서 문을 닫거나 용기에 아이템을 넣은 후 닫는 등의 작업에 유용합니다.
예제
player.open()
player.collect("item")
player.close()
이 코드는 플레이어가 상자를 열어 아이템을 획득한 후 상자를 닫도록 합니다.

배치()
문법
player.place(object)
이 함수는 물체, 아이템 또는 변수를 객체가 배치될 수 있는 위치에 놓는 데 사용됩니다. 보통 용기에 아이템을 보관하거나 지정된 장소에 물체를 놓을 때 사용됩니다.
예제
wheat = 6
player.place(wheat)
이 코드는 플레이어가 wheat라는 변수에 저장된 값을 지정된 위치에 배치하도록 합니다.

조합()
문법
player.combine(mixture)
이 함수는 플레이어가 서로 다른 물체들을 결합하여 새로운 물체를 만들어내도록 합니다. 주로 음식, 음료 또는 기타 물질을 만들기 위해 재료들을 결합할 때 사용됩니다.
| 조합 | 재료 |
|---|---|
| Radish Dressing | 우유 3, 크림 2, 상추 3, 무 5 |
| Fruit Juice | 물 1, 빈 항아리 1, 오렌지 1, 복숭아 1, 배 1, 사과 1 |
| Grape Juice | 포도 1, 빈 항아리 1 |
| Berry Milk | 우유 1, (빨간 베리 1 또는 딸기 1) |
| Salad | 당근 2, 토마토 2, 상추 6, 오이 2 |
예제
player.combine(jar)
이 코드는 플레이어가 jar라는 리스트에 담긴 모든 것을 결합하여 새로운 아이템 또는 물체로 만듭니다.

심기()
문법
player.plant(dictionary,key)
이 함수는 작물과 같이 땅에 물체를 심는 데 사용됩니다. 보통 작물을 심을 때 사용되며, 사전(dictionary)을 사용하여 두 개의 인자, 사전 이름과 키를 받습니다.
예제
player.plant(seeds, "Eggplant")
player.water()
위 코드는 플레이어가 가지 씨앗을 땅에 심은 후 물을 주도록 합니다.

쓰기()
문법
await player.write(message)
메시지를 표시하는 함수로, 비동기(async) 함수입니다. 함수에 전달된 메시지가 팝업으로 표시되며, 메시지가 닫힐 때까지 프로그램이 일시 정지됩니다.
예제
await player.write("Hello World")
위 코드는 "Hello World"라는 메시지를 팝업으로 표시하며, 플레이어가 메시지를 닫을 때까지 프로그램을 일시 정지시킵니다.

읽기()
문법
await player.read()
미리 녹화된 메시지를 팝업으로 표시하는 비동기(async) 함수입니다. 메시지가 닫힐 때까지 프로그램이 일시 정지됩니다.
예제
await player.read()
위 코드는 레벨에 미리 포함된 메시지를 팝업으로 표시하며, 플레이어가 메시지를 닫을 때까지 프로그램을 일시 정지시킵니다.

질문하기()
문법
await player.question(question)
예/아니오 질문이 포함된 메시지를 표시하는 비동기(async) 함수로, 제공된 메시지를 팝업으로 표시하고 입력에 따라 Boolean 변수를 생성합니다.
예제
async def question_function():
answer = await player.question("Question you would like to ask")
if answer:
# 답이 Yes일 때 수행할 작업
else:
# 답이 No일 때 수행할 작업
위 코드는 예/아니오 버튼이 있는 질문 메시지를 팝업으로 표시하며, 플레이어가 선택할 때까지 프로그램을 일시 정지시킵니다.

표시하기()
문법
await player.display("message")
미리 녹화된 데이터가 없는 메시지를 표시하기 위한 비동기(async) 함수입니다. 스크립트로 표현할 수 없는 원시 데이터를 표시하기 위해 사용되며, 메시지가 닫힐 때까지 프로그램이 일시 정지됩니다. 내부적으로 설정될 때, 스크립트된 콘텐츠는 포함될 수 없습니다.
예제
await player.display("Whatever I want to put here")
위 코드는 입력된 문자열 "Whatever I want to put here"를 팝업 메시지로 표시합니다.
