第八课 深海大战

今日任务:

设计一款深海大战游戏,用Xtron按键左右控制一艘海面上的战舰,A或B键向下发射子弹,在海面下有虎视眈眈的潜艇,他们 可以向你发射子弹,还有无辜的潜水爱好者,甚至还有幽灵般出现的深水炸弹,你要尽可能多的击中潜艇,同时要避免杀害无 辜的潜水者。 同时,深水炸弹是一把双刃剑,你击中了炸弹,他可以帮助你消灭掉周围的潜艇,同时也会对你和潜水者造成同样的破坏性伤 害!

任务拆解:

../../../_images/SH1.png

程序分析:

(1)背景:可分为正常背景和失败背景,云彩飘过效果(角色设计)。

(2)战舰:按键控制战舰的左右移动,按下A或B键可以发射一枚炮弹,炮弹的运动方向是从战舰中心处开始向下运动,那么,这里要强调一下,炮弹没有击中任何目标,碰到了海底(边缘)怎么办?

(3)潜水艇:随机从左右两侧出现,并分别向左右移动,那么,潜潜水艇碰到边缘如何?潜水艇被炮弹击中如何?潜水艇被鱼类击中如何?

(4)潜水员:随机从左右两侧出现,并向左或右移动,那么,潜水员碰到边缘如何?潜水员被炮弹击中如何?潜水员被鱼类击中如何?

(5)鱼雷:随机在海底出现(不能出现在空中),鱼雷被炮弹击中又如何?

动手操作:

第一步:场景分析,场景具备的功能是正常显示游戏界面和游戏失败后显示“game over!”

../../../_images/SH2.png ../../../_images/SH3.png

场景一和场景二已经制作完毕,那么接下来就是场景上的云彩飘动效果了:

../../../_images/SH4.png

我自己画了三个云彩角色,大家可以自己设计云彩的形状,绘制好之后,就是最重要的脚本环节了: 我仅以cloud1角色为例:

../../../_images/SH5.png

剩下的cloud2和cloud3请大家自行制作吧!

第二步:主角战舰出场。

../../../_images/SH6.png

下面我们来分析一下战舰的脚本:

../../../_images/SH7.png

我们连同战舰发射的炮弹脚本在此一并解决吧!

../../../_images/SH8.png ../../../_images/SH9.png ../../../_images/SH10.png

第三步:潜水艇出场。

../../../_images/SH11.png

潜水艇的程序很冗长,一段完整的程序我截取了两部分, 下面连续两张图都是潜水艇的程序,我在此仅以潜水艇1为例讲解,潜水艇2的程序请自行编写,基本雷同!

../../../_images/SH12.png ../../../_images/SH13.png

潜水艇2的脚本程序请大家自行编写吧! 连同潜水艇发射的炮弹我们在此一并解决吧!

../../../_images/SH14.png

潜水艇发射的炮弹的脚本:

../../../_images/SH15.png

艇我在这个程序中设计了两个潜水艇炮弹,但是scratch3.0版本里面有个克隆自己的功能,你可以试试能否通过克隆的方式克隆一个炮弹出来!另一个炮弹的程序请大家自行完成吧,在此不再赘述了!

第四步:鱼雷出场。

../../../_images/SH16.png

鱼雷的脚本分析如下:

../../../_images/SH17.png

第五步:潜水员出场。

../../../_images/SH18.png

我们接下来分析潜水员的脚本,其实潜水员的脚本和刚刚介绍过的某个角色的脚本基本一样, 我估计大家都能猜出来了对吧?那么我就展示一下潜水员和潜水艇不一样的地方好了!

../../../_images/SH19.png

课后思考:

(1)增加计时器提升难度?

(2)设计第2、3、4……关,如何体现难度升级?

(3)没有设计如何加分的功能,思考一下!

(4)能否为战舰设计两种以上的炮弹增加攻击威力?