作品简介
今天给大家分享的Scratch作品是《方块大战》,又叫方块打方块游戏,或者是打砖块游戏,游戏的目标就是使用鼠标控制挡板左右移动以接住掉下来的方块,将其反弹回去,打掉上方的方块。
点击绿旗,运行程序,显示游戏封面,按数字1进入教程,此时按数字2返回主界面,按数字3,选择玩家模式,按数字4选择电脑自动模式,然后再空格键启动游戏。刚开始的时候,在舞台上方只出现一排方块,其数字都为1,它表示小方块只需要撞击一次就可以将它销毁。玩家通过移动鼠标控制挡板左右移动,将下落的小方块反弹回去,打掉上方的数字方块。当打掉一整排数字方块后,接着会进入下一关,第二关会出现两排数字块,并且同时会出现数字为1和2的数字块,对于数字块2,需要撞击两次才能将其销毁。整个游戏一共有5关,每打掉一个数字方块,就得1分,只有通过所有的关卡,才能获得胜利,如果挡板没有接住小方块,掉到下方的火焰山,则游戏结束。
作品效果
Scratch方块大战游戏的完整效果如视频所示:
核心代码解读
Scratch方块大战作品一共10个角色,如下图所示:

重点角色效果和功能简要说明如下:
- 挡板:通过鼠标的移动来控制挡板左右移动,接住掉下来的球反弹,将其反弹回去;
- 球:用来打掉数字方块,碰到挡板、数字方块、舞台边缘会反弹回去,如果碰到火焰,则游戏结束;
- 块:数字块,这里一共有5中数字块,上面分别显示数字1、2、3、4、10,分别表示要撞击相应的次数才能打掉它;
- 火:舞台底部出现的火焰效果,如果球掉火焰上,则结束游戏;
- 死了:如果球掉到火焰上,则会出现小方块到处散落的效果,有点类似于爆炸的效果。
在创作方块大战作品中,重点角色是数字块,它是整个作品的核心和关键,接下来就重点说明该角色的编程逻辑和代码实现。
首先,要明确的是该角色一共有20个造型,其中数字1有一个造型,数字2有两个造型,数字3有三个造型,数字4有四个造型,数字10有十个造型,如图所示:

其次,需要注意,这里有5个关卡,第一关只有一排数字块,并且只出现数字1方块,第二关有两排数字块,会同时出现数字1和数字2方块,以此类推。
第一关的数字块处理比较简单,只需要克隆7个数字1的方块即可,代码如图所示:

对于第二关的,需要生成两排数字方块,并且随机生成数字1和数字2,对应的代码如下:

相应的,第三关、第四关和第五关都可以以类似的方式来处理,由于代码较多,使用自制积木会更加简单方便,比如对于生成包含数字块3的代码,定义自制积木如下:

每一个关卡之间,使用广播进行连接即可,这里就不再列出代码了。
这个游戏最有趣的地方是可以选择电脑模式,让电脑自动操作挡板来接球反弹,是不是有点作弊的味道,同时还有点人工智能的意思,赶紧来挑战一下吧。
暂无评论内容