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 milk, 2 cream, 3 lettuce, 5 radish |
| 果汁 | 1 water, 1 empty jar, 1 orange, 1 peach, 1 pear, 1 apple |
| 葡萄汁 | 1 grape, 1 empty jar |
| 浆果牛奶 | 1 milk, (1 red berry or 1 strawberry) |
| 沙拉 | 2 carrot, 2 tomato, 6 lettuce, 2 cucumber |
示例
player.combine(jar)
此代码将使玩家将名为 “jar” 的列表中的所有项目组合在一起,生成一个新的物品/对象。

plant()
语法
player.plant(dictionary,key)
此函数用于将物体种植至地面,通常用于种植农作物。该函数使用字典,接收两个参数:字典名称和字典键。
示例
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")
允许显示一条消息,这是一个异步函数,可以弹出窗口显示没有预先编码数据的消息。它用来显示无法通过脚本处理的原始数据。程序将在消息关闭前暂停。内部设置时,不可包含任何脚本内容,以确保能够显示任意信息。
示例
await player.display("Whatever I want to put here")
在上述代码中,会弹出一个消息窗口,显示你传入的任意消息。在此例中,它显示 "Whatever I want to put here"。
