Scratch玩游戏:武汉版垃圾分类

夏天来了,语文老师说:“更无柳絮因风起,惟有葵花向日倾。

地理老师说:“北半球白昼逐渐变长,气温逐渐升高。”

英语老师说:“Summer for thee, grant I may be。”

江城武汉说:“我要搞垃圾分类了。”

垃圾分类并不是什么新鲜词,查阅资料得知,北京在1996年就开始提垃圾分类,上海也不甘落后,1999年也开始了。

对于像废玻璃、废纸张、废金属、废塑料、废纺织物、废弃电子产品是可回收垃圾,这种提炼统计的说法已经很熟悉了。

作为一名武汉的家庭主妇,我更关心即将到来的7月,家里需要准备几个垃圾桶?

日常买菜买水果用的塑料袋(这个真是多啊)、头发、大骨头之类的生活垃圾应该怎样分类?

查过资料,生活垃圾分类遵循“两桶一袋”原则:

其实在日常的居家生活中,大部分家庭已经做到了这一点,厨房的垃圾桶放厨余垃圾,客厅的垃圾桶放其他垃圾,下楼扔垃圾时,注意分别投放就行了。

对于可回收垃圾,作为一名家庭主妇,我一直发扬穷逼风格勤俭持家的传统美德,快递盒、空食用油桶、空奶粉桶、饮料瓶之类的可回收垃圾,都是积攒起来扛到废品站去卖了。

(卖两块钱就可以坐摇摇车咯!)

下面小呱整理了一些生活中容易分错类的生活垃圾,做成了一个小游戏,边玩边学垃圾分类,在垃圾分类实施以前,争取将这些垃圾的分类做到烂熟于心,如果被罚款了就不好了,咱用那钱来买小龙虾吃,它不香吗?

之前用Scratch做过一个垃圾分类的游戏,读者反映了一些问题,这次对这个游戏做了一些改进。

游戏开始后,垃圾会随机出现,点击下面对应的垃圾箱,如果垃圾投放正确,垃圾箱打开,垃圾进入垃圾箱,垃圾箱提示“投放正确!”,如果点击了错误的垃圾箱,垃圾箱会左右摇动一下,提示“投放错误!”,生命数会减少1,当生命数为0时,游戏会结束!

先来看一下游戏效果吧!


在这个游戏中,我大量运用了“广播”这块积木,在一个scratch作品中,背景和角色往往能够通过各自的脚本,独立的完成自己所要做的事情,可是背景和角色间,或是角色和角色间在面对只有相互合作才能完成的事情时,我们就需要通过【广播】来实现了,背景或任何一个角色,都可以通过【广播消息】积木块向其他角色或是背景发送消息。

下面来看一下具体的脚本。

1.变量和列表

我们定义了5个变量和2个列表。

垃圾编号:这个变量表示当前显示的垃圾的造型编号;

扔对垃圾数量:用来记录正确投放垃圾的数量;

生命数:记录玩家的生命点数,初始化有5点生命数,点错一次垃圾    桶,减去1点生命数;

a:这个变量用于创建列表,它是隐藏变量;

b:用来记录垃圾在列表中的位置,它是隐藏变量;

还定义了两个列表:

临时列表:这个列表用于生成21种垃圾的顺序列表;

垃圾分类:这个列表用于将垃圾顺序随机打乱,这样在每一局游戏中,垃圾的排列顺序都是不一样的。

2.背景

我们选择默认的白色背景,为这个背景增加了1个声音,倒计时“3、2、1”的声音。

这个背景有一段脚本。

当绿旗帜被点击,广播“567”,播放倒计时声音,等待2秒,调节音量。

3.角色

删除默认的“小猫”角色。

这个游戏中共有8个角色,分别是倒计时、垃圾、4个垃圾桶、游戏成功、游戏失败,下面依次来介绍。

第1个角色:倒计时

这个角色是游戏的开始,点击绿旗后,界面显示3、2、1倒计时,是为给初始化垃圾列表提供缓冲时间,它有3个造型:

当点击绿色旗帜时,显示角色,切换为3造型,分别等待0.5秒,依次切换2、1造型,然后隐藏角色,广播“显示垃圾”。

第2个角色:垃圾

这个角色有21种垃圾造型,分别为21种不同的垃圾。

当点击绿色旗帜时,隐藏角色,初始化角色位置,将角色设置为不可拖动。

然后数据初始化工作,当点击“绿色小旗”时,将扔对垃圾数设为0,生命数设为5,变量“a”设为1。

删除“临时列表 ”的全部项目,重复执行21次(因为有21种不同的垃圾),每次都将a添加到“临时列表”中,再将“a”增加1,通过循环,我们就将垃圾的24种造型顺序插入到“临时列表”中。

接下来删除“垃圾分类”中的全部项目。然后进入循环,直到“临时列表”的项目数为0才会跳出循环。在这个循环体中,首先从1到“临时列表”的项目数之间取一个随机数,并将其赋值给变量a,然后将“临时列表”的第“a”项的值加入到“垃圾分类”列表中,并且将“临时列表”的第“a”项删除。通过这3条语句,可以从“临时列表”中随机选择一条记录,将其插入到“垃圾分类”列表中,然后从“临时列表”中删除这项记录。经过24次重复,“临时列表”中的数据都迁移到了“垃圾分类”列表中,只是顺序打乱了。

之后,设置变量b的值为1,并顺序从“垃圾分类”列表中取出垃圾的造型显示出来。

数据初始化工作完成后,要在垃圾桶上方,随机且不重复地显示垃圾,当接收到广播消息“显示垃圾”时,克隆自己,当作为克隆体启动时,根据垃圾编号切换造型,初始化垃圾位置,将角色设为不可拖动。

此时玩家会点击对应的垃圾箱,比如当前显示的是可回收垃圾,点击可回收垃圾箱,可回收垃圾箱会广播消息“是可回收垃圾”,角色垃圾在接收到广播“是可回收垃圾”时,在1秒内滑行到可回收垃圾箱的坐标处,广播消息“进入可回收垃圾桶”,脚本如下:

当可收加垃圾桶接收到广播消息“进入可回收垃圾桶”,会进行切换造型等操作,并广播消息“投放正确”,当垃圾角色接收到“投放正确”广播,删除此克隆体。将变量b、扔对垃圾数量都增加1,显示垃圾造型的第b个造型,即顺序取出“垃圾分类”列表中下一个的垃圾造型。

厨余垃圾、有害垃圾、其他垃圾的处理逻辑同理:

同时当绿色旗帜被点击时,判断扔对垃圾数量是否等于21,等于21时,垃圾分类全部正确,广播“游戏成功”,判断生命数是否等于0,等于0时,广播“游戏结束”。

第3个角色:垃圾桶

以可回收垃圾桶为例,垃圾桶都有两个造型,打开和关闭,当点击绿色旗帜时,换成关闭造型。

当点击角色时,根据造型编号判断垃圾是否为可回收垃圾,如果是可回收垃圾,换成打开造型,广播消息“是可回收垃圾”,否则,否则垃圾桶左右晃动一下,说“投放错误!”1秒,生命数增加-1。

当接收到“可回收垃圾桶”广播,说“投放正确”1秒,换成关闭造型,广播“投放正确!”

厨余垃圾、有害垃圾、其他垃圾处理逻辑参照可回收垃圾。

第4个角色:游戏成功

当点击绿色旗帜,隐藏角色,当接收到“游戏成功”广播,显示角色,并停止全部脚本。

第5个角色:游戏失败

点击绿色旗帜,隐藏角色,当接收到“游戏成功”广播,显示角色,并停止全部脚本。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • “这个是扔到可回收垃圾?还是其它垃圾?”“我不能再用的颜料,还有妈妈你不用的化妆品,你知道该放到什么垃圾里吗...
    奥利奥暴龙ma阅读 507评论 0 0
  • 《老奶奶和驴子》 故事导读:这是一个鼓励孩子不乱扔垃圾的故事。这是1997年为非洲小朋友写的一个偶戏故事。故事有立...
    晓璐老师阅读 603评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,740评论 16 22
  • 创业是很多人的梦想,多少人为了理想和不甘选择了创业来实现自我价值,我就是其中一个。 创业后,我由女人变成了超人,什...
    亦宝宝阅读 1,955评论 4 1
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 10,749评论 0 11

友情链接更多精彩内容