欢迎光临散文网 会员登陆 & 注册

Scratch少儿编程案例(绿化城市)——培养探究型学习态度(含配套素材包)

2021-03-23 09:51 作者:小晓少儿编程  | 我要投稿


绿化城市,人人有责

小朋友们是未来的主人,保护环境人人有责!

现在,从绿化自己所在的城市开始吧!


第一部分 课程简介


一、知识要点:

1、坐标与随机数的运用;

2、克隆相关知识的运用;

3、判断与循环结构的运用。


二、作品预览:

1、点击开始按钮,地上长出小草,开出小花;天上直升飞机在从左向右飞行,飞到右边之后,回到左边继续飞行;

2、按下空格键,直升飞机向下洒水,水滴开始降落;

3、花草被浇水之后会长大一些;

4、直升飞机碰到花草,程序结束。

演示视频



第二部分 作品初始化


本文提供的初始化文件是指没有代码的作品文件。包括构建好的界面,以及设定好的属性。打开Scratch 3.0,依次点击“文件”-->“从电脑中上传”,选择下载好的初始化文件,打开即可导入初始化文件。(到演示视频简介处,获取初始化文件。)


一、角色列表:

本节课作品共有四个角色,分别为直升飞机、小花、小草和水滴。所有属性都可根据个人喜好进行设定,结合初始化文件自己DIY一下吧。


二、舞台背景:

舞台背景是一张卡通风格的城市图片,也可自行上传喜欢的背景图。


第三部分 任务解读


一、直升飞机解读:

直升飞机不停的从左往右循环飞行(需要用到循环结构),飞行速度均衡(x坐标均匀变化),飞行高度固定(y坐标固定不变);如果碰到小花、小草(需要用到侦测语句和判断结构),就宣布停止程序。

虽然,按下空格键,直升飞机要执行洒水操作;但是,实际控制水滴下落的是水滴自身,而不是直升飞机。也就是说,直升飞机只是形式上的命令者,水滴才是实际上的执行者。

编程的本质就是用代码去控制角色,并作出响应。若要实现洒水操作,实质上是控制水滴降落,所以,要编写洒水代码的角色是水滴,而非直升飞机。


二、小花解读:

开始程序之后,地上开出五朵小花,种类不一,位置不同;如果碰到直升飞机洒下的水滴,就会长大一些。

请大家思考以下几个问题:

1、小花角色只有一个,如何开出五朵?

2、怎么变出不同种类的小花?

3、如何控制开花的位置?

4、小花是怎么长大的?


大家先独立思考一下,拿到初始化文件之后,动手操作一下,实践一下自己的想法,验证一下自己的思路,能否解决以上问题。然后,再继续查看本文的解读,比比看:是你的想法更优秀,还是本文的思路更简单?


本文的解决思路如下:

1、隐藏本体(小花角色),结合循环结构,克隆五次自己,开出五朵小花。

2、克隆体启动之后,通过随机数改变造型,实现小花种类的变换。

3、通过随机数,改变克隆体的x坐标,控制水平位置。

4、结合循环结构,侦测小花与水滴是否碰到,如果碰到,小花的大小增加,同时y坐标增加,实现长高效果。


三、小草解读:

原理和小花角色相同,操作类似。


四、水滴解读:

水滴的任务很简单:随着空格键的按下,从直升飞机所在的位置开始降落,形成直升飞机洒水的效果;落到地面上自动消失,落到小花、小草上,执行浇水操作,然后消失。

回顾小草的实现方法,思考一下:只有一个水滴角色,怎么实现不停的洒水呢?没错,也是克隆!不同的是,小草角色使用循环结构来控制克隆,这里则使用侦测空格键是否按下进行控制克隆。如果空格键被按下,就克隆自己。

水滴的克隆体启动之后,主要有两项任务:一是降落,二是浇水。

使用条件循环结构,通过不停的降低y坐标实现降水效果,当y坐标小于-160(水滴到达地面时y坐标的临界值)时,删除此克隆体。

在条件循环体内,加入判断语句,如果碰到小花、小草,就切换成浇水造型,执行浇水操作,然后删除此克隆体。


第四部分 编写代码


一、直升飞机代码:

第1行:触发事件;
第2~5行:初始化操作;
第6~8行:持续飞行操作;
第9~10行:飞到右端,自动回到左端,继续飞行;
第11~13行:如果碰到小花或小草,发出警报,3秒钟后,停止程序。

二、小花代码:

小花角色的代码共有两段。第一段代码完成初始化操作、以及克隆五次自己;第二段代码负责启动克隆体,并实现长大效果。

1、第一段代码如下:

第1行:触发事件;
第2~3行:初始化操作;
第4~6行:每隔0.3秒,克隆一次自己,总共克隆5次。

2、第二段代码如下:

第1行:触发事件;
第2行:克隆体初始化操作;
第3行:使用随机数设定克隆体的位置;
第4行:使用随机数设定造型,实现小花种类变换;
第6行:在碰到水滴之前,程序一直等待;
第7~8行:碰到水滴之后,大小增加10,y坐标增加10,实现长大效果;
第9行:长大之后等待1秒,控制小花被浇水的最大频率。

三、小草代码:

小草角色的代码也是两段,功能作用和小花相似,只给出代码,细节不再赘述。

1、第一段代码如下:

2、第二段代码如下:

四、水滴代码:

水滴角色的代码共有三段。第一段代码完成初始化操作;第二段代码负责下达洒水指令;第三段代码执行洒水操作。

1、第一段代码如下:

第1行:触发事件;
第2~3行:状态、大小初始化操作。

2、第二段代码如下:

第1行:触发事件(按下空格键下达洒水指令);
第2行:造型初始化操作;
第3行:克隆自己(让克隆体执行洒水)。

3、第三段代码如下:

第1行:触发事件;第2行:移到直升飞机处,让水滴从直升飞机上开始降落;
第3行:因为水滴的本体是隐藏状态,其克隆体也是隐藏状态,所以这里要执行显示操作,不然看不到水滴降落;第4行:为水滴添加滴落声效;
第5~6行:条件循环,不停降低y坐标,实现水滴降落效果;
第7~12行:如果水滴碰到小花或碰到小草,令水滴再下降一次,然后播放浇水成功的声效,并切换成2造型(浇水成功的造型),等待0.5秒能让浇水操作表现的更加清楚,最后删除此克隆体;
第13行:如果条件循环得到完整执行,说明此水滴克隆体没有落到花草上,最终落到地面上,此时,也要删除此克隆体。

五、舞台代码:

舞台代码很简单,重复播放一段背景音乐。


第五部分 探究与改良

一、要想开出10朵小花,该怎么修改代码?
二、若要小花距离相等,该怎么修改代码?
三、就算程序处于停止状态,按下空格键依然可以洒水,这是一个bug,该如何修复?


关于探究改与良部分,希望大家认真思考!本文提供的作品源码及改良源码仅供参考,期待大家探究更优的改良程序!

加油吧,后浪!


Scratch少儿编程案例(绿化城市)——培养探究型学习态度(含配套素材包)的评论 (共 条)

分享到微博请遵守国家法律