Scratch案例——弹球游戏

时间:2024-02-23 21:27:28

游戏介绍:
一个小球在屏幕中移动,碰到边缘反弹回来,下面有一块板在左右移动,接到球之后就反弹,没有接到球的话,则失败。

角色准备
针对这样的一个游戏介绍,我们首先来确定游戏角色:小球、弹板。

角色之弹板的编程
三个角色中,弹板是最简单的,只需要左右移动就可以了,我们首先来针对弹板写一段程序:
1、角色区选中Paddle:
在这里插入图片描述
2、脚本区控制弹板,让弹板的X坐标跟随鼠标的X坐标变换。(小贴士:积木块的颜色代表着它在脚本区的位置)
在这里插入图片描述
3、点击绿旗之后,会发现弹板已经会跟随鼠标左右移动了,但是在左右两边边界的时候会显示成如下所示的情况,一半的板会出现出界的情况。
在这里插入图片描述
4、这种情况下,我们可以在左右加上一点限制,让它到了边界不会再越界
在这里插入图片描述
角色之弹球的编程
弹球在整个游戏中是最重要的存在,它是一只在动的,针对它的程序会复杂一点。

1、角色区选中Ball:
在这里插入图片描述
2、我们第一步是让小球能够动起来:
在这里插入图片描述
3、动起来之后,会发现小球到了最上面就不动了,我们需要他碰到边缘反弹回来:
在这里插入图片描述
4、此时的小球只会上下直线运动,为了让小球的能够有不同的方向,我们给方向输入一个随机数,这样小球的方向就不再是直线了,而是会在-45°到45°之间直接选取一个随机数来发射这个小球:
在这里插入图片描述
5、至此球已经可以正常移动了,我们需要加上碰到弹板的判断以及方向的调整
在这里插入图片描述
6、点击绿旗玩一下就会发现,就算弹板不接住弹球,游戏也不会结束,没有什么可玩性。所以我们需要增加球没有被接住时的判断,怎么算没有接住呢?球到板的下面了,我们就认为这个球没有被接住。因此我们选取球的y坐标为判断,球的y坐标小于某一个值时,停止全部
在这里插入图片描述