Scratch的图形优化
2021-01-18陈新龙
电脑报 2021年50期
陈新龙
每年Scratch考级考试中必然会出现关于绘制复杂图形的题目。绘制图形主要考核对画笔积木和重复及旋转积木的掌握,还需要有一定的数学能力和提取图形变化规律的能力。
其实考题中所有复杂图形都是通过简单图形重复构成的,在考试中有些同学会使用重复的代码块进行组合拼搭实现最终的效果。今天就和大家一起探讨图形题目中的程序优化。
例题:图中有6个三角形,第一行有1个正三角形,第二行有2个正三角形,第三行有3个正三角形,每一行的第一个三角形是上下对齐的。小明要用Scratch绘制出这个图形,你觉得小明这样编写程序可以实现效果吗?能否对程序进行优化呢?(图1)

從最终的运行效果我们可以看到小明的方法确实可以实现题目的要求,他先自定义绘制三角形的方法,然后用坐标定位将6个三角形移动到指定的位置,最终代码的长度也适中(图2)。

但如果将题目稍微修改一下,由用户输入行数,绘制出n行三角形,每行三角形的个数依次递增,还能使用坐标定位的方法吗?答案是肯定不行。这个时候我们需要对程序进行整体的优化和修改(图3)。

对原有程序优化的第一步是检查三角形的画法,这一步需要重复很多次,是程序的核心,包含确定画笔的粗细,确定画笔的颜色,重复执行三次,每次左转或者右转120度,确定每次移动的步数。
接下来需确定初始的坐标(0,0),通过“询问需要绘制多少行的三角形”获取绘制的行数。……
登录APP查看全文
