嘿,欢迎访问!

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

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

课程资源 MakeCode基础方块完全指南:从单个方块到组合应用

主题 作者
版主
03
50
0
勋章
3
黄金
240.00🍪
白银
0🎵
Points
255
MakeCode 基础方块完全指南:从单个方块到组合应用



一、什么是图形化方块?为什么要用方块编程?

大家好!欢迎来到 MCEE 社区的 MakeCode 教程。今天我们要聊的,是搭建一切程序的地基——图形化方块。

想象一下,编程就像搭乐高。图形化方块就是一个个颜色、形状各异的乐高积木。你不用去记忆复杂的英文单词和符号,只需要像拼图一样,把这些方块拖拽、拼接在一起,就能创造出有趣的功能。这就是 图形化编程 的魅力!

为什么要用方块呢?因为它对新手超级友好!
  • 直观易懂: 每个方块的功能都用图标和简单文字标明了,一看就懂。
  • 防止错误: 方块的形状就像拼图接口,能拼上的逻辑上通常就是正确的,避免了语法错误。
  • 培养逻辑: 你需要思考的是“先做什么,再做什么”,这正是编程思维的核心。
  • 快速上手: 几分钟内你就能让游戏角色动起来,获得满满的成就感!
在 MakeCode 中,所有方块都躺在屏幕左边的“工具箱”里,等着被你拖到中间的“工作区”大展身手。



二、基础方块分类介绍

让我们来认识一下 MakeCode 里的几个“积木大家族”。

1. 事件方块:程序的“开关”
事件方块是程序的起点。它像是一个监听器,当某个特定的事情发生时,它就会触发并运行它“肚子”里的所有方块。
代码:
on start

69b85739dbc096ab526c67e1.png

这个方块里的指令,会在世界加载时自动运行一次,非常适合用来做初始化设置。
代码:
on chat command "jump"

69b816b4dbc096ab526bc1cc.png

这是最常用的方块之一!当你在游戏聊天框里输入“jump”,它后面的所有指令就会立刻执行。你可以把“jump”换成任何你喜欢的词,比如“fly”、“house”。

2. 动作方块:程序的“执行者”
动作方块负责完成具体的任务,是让世界发生变化的主力。
代码:
player.say("Hello!")

69b84129dbc096ab526c46f1.png

这个方块会让你的玩家在游戏中说出“Hello!”。
代码:
agent.move(FORWARD, 1)

69b85764dbc096ab526c67e6.png

这个方块会让你的编程助手“代理(Agent)”向前移动一格。类似的还有 agent.destroyagent.place 等,可以让代理挖方块、放方块。

3. 循环方块:程序的“重复机”
当我们需要让计算机重复做同一件事时,循环方块就派上用场了。
代码:
repeat 4 times

69b85743dbc096ab526c67e2.png

这是最简单的循环。把它想象成一个计数器,它会把它“肚子”里的指令,老老实实地重复执行指定的次数(比如4次)。
代码:
for index from 0 to 4

69b857b7dbc096ab526c67e9.png

这个循环更强大一些,它会在重复的同时,给你一个不断变化的数字(index),你可以用这个数字来做更多计算。
代码:
while true

69b84140dbc096ab526c46f3.png

这是“永动机”循环。只要条件满足(比如“true”代表永远真),它就会一直重复下去,直到天荒地老(或游戏卡住)。使用时要小心!

4. 条件方块:程序的“决策者”
程序也需要做选择,这时就要用到条件判断。
代码:
if true then

69b8574edbc096ab526c67e3.png

如果“if”后面的条件成立(比如,玩家是否拿着钻石),那么就执行“then”下面的指令。
代码:
if true then
... // 做这件事
else
... // 否则,做那件事

69b857e7dbc096ab526c67ea.png

这是更完整的判断。二选一,总有一个会被执行。

5. 变量方块:程序的“记忆盒”
变量就像一个贴了标签的盒子,你可以往里面存一个数字、一段文字(字符串)或者布尔值(真/假),然后随时取用或修改。
代码:
set myScore to 0

69b85759dbc096ab526c67e4.png

这叫做“定义变量”。我们创建了一个叫“myScore”的盒子,并往里面放了数字0。
代码:
change myScore by 1

69b857f1dbc096ab526c67eb.png

这叫做“修改变量”。它会把“myScore”盒子里的值拿出来,加上1,再放回去。这是计分、计数的关键。



三、方块组合的基本规则(拼接、嵌套)

认识了单个方块,现在学习如何把它们组装起来。规则很简单,就两条:

1. 上下拼接: 程序默认从上到下,一个接一个地执行方块。你把方块A拖到方块B下面,它们会自动“咔哒”一声吸在一起,意味着A执行完就执行B。

2. 内外嵌套: 很多方块中间有凹槽(比如 repeatif),或者整个方块是空心的(比如事件方块)。你可以把其他方块拖进去,放在它们“肚子”里。被嵌套的方块,其执行受外层方块控制。比如,被放进 repeat 里的方块,会被重复执行;被放进 on chat command 里的方块,只有在输入指令时才会运行。

记住一个口诀:先有事件触发,后有动作执行;想让谁重复或判断,就把谁放进循环或条件的肚子里。



四、实战案例

光说不练假把式,我们来搭几个程序看看!

案例1:简单组合 - 聊天指令 + 玩家说话
目标:输入“hi”,让玩家打招呼。
代码:
on chat command "hi"
    player.say("大家好!我是MakeCode新手!")

69b857fcdbc096ab526c67ec.png

看,我们把一个动作方块 player.say 嵌套进了事件方块 on chat command 的肚子里。逻辑是:当“hi”指令事件发生,就执行“说话”这个动作。

案例2:中级组合 - 循环 + Agent移动
目标:输入“road”,让代理向前铺一条5格长的石砖路。
代码:
on chat command "road"
    agent.setItem(STONE_BRICKS, 64, 1)
    repeat 5 times
        agent.place(DOWN)
        agent.move(FORWARD, 1)

69b8576fdbc096ab526c67e7.png
我们来分析一下:
  • 第一行:事件触发。
  • 第二行:让代理的1号物品栏装上石砖(这是准备工作)。
  • 第三到六行:一个 repeat 循环,嵌套了两个动作。
  • 循环内第一步:agent.place(DOWN) 让代理在脚下放置石砖。
  • 循环内第二步:agent.move(FORWARD, 1) 让代理向前走一格。
  • 这个“放置-前进”的组合,被重复执行了5次,就铺出了一条5格的路。

案例3:高级组合 - 条件判断 + 循环 + Agent建造
目标:输入“wall 10”,让代理建造一堵10格高的墙;如果没输入数字,则建一堵5格高的墙。
代码:
on chat command "wall" run with num
    set height to num
    if height = 0 then
        set height to 5
    agent.setItem(COBBLESTONE, 64, 1)
    agent.move(UP, 1)
    repeat height times
        agent.place(BACK)
        agent.move(UP, 1)
    agent.move(DOWN, height)
    agent.move(FORWARD, 1)

69b857a3dbc096ab526c67e8.png
这个例子复杂一些,它用到了“带参数的聊天指令”(run with num):
  • 第一行:输入“wall 10”,数字10会被存入变量“num”。
  • 第二行:将“num”的值转存到我们自定义的变量“height”(高度)里。
  • 第三至五行:if 条件判断。如果高度等于0(即用户没输入数字),那么就将高度设置为5(默认高度)。
  • 第六行:代理准备圆石。
  • 第七行:代理向上移一格,准备从地面以上开始砌墙。
  • 第八至十一行:循环砌墙。重复“height”次(可能是10次或5次):“向身后放方块”然后“向上移动一格”。
  • 最后两行:墙砌好后,让代理安全降落到地面,并回到玩家面前。
这个案例融合了事件、变量、条件、循环、动作,是一个完整的微型项目!



五、常见错误和调试技巧

刚开始拼方块,难免会遇到问题。别担心,这很正常!

常见错误:
  • 方块没拼上: 程序没有按预期运行,首先检查所有方块是否都严丝合缝地拼接在一起了。孤立的方块是不会执行的。
  • 循环停不下来: 使用了 while true 但没有设置退出条件,游戏会卡死。可以尝试用带次数的 repeat 循环,或者用变量控制 while 循环。
  • 代理不动或报错: 检查代理是否被召唤(使用 agent.teleport to player),以及执行动作的方向是否被阻挡。
  • 变量计算错误: 检查是用了 set(覆盖)还是 change(增减),用错了会导致结果不对。

调试技巧:
  • 化整为零: 把复杂程序分成几个小部分,分别用聊天指令测试,确保每一部分都正确。
  • 多用说话提示: 在关键步骤插入 player.sayplayer.title 方块,显示变量的值或当前执行到了哪一步(例如:player.say(“现在开始砌墙,高度是” + height))。
  • 使用模拟器: MakeCode 编辑器右侧有模拟器,可以不进游戏直接测试大部分基础功能,非常方便。
  • 查看JavaScript: 点击编辑器上方的“JavaScript”按钮,可以看到你拼的方块自动生成的代码。有时通过看代码能更清晰地理解逻辑结构。



六、从方块到代码的进阶路径

当你用方块越来越熟练,可能会好奇背后的世界。图形化方块和真正的编程语言(如 JavaScript、Python)是一一对应的!

  • 每个方块都是一段代码: 你在工作区拼的每一个方块,MakeCode 都会在后台帮你转换成一行或多行 JavaScript 代码。点击“JavaScript”视图,你就能看到它们。
  • 学习代码的跳板: 方块上的文字,比如“player.say”,其实就是 JavaScript 中的函数调用。方块的颜色分类,对应着代码中不同的功能模块。通过方块,你已经理解了编程的核心概念(变量、循环、条件、函数)。
  • 如何进阶:
1. 边拼边看: 拼一个复杂功能时,随时切换到 JavaScript 视图,看看对应的代码长什么样。
2. 尝试修改代码: 在 JavaScript 视图里,试着修改一些简单的数字或字符串,然后切回方块视图,观察方块发生了什么变化。
3. 混合编程: MakeCode 允许你在 JavaScript 视图中直接编写代码来调用更多的方块库功能,这是从图形化过渡到纯代码编写的绝佳练习场。
记住,方块编程不是小孩子的玩具,而是通往专业编程的一座坚实桥梁。许多优秀的程序员,都是从这样的图形化环境起步的。



社区资源推荐

学习之路不孤单,MCEE 社区和官方资源是你强大的后盾:
  • MCEE 社区论坛: 在这里分享你的作品,向大神提问,看看其他创作者在做什么。
  • MakeCode 官方教程: 在编辑器内点击“教程”按钮,有大量分步骤的互动式项目等你挑战。
  • 方块帮助文档: 右键点击工作区里的任何一个方块,选择“帮助”,会弹出该方块的详细说明和用法示例。
  • 项目画廊: 在 MakeCode 主页浏览其他用户分享的项目,你可以一键打开并“窥探”他们的方块是如何搭建的,这是非常好的学习方式。

希望这篇指南能帮你打开 MakeCode 图形化编程的大门。最重要的是,保持好奇,大胆尝试,享受创造的乐趣!快去编辑器里,搭建你的第一个程序吧!
 
由版主最后编辑:

最新资源

顶部