gpt4 book ai didi

python - 我应该选择哪种数据类型来选择 RTS 游戏中的单位?

转载 作者:太空宇宙 更新时间:2023-11-03 21:02:43 27 4
gpt4 key购买 nike

对于 rts 中的单元集合来说,什么是好的数据类型?我正在为 an api that lets you write bots for the strategy game Starcraft2 in Python 做出贡献。

现在there is a class units继承自list。每一帧都会创建一个新的 units 对象,然后选择这些单位,创建新的 units 对象,例如使用针对所有敌方单位或所有飞行单位的过滤器.

我们使用这些选择来找到最近的敌人来控制我们的单位,选择我们现在可以攻击的单位或需要不同的顺序等等。

但这也意味着我们在每一帧中根据每个单元的属性进行大量过滤,这需要花费大量时间。单独初始化一个 units 对象的时间为 2e-5 到 5e-5 秒,我们在每场比赛中执行数百万次,除了过滤过程之外,这会减慢机器人的速度并进行大量测试with 循环 units 对象中的每个单元。

是否有更好的数据类型?也许不需要每次为一帧中的每个选择重新创建,而是从我们从 Protocol Buffer 获得的所有单元的初始列表开始,然后可以应用选择和过滤器而无需重新创建对象?什么是实现此目的的好方法,以便每帧多次过滤不会那么慢和/或复杂?

最佳答案

这听起来根本不像 ADT 问题。这听起来像是低效的编程。我们不可能告诉您构建正确的消息来实现您想要的目标。

如果您实际上不需要修改单元的数据,您可能应该研究的是如何构造UnitView。考虑类似于 Python 3 中字典如何返回 View 的方式。See here for more details .

关于python - 我应该选择哪种数据类型来选择 RTS 游戏中的单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55621539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com