舞台

Scratch创意编程砖块消消乐小游戏设

发布时间:2023/6/20 15:23:38   

Scratch砖块消消乐

案例介绍

砖块消消乐也叫打砖块,可能小朋友们之前在电脑或者手机上玩过类似的游戏,通过一个挡板接住掉落的小球向不同的角度反弹,将舞台上的砖块逐个消灭,在玩的过程中如果没有接住小球,游戏结束;反之如果消灭了所有的砖块,游戏完成。

案例演示

02:09

案例分析

角色:球、板、砖块背景:wall1难点分析

本案例的难点对小朋友们来说可以分为两个:一是如何在舞台上产生一定数量的砖块,比如有30个,难道我们要添加30个砖块角色吗?另一个是碰到砖块怎么让小球反弹,因为我们Scratch里面只有碰到边缘反弹的积木并没有碰到角色反弹的积木?

我们先看第一个难点:如何在舞台上产生排列砖块?

要解决这个问题我们先要学会变量里面的列表知识,因为是在舞台这么一个二维平面里面排列一定的砖块,所以我们需要通过定义一个行列表(rows)和一个列列表(columns),也可以叫做一个表格或者一个二维数组;这个所谓的二维数组由行列构成,比如我们定义了一个4行5列的二维数组,然后将我们舞台要排列砖块的区域通过坐标的方式均分给我们的二维数组里面的每个元素;然后再将我们的砖块填充到这个二维数组里面。

接着我们看第二个难点:如何碰到角色进行合理的反弹

讲到这个,我们需要用到一些数学的几何知识,Scratch“碰到边缘反弹”指令模块,它反弹时遵循光线的反射规律为:反射角等于入射角。反射角度与角色的方向角之间有如下关系:如果角色的当前方向角为A,且角色碰到的是上下水平边缘反弹后,它反弹后的方向角为-A;当角色碰到的是左右水平边缘反弹后,它反弹后的方向角为-A。利用这个规律,所以我们消灭砖块用的就是这个办法,从而使我们的程序中的反弹效果更符合实际情况。

前期准备

1、删除默认的角色,然后从角色库中将Ball添加进来,如下图所示:

·

2、然后通过绘制角色,利用绘图编辑器,绘制一个挡板,如下图所示:

3、接着继续通过绘制角色,利用绘图编辑器绘制砖块,这边要注意的是,刚才我们分析到,球碰到砖块的时候分水平方向和垂直方向,所以我们在绘制的时候,砖块也就是矩形的上下两条边和左右两条边用不同颜色区分开,如下图所示:

4、然后从背景库中添加背景(wall1),并在添加好的背景上右键复制一个背景,然后在复制的背景里面用文字工具写上,恭喜闯关成功!如下图所示:

实现过程

1、点击球,分别从各个积木模块中拖拽相应的积木到代码编辑区:并按下图方式进行组合排列

2、以上只显示部分积木块,这里主要强调一下,就是球在碰到砖块的时候,由于我们砖块分上下边和左右边,是通过颜色识别进行侦测判断的,而碰到不同的边跟我们之前分析的那样,反弹角度会不一样。

3、点击挡板,分别从各个积木模块中拖拽相应的积木到代码编辑区:并按下图方式进行组合排列

4、点击砖块,我们先定义生成位置自制积木,也叫函数;点击自制积木模块,点击制作新积木,带有两个参数,如下图所示

5、分别从各个积木模块中按如下生成位置的代码将各个积木拖动到代码编辑区排列好

6、以同样的方式,在定义一个填充的函数,同样带两个参赛,并分别从各个积木模块中按如下填充的代码将各个积木拖动到代码编辑区排列好如下图所示:

7、以上两个自定义函数是砖块的核心代码,当然要定义上面两个核心代码的前提是需要建立两个行(X_pos)和列(Y_pos)的列表,以及列表的相关操作

总结

以上就是本实例的主要实现过程,这个案例难度系数偏难,但是做完之后可玩性很高。小朋友们在设计这个游戏的时候,最好是已经学会了控制模块里面的克隆相关操作、列表的相关操作以及自定义积木的相关操作。这个案例适合有一定Scratch基础的小朋友学习,当然欢迎各位对Scratch编程感兴趣的小朋友们来学习和小兔子老师互动



转载请注明:http://www.aideyishus.com/lkgx/4225.html
------分隔线----------------------------