守护城堡-Scratch塔防游戏

守护城堡-Scratch塔防游戏

守护城堡-51scratch
守护城堡-Scratch塔防游戏
此内容为付费资源,请付费后查看
19.9
限时特惠
39.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

作品简介

城堡是欧洲中世纪的一种产物,公元1066年至1400年是兴建城堡的鼎盛时期,欧洲贵族为争夺土地、粮食、牲畜、人口而不断爆发战争,密集的战争导致了贵族们修建越来越多、越来越大的城堡,来守卫自己的领地。

今天给大家分享的Scratch作品是《守护城堡》,这是一款塔防类游戏,游戏的目标就是使用弓箭干掉来袭的小兵,保护城堡。

点击绿旗,运行程序,从舞台周边的6个敌人城堡里随机出现一对一对的小兵,他们手持铁枪向舞台中央的城堡进攻而来。在城堡处有一张弓弩,玩家通过按下鼠标发射弓箭,当弓箭碰到小兵时,弓箭和小兵都消失,同时将分数加1,在30秒内如果分数大于20,则游戏胜利,否则游戏失败,赶紧来挑战一下吧,看看你能否取得胜利。

作品效果

Scratch守护城堡的完整效果如视频所示:

Scratch守护城堡作品效果

作品解读

Scratch守护城堡一共使用了5个角色,如图所示:

Scratch守护城堡角色列表
Scratch守护城堡角色列表

各角色功能简要说明如下::

  • 城堡:处在舞台正中央,它是小兵攻击的目标;
  • 弓弩:处在城堡位置,通过鼠标来控制其发射方向,按下鼠标则射出飞箭;
  • 小兵:随机从位于舞台边缘的6个敌人城堡里出发,沿着小路向城堡进攻;
  • 飞箭:当按下鼠标时由弓弩发出飞箭,当碰到舞台边缘或小兵消失;
  • 结束:包括胜利和失败两种造型和相应的声音,设定的30秒到了,会结束游戏,根据分数来确定是胜利还是失败,切换对应的造型并播放音效。

在使用Scratch创作守护城堡作品中,有两个地方需要重点关注:

  • 巧用数学排列组合设置小兵位置
  • 避免克隆陷阱

接下来,就分别就这两个问题进行说明

1.巧用数学排列组合设置小兵位置

首先,我们来看看这6个城堡所处位置的坐标,如下图所示:

6个城堡坐标示意图
6个城堡坐标示意图

你看出这里的规律了吗?虽然是6对坐标值,但是里面有一些是重复的数值,其中x表示水平方向,它只有两个位置,左边的是-205,右边的是216,而y表示上下方向,它有三个位置,其中上184,中25,下-145。

因此,我们可以使用两个列表分别保存这里的x和y坐标值,其代码如图所示:

列表初始化设置
列表初始化设置

然后在克隆小兵的时候,通过随机数指令,随机获取坐标值,并进行组合可以得到6个坐标位置,相应的代码如下图所示:

设置小兵角色克隆体位置及运动
设置小兵角色克隆体位置及运动

列表兵营x有两坐标值,分别是-205和216,列表兵营y有3个坐标值,分别是184、25和-145,当二者进行组合的时候,就可以得到 2 * 3 = 6种组合,这就是6个敌人兵营的坐标位置。

这就是数学知识在编程中的具体运用,这么看来,数学还是挺有用的吧。

2.避免克隆陷阱

当按下鼠标的时候,弓弩发射弓箭,弓弩本身是有发射动作的,所以,我们需要在弓弩角色中处理鼠标按下事件,与此同时,要克隆弓箭角色并发射弓箭。那么,什么时候来克隆弓箭角色呢?

常见的方法有两种:

  • 第一种方法,在弓箭角色中再写一遍鼠标事件处理,
  • 第二种方法,在弓弩角色按下鼠标时发送广播消息给弓箭角色

但是,这都不是最好的方法,使用第一种方法,需要重复编写相同的代码,虽然代码有些冗余,但可以解决问题。使用第二种方法,则会先让克隆陷阱,克隆陷阱是指在接收广播时克隆角色,这会导致刚克隆的角色也收到广播消息进行克隆,从而出现大量的克隆体。

最好的办法是在弓弩角色中克隆弓箭,从而避免克隆陷阱,其代码如下所示:

在弓弩角色中克隆弓箭角色
在弓弩角色中克隆弓箭角色

然后,在弓箭角色中,直接使用“当作为克隆体启动时”指令来控制克隆体即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容