TigerEE
LV
21
木头
- 10
- 65
- 25
- 勋章
- 8
- 黄金
- 1,125.00🍪
- 白银
- 0🎵
- Points
- 0
哈喽。几周不见,我回来啦!那么这次还是HoC2020,打开你的世界,开始编码把!
通过末影通讯器来到村庄。河边,一个渔民站在那。他叫我们建造一个长6 blocks,宽4 blocks的码头。
首先,我们给代理机器人足够的物品(64个木板)。
小知识:Minecraft中大多数物品的“一组”均为64个。
我们可以用:
而橡木木板对应的英文名为planks,所以,代码如下所示:
有没有觉得跟我们之前学到的player.give()很像。是的,但这是就是类与对象的部分了,我将来会在编程基础知识系列中讲解的,敬请期待。
有了木板就要放置了。我们可以用agent.place()放置:
我们要在脚下放置,所以是down。
综上所述,一块木板的代码(包括初始化)为:
接下来。我们用def将代码封装为一个函数(见植树造林II):
接下来,往前走6步,右转,走3步,右转。走5步。
其中,右转需要讲一下。这个我们需要用到agent.turn():
所以,整个挑战完整代码如下:
此时,我们便完成了这个挑战!
回到我们种树的地方。树木成长到了第一阶段。
好了,下回再见。
说实话写一篇真的有点累。欢迎投稿给我。
2024/7/28补充:由于版本更新,代码不再可用
通过末影通讯器来到村庄。河边,一个渔民站在那。他叫我们建造一个长6 blocks,宽4 blocks的码头。
首先,我们给代理机器人足够的物品(64个木板)。
小知识:Minecraft中大多数物品的“一组”均为64个。
我们可以用:
Python:
# item: 物品英文名,如minecraft:oak_sapling(橡木树苗)对应sapling
# count: 物品数量
# column: 栏位编号。对于agent,一共有27个
agent.give(item: str, count: int, column: int) # 我的类型声明写的还算标准
Python:
agent.give("planks", 64, 1)
有了木板就要放置了。我们可以用agent.place()放置:
Python:
# column: 栏位编号。同agent.give()第三个参数。
# direction: 放置方向。可以是前后左右上下(forward, back, left, right, up, down)
agent.place(column: int, direction: str)
综上所述,一块木板的代码(包括初始化)为:
agent.give("planks", 64, 1)
agent.move("forward")
agent.place(1, "down")
接下来。我们用def将代码封装为一个函数(见植树造林II):
Python:
def place(times: int):
for i in range(times):
agent.move("forward")
agent.place(1, "down")
其中,右转需要讲一下。这个我们需要用到agent.turn():
Python:
# direction: 方向,可以是左和右(left, right)
agent.turn(direction: str)
Python:
# 在此编写代码
agent.give("planks", 64, 1)
def place(times: int):
for i in range(times):
agent.move("forward")
agent.place(1, "down")
place(6)
agent.turn("right")
place(3)
agent.turn("right")
place(5)
回到我们种树的地方。树木成长到了第一阶段。
好了,下回再见。
说实话写一篇真的有点累。欢迎投稿给我。
2024/7/28补充:由于版本更新,代码不再可用
最后编辑: