平台中已有12种垃圾(即垃圾角色有12种造型),1~3是厨余垃圾,4~6是可回收垃圾,7~9是有害垃圾,10~12是其它垃圾。 考虑到垃圾可能会增加,因此采用一个列表记录它们的对应关系。列表的下标是造型的编号,列表的元素是该垃圾的分类。本项目只采用原有的12种造型,列表在程序开始运行时初始化,代码如下。 垃圾桶有四种造型分别对应四种垃圾分类,但本项目需要四个垃圾桶角色,因此每个垃圾桶角色固定一个造型。它们的造型与代码如下: 这样,垃圾是否投放成功,首先通过垃圾克隆体的造型编号查表得到分类;然后对比触碰到的垃圾桶分类是否相同。判定代码如下: 由上图得到,我们需要“投放正确”和“投放错误”各需要干什么的自定义模块。首先需要播放不同的声音,“投放正确”算1分,“投放错误”垃圾复位。为了累计得分,设置“得分”全局变量并显示在界面。声音、变量与代码如下:
垃圾只有一个角色,投放的自然是克隆体,克隆之前,垃圾角色先改变为随机造型,这样克隆体就会保持这个随机造型。有关代码如下:
到此,项目的主体部分已完成,现在我们需要一个运行流程把垃圾和垃圾桶联系起来。首先要设置一个游戏时间,然后添加一个开始按钮角色,初始化这个时间,广播“开始”消息。垃圾接收到广播后开始克隆自己,垃圾克隆体删除之前,重新发出“开始”消息,这样游戏一直进行直到时间用完。开始按钮的造型与代码
垃圾角色完成后代码
背景的图片、音乐与代码
项目完成视频
,时长01:29
思考练习题:现在把电池专门分类投放,修改上面的项目适用现在的分类标准。