Scratch与天文——月亮的圆与缺2解
古时有苏轼的千古名句“月有阴晴圆缺”,李白的“床前明月光”,“举杯邀明月”,张九龄的“海上生明月,天涯共此时”。
明月因为有圆有缺从古至今一直被人们研究着,它的圆缺多变一直为人们津津乐道。
今天,我们就用Scratch编程,来展现一下月亮有圆到缺的过程。
一、绘制实心圆版本代码的组合。
第1步,将背景设为黑色,绘制圆月。这个 简单,就是绘制一个白色的实心圆形哦。
当绿旗被点击,隐藏角色,移到(-182,137)定位,抬笔,全部擦除,将笔的颜色设为白色,将笔的粗细设为10,落笔,重复执行36次,移动20步,移动-20步,右转10度。广播1。
这是一个以定位为中心,半径是20,绘制的一个实心圆。这是圆月。
第2步,
当接收到1,面向90度,移到(-83,109)定位,抬笔,将笔的颜色设为白色,将笔的粗细设为10,落笔,重复执行36次,移动20步,移动-20步,右转10度。
白色月亮画完后,我们开始绘制黑色的阴影,用黑色遮盖白色的一部分来体现出月亮的缺失。
抬笔,右转30度,移动30步,将笔的颜色设为黑色,落笔,重复执行36次,移动20步,移动-20步,右转10度。抬笔,广播2。
第3步,
当接收到2,面向90度,移到(-7,75)定位,抬笔,将笔的颜色设为白色,将笔的粗细设为10,落笔,重复执行36次,移动20步,移动-20步,右转10度。
抬笔,右转30度,移动20步,将笔的颜色设为黑色,落笔,重复执行36次,移动20步,移动-20步,右转10度。抬笔,广播3。
第4步,
当接收到3,面向90度,移到(61,25)定位,抬笔,将笔的颜色设为白色,将笔的粗细设为10,落笔,重复执行36次,移动20步,移动-20步,右转10度。
抬笔,右转30度,移动12步,将笔的颜色设为黑色,落笔,重复执行36次,移动20步,移动-20步,右转10度。抬笔,广播4。
第5步,
当接收到4,面向90度,移到(130,-40)定位,抬笔,将笔的颜色设为白色,将笔的粗细设为10,落笔,重复执行36次,移动20步,移动-20步,右转10度。
抬笔,右转30度,移动8步,将笔的颜色设为黑色,落笔,重复执行36次,移动20步,移动-20步,右转10度。抬笔,广播5。
第6步,
当接收到5,面向90度,移到(181,-110)定位,抬笔,将笔的颜色设为白色,将笔的粗细设为10,落笔,重复执行36次,移动20步,移动-20步,右转10度。
抬笔,右转30度,移动3步,将笔的颜色设为黑色,落笔,重复执行36次,移动20步,移动-20步,右转10度。抬笔,停止全部脚本。
圆月变为月牙的过程就写完了,但是呢,好像每个代码相似度都很大,而且改动的地方也不多,一个是定位,一个是绘制黑色前的移动步数,还有就是广播了。
我们可以试试把这套相似度高,重复次数多的代码换成自制积木试试。
第7步,绘制白圆黑圆的代码。
白圆是画月亮的,黑圆是画阴影的。
这个是画所有过程的代码,比之前的普通版本代码少了很多,但是这个代码还是有点长了,所以,我们还可以继续建立自制积木,让主代码短一点。
看看这样的代码是不是就看着简便明了了呢?
绘制实心圆的自制积木版本全部代码。
二、增加笔的粗细版本绘制的月亮组合。
第1步,普通版本代码:
自制积木版本代码:
我的第一个代码是绘制实心圆,比较麻烦。
第二个代码是绘制圆点,只需要确定笔的粗细和颜色,定位落笔抬笔就完成了一个月亮的绘制,很简单哦。
所以,代码没有固定答案,只要我们思维足够灵活,就能写出很多个答案哦,加油吧!