RMMV游戏代码示例:随机敌方目标选择算法
需积分: 42 87 浏览量
更新于2024-09-08
1
收藏 12KB TXT 举报
这段代码是用于《 RimWorld Modding Manual》(RMMV,也就是《 RimWorld》模组制作)中的定制目标评估函数,它在游戏的逻辑编程中扮演着重要角色。RMMV是一款深受玩家喜爱的策略模拟游戏,允许用户自定义游戏规则和行为,通过lua脚本扩展游戏功能。
**1. 随机目标选择算法**
首先,我们看到的是`CustomTargetEval`的第一部分,其核心是一个循环结构。`varmembers=foes.aliveMembers();`获取当前敌对单位(foes)中存活成员列表。然后,它会随机选取一个目标`target`,并将其从`members`数组中移除,防止重复选择。`varewaimubiao=3;`表示循环执行三次,每次循环都会随机选择另一个敌人加入目标列表。这用于在战斗中随机指定多个目标进行攻击或效果施加,增加了战术多样性。
**2. 状态条件下的目标选择**
第二个`CustomTargetEval`针对敌人状态进行判断。如果敌人被某种状态影响(`a.isStateAffected(272)`),则会根据随机生成的`suiji`值决定选择目标的方式。如果`suiji`小于50,将随机从存活敌人群中选取一个作为目标,并添加到`tlist`中;否则,将目标分配给当前玩家(`user.isActor()`)。这个设计可能用于创建基于敌人状态触发的特殊战斗策略,如状态解除或连锁反应等。
**3. 综合目标列表**
在所有条件判断后,无论是否符合特定状态,`vartlist`都会被清空,然后重新填充所有存活的敌方成员。最后,`target`会被添加到列表末尾,形成最终的目标组合。这可能是为了确保目标选择的完整性和一致性,无论之前的状态判断结果如何。
总结来说,这段代码提供了灵活的敌人目标选择逻辑,可以根据游戏状态和条件动态生成攻击或效果施加的对象。这对于增加RMMV游戏的复杂性和玩家定制体验至关重要。理解并熟练运用这样的代码片段,可以帮助modder创作出丰富多样的游戏机制和战术策略。
2021-03-11 上传
2018-05-28 上传
2021-03-08 上传
2013-05-29 上传
2021-03-30 上传
2021-07-14 上传
2009-05-31 上传
2012-11-17 上传
weixin_44548451
- 粉丝: 0
- 资源: 1
最新资源
- SpringCucumber:带有Cucumber、maven 和 tomcat 的 Spring REST 应用程序的 BDD
- TUCaN't - passt TUCaN den wahren Umständen an-crx插件
- xiaoxingxingpengzhuang,c#微商城源码,c#
- 报警发声_单片机C语言实例(纯C语言源代码).zip
- OriginalAche.ajkt8j4ngr.gaE4FWe
- GoTests:试用Go
- summitsingh.github.io
- gajian:基于项目的公司支付系统
- Supply,c#im源码,c#
- 8位LED右移_单片机C语言实例(纯C语言源代码).zip
- RUNDLL32使用方法和模块、参数调用大全
- 嵌入式Visual C ++的项目向导
- 带火炬的卷积神经网络:卷积神经网络预测Minipong对象
- oduzugusse
- Python库 | markdown-blockdiag-0.6.1.tar.gz
- 漂亮的金色农业农场响应式企业网站模板5417_网站开发模板含源代码(css+html+js+图样).zip