信息素养大赛 / 世界机器人大会 核心考点全覆盖
Scratch列表索引从1开始,而非0。当在循环中删除或插入列表项时,后续项的索引会立即发生变化。经典陷阱:从前往后遍历删除时,删除第i项后原第i+1项变为第i项,若i自增则会跳过一项。正确做法是从后往前遍历删除,或删除后不递增i。切记:列表长度是动态的,每次操作后必须重新审视索引!
克隆体在创建时继承原角色所有局部变量的当前值,但之后各自独立。全局变量和列表在所有角色及克隆体之间实时共享。常见陷阱:①以为克隆体的局部变量从0开始(实际继承创建时的值);②以为克隆体删除后其操作过的列表数据也会消失(列表数据独立于克隆体生命周期);③以为修改克隆体的局部变量会影响原角色(实际互不影响)。
"广播"是异步的——发送方不等待接收方处理完毕就继续执行后续脚本;"广播并等待"是同步的——发送方会暂停,直到所有接收方的当次处理脚本执行完毕才继续。竞赛中常考的陷阱:在同一角色中发送并接收同一条广播时,必须避免无限递归。
"列表包含xxx"只返回布尔值true/false,不会返回匹配的个数或位置。"删除列表中的xxx"只删除第一个匹配项,不会删除所有匹配项。若要删除所有匹配项,需要用循环反复查找删除,直到列表不再包含该值为止。