# 积木的形状
在其他编程语言中, 一般通过使用不同的符号来表示"数据类型", 通过段落缩进来表示一个"代码块/代码意群". 比如下面的 Python 程序:
conditions = [True, False]
for condition in conditions:
if condition:
print("Branch A")
else:
print("Branch B")
1
2
3
4
5
6
7
2
3
4
5
6
7
上面的 Python 程序中:
- 用
[ ]
表示"列表"数据类型 - 用
""
表示"字符串"数据类型 - 用段落缩进来标识"代码块"
conditons
是自定义的"变量名"True
,False
,if
else
for
in
... 在 Python 中有特殊的含义, 不能作为"变量名". 但是它们没有特殊的符号标识, 只能靠使用者自己记住
而在 Scratch 中, 不是使用"符号"和"段落缩进"来标识具体功能, 而是使用具象的"积木形态"来暗示具体功能. 这是因为:
- 积木是孩子常见的、喜闻乐见的玩具
- 积木之间可以契合拼插, 很形象地寓意代码之间的连接关系
- 大脑的图像记忆比文本记忆强大, 因此, 孩子可以通过积木形状和颜色的线索, 迅速识别代码的功能
# 3 大类
Scratch 的"代码积木"可以大致分成 3 大类:
名称 | 用途 | 形状 & 图示 |
---|---|---|
帽子积木 Hat blocks | 帽子形状. 用在脚本的起始位置, 表示触发脚本运行的前提条件 | |
堆栈积木 Stack Blocks | 上有凹槽下有凸起. 表示镶嵌到脚本中 | ![]() ![]() ![]() |
信息积木 Reporter Block | 上下平坦, 头尾是"菱形"或者"圆形". 表示"变量", 用于保存数字、字符串、运算. 用于运算时, 会返回结果 | ![]() |
# 6 小类
除了上述的 3 大类, 还可以细分成 6 小类:
形状 | 含义 | 图示 | 例子 |
---|---|---|---|
帽子形 | 顶部像帽子, 暗示前面无法放置其他积木, 只能用在脚本的起始位置. 这类积木用于表示触发脚本运行的前提条件. (此类共有 11 个) | ![]() | |
凹形 | 顶部凹陷, 底部平坦, 暗示前面需要连接积木, 而后面无法连接. 这类积木用于脚本的末尾. (共有 2 个, 都在"控制类"积木中) | ![]() | ![]() |
"C" 形 | 一种"分支"结构, 形似字母 "C". 分支的顶部和底部都有凹凸结构, 暗示需要把自己嵌入到其他积木, 且自身内部需要嵌入积木. 这类积木用于表示"流程控制" -- "条件判断"或者"循环". (共有 5 个, 都在"控制类"积木中) | ![]() | ![]() |
凹凸形 | 顶部凹陷, 底部凸起, 暗示镶嵌在前后积木中间. 这类积木用于放在脚本的中间 (共有 77 个, 是最常见的积木类型) | ![]() | ![]() |
菱形 | 上下平坦, 头尾菱形, 暗示镶嵌在积木内部 这类积木表示"布尔值[1]", 主要用于"流程控制" -- "条件判断"或者"循环" (共有13个) | ||
椭圆形 | 头尾是椭圆形. 这类积木暗示镶嵌在积木内部, 表示"数字"和"字符串" (共有 37 个) | ![]() |
"布尔值"是编程语言中重要的数据类型, 总共只有两个值: "真(True)"和"假(False)". 比如说, 判断"空格键是否被按下?", 回答只有两种可能 -- "是"或者"不是", 对应着"真"和"假" ↩︎