- 少儿计算思维养成记:六个孩子的编程学习笔记
- 包若宁等编著
- 784字
- 2025-02-23 14:12:08
二、动手练:会织网的蜘蛛
(一)实验目的
模仿蜘蛛织网的过程,一圈一圈地织出六边形的网来。
(二)基本思路
蜘蛛网可以看成由许多同样的几何图形构成:蜘蛛网的一圈为六边形,一个六边形可以分割成6个三角形;整个网可以看成六边形的圈从里到外逐渐扩大形成。
(三)编程步骤
(1)角色设计
我们没找到现成的“蜘蛛”角色,就用篮球代表蜘蛛了。
(2)变量设计
定义一个变量sideLength,表示边长;边长从0开始,逐步增加;每增加一次,就画一个六边形。这样蜘蛛网就一圈一圈织出来了。
(3)过程定义与脚本展示
我们定义3个过程,就是新建3个积木块(见图7-3中左侧部分),分别是:
1)Triangle积木
- 功能:画一个等边三角形。
- 形式参数:边长
length
。 - 过程描述:先沿着一个方向走
length
步,画出第一条边;然后右转120°,再走length
步,画出第二条边;最后再右转120°,走length
步,画出第三条边。这样恰好回到出发点,也就是蜘蛛网的中心点。
2)Hexagon积木
- 功能:画一个六边形。
- 形式参数:边长
length
。 - 过程描述:先调用
Triangle
过程画一个三角形;然后旋转60°,再画一个;这样重复6次,就画出六边形来了。
3)SpiderWeb积木
- 功能:画蜘蛛网。
- 形式参数:无。
- 过程描述:我们先将边长
sideLength
设置为0,然后重复增加sideLength
,调用Hexagon
积木画边长为sideLength
的六边形。这样重复5次,一个5圈的蜘蛛网就织成了。
(四)实验结果
图7-4中显示的是我们画出来的蜘蛛网,漂亮吧?

图7-4 画蜘蛛网的程序及实验结果
(五)思考与延伸
当然了,我们可以扩展SpiderWeb
积木:增加两个参数,分别表示蜘蛛网的圈数和两圈之间的距离,这样能够更方便地控制画几圈、画多密。
需要说明的是,这里是用画三角形的方式画蜘蛛网,并不是蜘蛛的真实织网方式。我上网查了,在自然界里,蜘蛛是先织出经线,再绕圈织出纬线。蜘蛛拉第一根经线是最费力的,要经过树枝、草地等;为了避免被树枝、草叶粘住,经线都是没有黏性的,只有纬线才有黏性,好粘住飞虫。不同的蜘蛛拉出的经线数目也不同,通常有二十几根之多。