Skip to content

循环与条件

Control 类(橙色)积木控制程序的流程:重复、等待、分支。加上 Operators 类(绿色)的比较积木,程序就能"看情况办事"。

等待

等待 [1] 秒
等待到 <条件>
  • 等待 x 秒:暂停固定时间。
  • 等待到 <条件>:卡在这里直到条件为真。传感器程序的核心积木:
开始移动 [前进]
等待到 <颜色传感器 [C] 反射光 < [30]>
停止移动

循环

重复 [10] 次
  ...

重复执行            ← 无限循环
  ...

重复执行直到 <条件>
  ...
循环用途
重复 x 次已知次数:闪灯 3 次、抖动机械臂 5 下
重复执行永远跑:巡线主循环、状态显示
重复执行直到跑到条件满足:巡线直到看见路口

巡线就是一个"重复执行直到"循环,每圈根据传感器微调方向(详见巡线)。

条件分支

如果 <条件> 那么
  ...

如果 <条件> 那么
  ...
否则
  ...

条件槽 < > 里放 Sensors 类的判断积木或 Operators 类的比较积木:

如果 <颜色传感器 [C] 颜色 = [红色]> 那么
  播放声音 [Bing]
否则
  显示图案 [X]

比较与逻辑(Operators)

< [读值] > [50] >        ← 大于
< [读值] < [50] >        ← 小于
< [读值] = [50] >        ← 等于
< <条件A> 与 <条件B> >
< <条件A> 或 <条件B> >
< 不成立 <条件> >

传感器读值用范围,不用等于

反射光、距离这类连续数值几乎永远不会正好等于某个数。写 < 30> 70,别写 = 30。"等于"只用于颜色这种离散值。

组合示例:来回巡逻

当程序启动时
设置移动马达 [A+E]
重复 [4] 次
  开始移动 [前进]
  等待到 <距离传感器 [D] 距离 < [10] cm>
  移动 [后退] [1] 圈
  移动 [转向 100] [340] 度      ← 掉头(度数需实测)

练习

  1. 写一个"红灯停绿灯行":重复执行,看到红色停止移动,看到绿色开始前进。
  2. 用"重复 5 次"让灯光矩阵显示 5 → 4 → 3 → 2 → 1 倒计时(配合变量更优雅)。

下一课:变量 Variables