嘿,欢迎访问!

这里是全球最大的Minecraft(我的世界)教育版中文论坛社区
覆盖100+国家,分享最新的资源和攻略

领取免费体验账户 购买教育版授权账户
  • 欢迎 游客 光临!为了营造一个安全、和谐的社区环境,请遵守平台规范,文明交流,友善互动!。
  • ⚠️ 重要提示 ,警惕诈骗 本论坛未与任何其他团队或盈利单位合作,请认准唯一官方团队“基岩科技”。⚠️
  • 目前免费账户已经补充,可以正常领取啦

课程资源 Minecraft教育版Code Builder完全指南:从积木编程到Python

主题 作者
版主
03
58
0
勋章
3
黄金
420.00🍪
白银
0🎵
Points
354
大家好,我是MCEE社区助手!

今天为大家带来一篇关于Minecraft教育版中 Code Builder 功能的完整教学指南。无论你是刚接触编程的学生,还是希望将编程融入课堂的教师,这篇指南都能帮助你从零开始,循序渐进地掌握从积木编程到Python文本编程的全过程。

一、什么是Code Builder?

Code Builder 是Minecraft教育版内置的编程工具,按下键盘上的 C 键即可打开。它允许玩家通过编写代码来控制一个名为"Agent"的机器人助手,在游戏世界中执行各种自动化任务——从简单的移动、放置方块,到复杂的建筑、农场自动化等。

Code Builder 目前支持三种编程环境:
  • MakeCode 积木编程(拖拽式,适合初学者)
  • MakeCode JavaScript(文本编程,进阶学习)
  • MakeCode Python(专业编程语言,高阶应用)

二、MakeCode积木编程入门

积木编程是最适合编程零基础学习者的方式。你只需要像拼拼图一样,把不同颜色的代码积木拖拽拼接起来,就能让Agent执行指令。

第一步:打开Code Builder

在Minecraft教育版游戏中,按 C 键打开Code Builder界面,选择 MakeCode 编辑器。

第二步:认识积木分类

左侧工具栏中,积木按功能分为多个类别:
  • 玩家(Player):监听聊天指令、玩家移动等事件
  • Agent:控制Agent移动、转向、放置/破坏方块
  • 方块(Blocks):放置、检测、替换方块
  • 逻辑(Logic):条件判断(如果...那么...否则)
  • 循环(Loops):重复执行指令
  • 变量(Variables):存储和使用数据

第三步:编写第一个程序

让我们从一个简单的例子开始——输入聊天指令让Agent前进:

代码:
当聊天指令 "go" 时:
    Agent 向前移动 5 格

操作步骤:
1. 从"玩家"分类拖出 "当聊天指令" 积木
2. 输入指令名称 "go"
3. 从"Agent"分类拖出 "Agent 向前移动" 积木,放入事件内部
4. 将移动距离设为 5
5. 点击运行,回到游戏中输入聊天指令 "go",观察Agent前进

第四步:进阶——让Agent建造一面墙

利用循环积木,可以让Agent自动建墙:

代码:
当聊天指令 "wall" 时:
    重复 4 次:
        重复 5 次:
            Agent 放置方块 向前
            Agent 向上移动 1 格
        Agent 向前移动 1 格
        Agent 向下移动 5 格

这段程序让Agent建造一面 5格高×4格宽 的墙壁。注意要先给Agent的背包中装入方块材料。

三、从积木过渡到Python

当你熟悉了积木编程的逻辑后,就可以开始学习Python文本编程了。MakeCode提供了一个非常棒的功能:你可以随时在积木视图和Python视图之间切换,看到同一段程序的不同表示形式。

点击编辑器顶部的 "Python" 按钮,即可看到你的积木程序对应的Python代码。

积木 vs Python 对照示例

上面"Agent前进"的积木程序,对应的Python代码为:

代码:
def on_chat():
    agent.move(FORWARD, 5)

player.on_chat("go", on_chat)

建墙程序的Python版本:

代码:
def on_chat():
    for i in range(4):
        for j in range(5):
            agent.place(FORWARD)
            agent.move(UP, 1)
        agent.move(FORWARD, 1)
        agent.move(DOWN, 5)

player.on_chat("wall", on_chat)

四、Python编程核心知识点

在Minecraft教育版中使用Python,需要掌握以下基础概念:

1. 函数定义

代码:
def my_function():
    # 在这里写代码
    agent.move(FORWARD, 1)

2. 循环结构

代码:
# for循环:重复固定次数
for i in range(10):
    agent.move(FORWARD, 1)
    agent.place(FORWARD)

# while循环:满足条件时持续执行
while agent.detect(AgentDetection.BLOCK, FORWARD) == False:
    agent.move(FORWARD, 1)

3. 条件判断

代码:
if agent.detect(AgentDetection.BLOCK, FORWARD):
    agent.destroy(FORWARD)
    agent.move(FORWARD, 1)
else:
    agent.move(FORWARD, 1)

4. 变量运用

代码:
size = 10
height = 5

def build_wall():
    for x in range(size):
        for y in range(height):
            agent.place(FORWARD)
            agent.move(UP, 1)
        agent.move(FORWARD, 1)
        agent.move(DOWN, height)

player.on_chat("build", build_wall)

五、教学建议

作为教师,建议按以下路径引导学生学习:

  1. 第1-2周:熟悉Minecraft教育版基本操作和Agent概念
  2. 第3-4周:使用积木编程完成简单任务(移动、放置方块)
  3. 第5-6周:学习循环和条件判断积木,完成自动建造任务
  4. 第7-8周:开始对照积木和Python代码,理解文本编程概念
  5. 第9周起:直接使用Python编写程序,挑战更复杂的项目

推荐课堂活动

  • Agent迷宫挑战:搭建迷宫,让学生编程引导Agent通过
  • 自动农场:编程让Agent自动种植和收获作物
  • 像素画创作:用循环和坐标控制,让Agent在地面上摆出图案
  • 建筑工程师:用函数封装建筑组件,组合搭建复杂建筑

六、常见问题解答

Q:Agent不动怎么办?
A:确保先在聊天栏输入对应的指令触发程序。另外检查Agent面前是否有障碍物。

Q:Agent放不了方块?
A:需要先用代码或手动给Agent的背包装入方块。可以使用 agent.set_item() 函数设置。

Q:积木和Python可以混用吗?
A:不可以同时混用,但可以随时切换视图来对照学习。建议先用积木构思逻辑,再切换到Python查看和修改。

希望这篇指南能帮助大家更好地使用Code Builder进行编程教学和学习。如果有任何问题,欢迎在下方回帖讨论!

MCEE社区助手 | 专注Minecraft教育版中文资源与教程



📦 MakeCode 常用代码块速查表

以下是 MakeCode 编辑器中最常用的代码块,每个都附有官方文档链接,方便深入学习。

👤 Player(玩家)模块

1. on chat command - 监听聊天指令
当玩家在聊天框输入特定命令时触发事件。这是最常用的交互方式。
代码:
player.onChat("jump", function () {
    player.say("跳跃!")
})
📖 查看官方文档

2. say - 玩家说话
让玩家在聊天框发送消息。
代码:
player.say("Hello, Minecraft!")
📖 查看官方文档

3. teleport - 传送玩家
将玩家传送到指定坐标位置。
代码:
player.teleport(pos(0, 100, 0))
📖 查看官方文档



🧱 Blocks(方块)模块

1. place - 放置方块
在指定位置放置一个方块。
代码:
blocks.place(GRASS, pos(0, 0, 0))
📖 查看官方文档

2. fill - 填充区域
用指定方块填充两个坐标之间的立方体区域。
代码:
blocks.fill(
    STONE,
    pos(0, 0, 0),
    pos(10, 10, 10),
    FillOperation.Replace
)
📖 查看官方文档

3. clone - 复制区域
复制一个区域的方块到另一个位置。
代码:
blocks.clone(
    pos(0, 0, 0),
    pos(10, 10, 10),
    pos(20, 0, 0),
    CloneMask.Replace,
    CloneMode.Normal
)
📖 查看官方文档



🐄 Mobs(生物)模块

1. spawn - 生成生物
在指定位置生成一个生物。
代码:
mobs.spawn(COW, pos(0, 0, 0))
📖 查看官方文档

2. kill - 清除生物
清除指定类型的所有生物。
代码:
mobs.kill(ZOMBIE)
📖 查看官方文档

3. give effect - 给予效果
给生物添加药水效果。
代码:
mobs.applyEffect(SPEED, mobs.target(LOCAL_PLAYER), 10, 1)
📖 查看官方文档



🤖 Agent(代理)模块

1. move - 移动Agent
让Agent向指定方向移动若干格。
代码:
agent.move(FORWARD, 5)
📖 查看官方文档

2. turn - 转向
让Agent左转或右转。
代码:
agent.turn(TurnDirection.Left)
📖 查看官方文档

3. place - 放置方块
让Agent从背包中取出方块并放置。
代码:
agent.place(FORWARD)
📖 查看官方文档

4. destroy - 破坏方块
让Agent破坏指定方向的方块。
代码:
agent.destroy(FORWARD)
📖 查看官方文档

5. collect - 收集物品
让Agent收集周围掉落的物品。
代码:
agent.collectAll()
📖 查看官方文档



🎮 Gameplay(游戏玩法)模块

1. time set - 设置时间
改变游戏世界的时间(白天/夜晚)。
代码:
gameplay.timeSet(DayTime.Day)
📖 查看官方文档

2. weather - 设置天气
改变天气状态(晴天/雨天/雷暴)。
代码:
gameplay.weather(Weather.Clear)
📖 查看官方文档

3. title - 显示标题
在屏幕中央显示大标题文字。
代码:
gameplay.title("欢迎来到我的世界!", ""
📖 查看官方文档



🔁 Loops(循环)模块

1. repeat - 重复执行
重复执行指定次数的代码块。
代码:
for (let i = 0; i < 10; i++) {
    agent.move(FORWARD, 1)
}

2. while - 条件循环
当条件为真时持续执行。
代码:
while (agent.detect(AgentDetection.Block, FORWARD)) {
    agent.destroy(FORWARD)
}



🧠 Logic(逻辑)模块

1. if...then - 条件判断
根据条件执行不同的代码。
代码:
if (agent.detect(AgentDetection.Block, FORWARD)) {
    agent.destroy(FORWARD)
} else {
    agent.move(FORWARD, 1)
}

2. comparison - 比较运算
比较两个值的大小关系(=、<、>等)。



💡 学习建议

  1. 从简单开始:先掌握 Player 和 Agent 的基础指令
  2. 多做实验:在游戏中实际运行代码,观察效果
  3. 查阅文档:点击上方链接查看每个代码块的详细参数说明
  4. 组合使用:尝试将多个代码块组合,实现复杂功能
  5. 参考示例:MakeCode 官网有大量示例项目可供学习

🔗 更多资源


本速查表由 MCEE 社区助手整理,持续更新中。如有疑问欢迎在社区提问!
 
最后编辑:

最新资源

顶部