Teacher's Guide
move_forward()
構文
player.move_forward([number of steps])
この関数は、プレイヤーが向いている方向へ前進するために使用されます。ただし、プレイヤーの進行方向をブロックする衝突がない場合に限ります。関数が繰り返すステップ数を指定するか、引数を空欄にすると、アクションは一度だけ実行されます。
引数が何も渡されなかった場合、プレイヤーは1ステップ前進します。
例
player.move_forward(3)
このコードは、プレイヤーがマップ上で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])
この関数は、引数で指定されたオブジェクトをプレイヤーが作成するために使用されます。プレイヤーがこの関数で作成できるオブジェクトは限られており、それぞれのオブジェクトには特定の条件が付いています。オブジェクトは、プレイヤーが向いている方向の前に、他のオブジェクトで占有されていない場所や、その地形で作成可能な場合に構築されます。
| オブジェクト | コスト | 引数 | 説明 |
|---|---|---|---|
| Bridge | 4 logs | "bridge" | 渡るための橋を作成 |
| Grain Stack | 4 grain | クラスオブジェクト名 | 穀物の束を生成 |
| Wood Road | 4 planks | クラスオブジェクト名 | 木製の小道を追加 |
| Stone Road | 4 stone | クラスオブジェクト名 | 石製の小道を追加 |
| Big Green house | 4 planks | クラスオブジェクト名 | チキンハウスを建設 |
| Small Blue house | 4 planks | クラスオブジェクト名 | チキンハウスを建設 |
| Big Orange house | 4 planks | クラスオブジェクト名 | チキンハウスを建設 |
| Small Red house | 4 planks | クラスオブジェクト名 | チキンハウスを建設 |
例
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」という変数に数値を格納し、その変数を指定された場所に配置する様子を示しています。

combine()
構文
player.combine(mixture)
この関数は、プレイヤーが複数のオブジェクトを組み合わせて、新しいオブジェクトを生成するために使用されます。これは、通常、材料を組み合わせて食べ物、飲み物、またはその他の物質を作るために用いられます。
| 組み合わせ | 材料 |
|---|---|
| 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 |
例
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」と表示されます。
