我正在实施洛德亚军(this version)的一个版本,但我不确定如何重现角色协同工作的角色的效果,可以使用A *还是有更好的方法?是否有更好的辅助之间的协同性算法(例如boids),或者最好的解决方案是简单地为每个算法分别应用算法?在洛德跑步者的AI寻路
0
A
回答
0
路径是你的游戏实体跟随的线性线,所以在像Lode Runner这样的游戏中,你会有一些非常简单的路径。首先,我建议你写一些Plan对象,它可以传递给实体缓冲区中的任何实体(播放器除外),并可以相应地执行。它可能只是一系列的指令,如['left', 'up', 'right']
或仆从必须前往的有效坐标。当然这个坐标必须根据你加载的小手的路径进行解析。
其次,你需要预测。你需要预测玩家可能最终的所有(极端)位置以及他们到达那里的时间。例如,如果玩家尽可能快地沿路径X下降到坐标Y,则需要Z秒。当然,如果玩家在最佳时间内没有达到最佳时间,那么小兽会调整,并摧毁玩家。
呃,难度。您可能需要编写代码,以便AI预测和路径中的代码变得更加复杂且难度更大。我相信你已经听说过人为的困难,这只是值修改路径和预测。
最后也是最重要的合作。这基本上只是一种算法,可以根据玩家的位置来考虑所有杀手的位置,并组织他们在他到达时切断所有可能的路径。这可以写很多方法,我不能在这里提供一个例子,因为我不知道你在用什么语言。供大家参考
3
Lode Runner Web Game
的源代码:https://github.com/SimonHung/LodeRunner
你可以看一下 lodeRunner.guard.js:敌人的AI算法,从C语言,原来由道格拉斯·E·史密斯移植。
希望能帮到你!
0
我看到的大多数代码遵循一个简单的算法。
如果玩家在左边,你可以向右走。
否则如果玩家在左边,你可以向左走,向左走。
否则如果玩家在左边,你可以上去,上去。
其他如果玩家在左边,你可以下去,下去。
其他如果你可以移动,然后随机移动。其他不动。
使得僧侣与此相反,就像在Load Runner Online中一样,您需要检查点,其他算法强制他们移动的方式不同。
相关问题
- 1. SonarQube跑步者在sbt:findbugs,scalastyle
- 2. scalaTest跑步者开始代替specs2跑步者
- 3. 寻找跑步活动
- 4. 易AI寻路图书馆
- 5. 嵌套测试跑步者
- 6. Sonarqube Jenkins和sonarqube跑步者
- 7. 在游戏中随机化AI寻路
- 8. 弗洛伊德最短路径算法?
- 9. Paramiko认证时,挂在单位测试跑步者的奔跑
- 10. 如何在JUnitCore.runClasses()中限制跑步者?
- 11. 跑步者的盐键命令
- 12. SVN错误:svn:E200007:'org.tmatesoft.svn.core.wc2.SvnMerge'的跑步者
- 13. 具有不同的步长弗洛伊德环路检测算法
- 14. 类路径顺序根据JUnit跑步者而异
- 15. Mathematica的德洛奈重叠
- 16. Gitlab CI - 未能注册跑步者
- 17. Selenium npm自动测试跑步者
- 18. 吞下任务跑步者给出错
- 19. junit实现多个跑步者
- 20. 覆盖rake测试:单元跑步者
- 21. Teamcity与多个赛跑运动员的元赛跑者 - 退出跑步者没有失败的构建
- 22. 在Geany中跑步
- 23. 寻找逃跑目标(追逐或追踪寻路)
- 24. 如何在不同的跑步者上创建2个阶段?
- 25. 如何在想法中配置默认的覆盖跑步者?
- 26. 把Gitlab CI的跑步者输出放在wiki中
- 27. 异步测试与夜间和摩卡跑步者
- 28. 在Homestead跑迷路
- 29. 跑步罗马
- 30. 弗洛伊德 - 沃肖尔最短路径算法错误