下载 App

保卫萝卜4:从攻击范围到算法逻辑

2022/05/312979 浏览脑洞专区
众所周知,塔防游戏中的“塔”,是有攻击范围的。本文将使用保卫萝卜4中的火瓶子进行模拟,分两部分展示其底层算法逻辑。
TapTap
↑ ↑ ↑ 火瓶子 ↑ ↑ ↑
------分割线------
Part1:对建筑物的攻击范围
1.算法分析:
鉴于建筑物为静态存在,我们可以近似地使用Dijkstra算法来判定攻击范围。Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题,主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
每一个地图,可以看成一个已知大小的二维矩阵,只要确定了中心点(塔的位置),然后向上下左右四个方向展开搜索,规定中心点的数值为0,下一个格子的数值为本格子的数值加1。对于地图上的每一个格子,算出到达这个格子的最短路径,最终遍历完所有的格子之后,获得最短的路线。
2.实例演示:
↓ ↓ ↓ 一级火瓶子 ↓ ↓ ↓
TapTap
TapTap
↓ ↓ ↓ 二级火瓶子 ↓ ↓ ↓
TapTap
TapTap
↓ ↓ ↓ 三级火瓶子 ↓ ↓ ↓
TapTap
TapTap
3.建模总结:
限定直线 y=0 和 y=x 在第一象限所围成的区域(含边界),各等级火瓶子有以下攻击范围。一级火瓶子:(1,0),(1,1),(2,0)。二级火瓶子:(1,0),(1,1),(2,0),(2,1)。三级火瓶子:(1,0),(1,1),(2,0),(2,1)。
TapTap
Part2:对兔子的攻击范围
1.算法分析:
由于兔子会在路径上匀速移动,我们可以使用碰撞检测算法来判定攻击范围。碰撞检测是建立在碰撞体上的,而碰撞体是对一个物体“边界”的确切描述。它描述了每个需要进行碰撞检测的物体的边界,并依靠数学方法判断这些边界是否相交,进而产生碰撞检测的结果。
兔子的碰撞体可近似看成一个圆(或者是一个圆角的正方形),火瓶子的攻击范围也是一个圆,恰好构成了最简单的一类碰撞体——圆形碰撞体。根据初中数学的勾股定理,以及两圆相交的判定定理,即可获取其有效的攻击范围。
2.实例演示:
↓ ↓ ↓ 一级火瓶子 ↓ ↓ ↓
TapTap
↓ ↓ ↓ 二级火瓶子 ↓ ↓ ↓
TapTap
↓ ↓ ↓ 三级火瓶子 ↓ ↓ ↓
TapTap
↓ ↓ ↓ 2D碰撞检测 ↓ ↓ ↓
TapTap
TapTap
↓ ↓ ↓ 巨呆兔和呆萌兔的对比 ↓ ↓ ↓
TapTap
TapTap
↓ ↓ ↓ 模型高度对比 ↓ ↓ ↓
TapTap
3.建模总结
圆形碰撞体拥有最简单的计算过程,在运动速度够快(或形状够圆)的情况下也不会有太大的违和感,所以这种碰撞体在弹幕游戏和塔防游戏中应用广泛。对于巨呆兔而言,它所在的路径 并不在火瓶子的攻击范围内,但它的2D模型中心点却在路径上方,且其半径比呆萌兔的模型半径大,所以火瓶子完成了“不可能”做到的降维打击,呆萌兔幸运地逃过一劫(笑)。
TapTap
------分割线------
如果有小伙伴对本文感到疑惑,或者想与楼主作进一步的探讨,欢迎在评论区留言哦~
「食神争霸」大结局篇:巅峰对决即将打响,食神传奇能否延续?截图
「食神争霸」大结局篇:巅峰对决即将打响,食神传奇能否延续?
小吃街的烟火气与美食魂 将在本周四迎来最激烈的碰撞 ——叉烧波VS金锅锅保罗—— 传统小吃与科技大厨的终极较量 11月6日上午9点,一触即发! 叉烧波已摩拳擦掌,等你观战! 清晨,在市场挑选最新鲜的食材 夜晚,在灶台前揣摩每一道传统工艺 每一道菜,都反复练习千百遍: 刀工要细如发丝 火候要恰到好处 调味要精确到毫克 因为叉烧波明白 这不仅是为了小吃街而战 更是为了捍卫他心中的美食信仰—— 然而对决
官方
12 赞
29 回复
04:53
【保卫萝卜4周赛】12月1日攻略周一23❤️今天卡血截图
【保卫萝卜4周赛】12月1日攻略周一23❤️今天卡血
【保卫萝卜4周赛】12月1日攻略周#保卫萝卜4周赛 一#保卫萝卜 #保卫萝卜4攻略 23❤️今天卡血#保卫萝卜4
3 赞
2 回复
01:51
#全民都在保卫萝卜# 不仅仅是放置炮塔截图
#全民都在保卫萝卜# 不仅仅是放置炮塔
学会卡位,收获金萝卜!
2 赞
2 回复
01:31
TapTap年度游戏大赏休闲经典元老截图
TapTap年度游戏大赏休闲经典元老
画风清新,够休闲,够有趣#TapTap年度游戏大赏应援
1 赞
01:01
保卫萝卜!焕新出发!截图
保卫萝卜!焕新出发!
#宝藏游戏安利派对 #保卫萝卜4 嘿嘿
1 赞
阿波的节气小记 · 秋分截图
阿波的节气小记 · 秋分
秋分的午后,天空像一块蓝色的糖纸 包裹着明亮的阳光和荡漾的笑容 ٩( ´ ▽ ` )ノ☀️ 秋风和呆兔轮流推着秋千 把阿波荡啊荡,扑进云的怀里 天空一会儿靠近,一会儿溜走 像在玩一场温柔的捉迷藏 影子渐渐缩短,又渐渐拉长 仿佛在安静地追赶 ——🍂——
官方
4 赞
2 回复
00:19
出大事了!呆兔们集体罢工,新人演员即将来袭?!截图
出大事了!呆兔们集体罢工,新人演员即将来袭?!
📢万万没想到 呆兔们因为吃不到我 而撂挑子了?!?!!! 现在,片场里安静得可怕... 我,阿波 一颗影视界冉冉升起的巨星 一个总被呆兔惦记,总被呆兔追咬的萝卜 开始思考一个严肃的问题: 难道呆兔们的罢演 也会一并结束我的演艺生涯吗...? 为了挽救本波的演艺生涯 和呆兔影视的光明未来 绿丁导演竟不惜散播出 「吃一口阿波,可以长生不老」的谣言...? 不过,你还真别说 这立马有人毛遂自荐了! 听说
官方
7 赞
2 回复
贪吃蛇!联动!倒计时!最后10天——!截图
贪吃蛇!联动!倒计时!最后10天——!
联动演出正在紧锣密鼓的筹备中 为了演好与蛇蛇的对手戏 本波也做足了功课 准备了很多专业道具 比如防蛇喷雾,雄黄酒,烤蛇棒等等 相信这次的相遇一定是异常亲切友好的~ 至少本波是这么认为的,嘿嘿👉🏻👈🏻 对了,绿丁导演还悄悄塞给我们 一大堆新衣服和奖励 说是要给大家一个大大的惊喜! ... 真的很想现在就全都告诉你 但导演说要留点神秘感 那就先不给你剧透啦 保卫萝卜4x贪吃蛇大作战联动即将开启 12月
官方
7 赞
1 回复
特邀角色邀你开启冒险序章!截图
特邀角色邀你开启冒险序章!
你闻到了吗? 香甜的气息弥漫了整座呆兔岛 他们三位也闻到了呢~ 糖果的诱惑在空气中跳跃 11月13日,「变身吧!0糖少女」即将登场 危机与惊喜一同降临 他们也准备好了... \ 想要好身材,就找郝老师 / 💪 曾是健身教练的他 被那场突如其来的甜蜜风暴 彻底改变 肥胖,本应与他毫无干系 如今却成为了他的魔咒 \ 是惊喜,还是惊吓? / 🎀 滴——请投币 未知的抉择最是有趣! 面对幸运兔兔机 慎重的
官方
8 赞
1 回复
最甜首领来袭~你没看错,就是我这个小蛋糕!截图
最甜首领来袭~你没看错,就是我这个小蛋糕!
谁能拒绝像我这样的小蛋糕呢 在我的王国里,美食是唯一的法则 11月13日,新主题「变身吧!0糖少女」上线在即 尽情的享用吧,放纵你的味蕾 把所有烦恼都留给蛋糕 和我一起迎接甜蜜新世界吧! \ 只有足够贪婪,才能索取永恒 / 一股压迫感十足的甜蜜气息袭来 糖分正在不停飙升!! 是那位角色...要登场了吧! ——现在向你介绍来自甜星的TA #AKA甜星小蛋糕 #掌管棉花糖与甜甜圈的神 #奶茶必须点全糖
官方
7 赞
1 回复