猫史档案馆


【源灵工作室教程】让电脑学会预判!分分钟吃鸡吼!(预判教程·上)

用户:阳光的流熔怪Uyt5阳光的流熔怪Uyt5查看:17 回复:23 评论:17 创建时间:2021-01-28T15:32:14


center_image

源灵工作室 一个路人 出品

吼吼吼

无论是让人躲避攻击的弹幕游戏

或者是人和电脑对狙的人机射击

都会涉及到一个问题:单个弹幕过于简单

吼!你看对面有个子弹飞过来了!

center_image
你看这个不会预判的人机就不怎么聪明的样子

(队友B:路人是你不怎么聪明吧)

咳咳我们继续

所以说我们为了提高弹幕的难度需要让我们的人机(或者弹幕)学会预判玩家的方向

成品如下

可以试试切换到“自主操控”模式对比一下预判瞄准和一般瞄准的区别

那这么酷炫的瞄准是如何实现的呢?

咳咳,别急,我们这节课先讲理论

程序是如何知道我们会跑到哪的呢?

我们举个例子哈

话说我们的队友B同学因为对路人的行为十分不满于是TA想要用喵射路人

但是路人这家伙一直跑来跑去很难射中

而我们的子弹又不是激光,发射出去是需要一段时间才能击中的

我们的小B就需要进行预判

当子弹到达路人现在的位置时路人在哪里

这样就可以做出优化,打中路人

同学们同学们划重点了啊

当子弹到达路人现在的位置时路人在哪里

这就是我们预判算法的核心

center_image

干涉到我们预判的因素有哪些呢?

预判者到目标的距离和预判者子弹的速度(决定目标能够在子弹到达原先位置前移动多久)

目标移动的速度和目标移动的方向(决定目标能够在子弹到达原先位置前移动到哪里)

有了这四个因素,就可以推导出目标即将移动的方位,从而优化我们的射击方向

(需要注意,我们的预判也并不是万能的,如果目标在子弹到达前快速改变移动方向,那么预测结果就可能不准确)

(这时候就要看你的欧气(划去)容错率了)

具体的方法就是让某个角色以目标移动方向移动目标距离÷子弹速度×目标速度

此时此角色的位置就是目标按当前移动模式进行移动后的位置

(注:由于侦测的方法不同,目标速度侦测到的结果可能不一样,所以应当乘以一个常数以调整结果)

(注2:坐标可用三角函数表示,但没有太大意义,路过大佬可自行尝试)

只要知道了对方未来可能的位置,预判就简单了

——END——

有人做作业吗QWQ

作业:写一个程序,不断获取正在随机移动的目标的移动方向和速度


回复

上一页1 页 / 共 1下一页
春絮春絮

沙发(或许?

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

dd

点赞0


评论


****************

3rd floor

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

喵喵

点赞0


评论


未命名用户015734未命名用户015734

这不是教程这会让人笑喵(划掉)

果然路人比观澜会玩梗()

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

点赞0


评论


23K不纯金滑稽23K不纯金滑稽

好家伙,学废了(继续用弹幕地狱迫害)

点赞0


评论


Chengxuyee_已退Chengxuyee_已退

小花:我的友谊颗粒又可以变厉害了()

点赞1


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

dd

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

dd

点赞0


评论


Lonely_wandererLonely_wanderer

and,作业没动。。emotion_doge

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

dd?

点赞0


评论


MolongMolong

好家伙,不过提醒一下这是单个简单弹幕适用,并不适用于类似迷宫一样杂七杂八互相交错的弹幕

点赞2


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

dd

点赞0


评论


神兽喵神兽喵

nb

点赞0


评论


阳光的流熔怪Uyt5阳光的流熔怪Uyt5

dwd

点赞0


评论


Architect_海绵Architect_海绵

oh()()我想到原理了()()()()

点赞0


评论


阿尔法官方阿尔法官方

真的想把教程帖做好的话  那就拿出源码来一起讲解

点赞0


评论


Architect_传闻中的球Architect_传闻中的球

顶呀顶呀顶呀顶

点赞0


评论