# 积木的形状

在其他编程语言中, 一般通过使用不同的符号来表示"数据类型", 通过段落缩进来表示一个"代码块/代码意群". 比如下面的 Python 程序:

conditions = [True, False]

for condition in conditions:
	if condition:
		print("Branch A")
	else:
		print("Branch B")
1
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 个)

  1. "布尔值"是编程语言中重要的数据类型, 总共只有两个值: "真(True)"和"假(False)". 比如说, 判断"空格键是否被按下?", 回答只有两种可能 -- "是"或者"不是", 对应着"真"和"假" ↩︎