为何不讨论一下游戏中的算法实现问题

zjsowin 2000-05-24 05:15:00
象在即时战略游戏中,如C&C, 帝国时代等,可以对多个单元进行编队(按ctrl键,用鼠标连选多个单元,然后按ctrl+<数字>。
有没有人编过这方面的,编队是如何实现的?用哪种算法?用链表吗?
...全文
433 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
thinking_man 2001-01-03
  • 打赏
  • 举报
回复
图中的最短路径求法吧?
The_east_key 2000-12-29
  • 打赏
  • 举报
回复
建议您访问www.etechbase.net/tech,里面有很多资料,也许可以解决您的问题。
访问http://168.168.18.11:81/etechbase/advsearch.php将您的问题输入查询内容框,选择不同的精确程度,即可以找到你所需要的答案。效果还是可以的。
hyqryq 2000-12-27
  • 打赏
  • 举报
回复
zhangning111:
先对地图分块,再用A*算法!
mutant 2000-12-27
  • 打赏
  • 举报
回复
帝国时代的一队也是有数量限制的,好像是20个还是多少个,多了也编不起
zhangning111 2000-12-23
  • 打赏
  • 举报
回复
即时战略中,兵从一点到另一点的路径如何求。因为是游戏,所以要求路径较短即可,
但算法必须快。那位高手编过,请指点一二。
青润 2000-12-01
  • 打赏
  • 举报
回复
这个问题么,让我好好想想,过一段时间在和大家谈谈我的想法。
qiaoyu2k 2000-11-26
  • 打赏
  • 举报
回复
其实数据结构可能不只链表和数组
hongfei 2000-06-27
  • 打赏
  • 举报
回复
I think the detail is that
first, the game has several linking lines which match the number of unit groups(because its upperbound is limited);
second, if the linking line is not empty, the group definity will clear off the linking line belong to the group;
finally, add the addresses of the units to the group corresponding to the linking line.
sunruijia 2000-05-27
  • 打赏
  • 举报
回复
我赞成用链表,用数组浪费空间,其实再链表中添加元素还是很快的。另外游戏中编队一般具有无续性,所以添加一个元素只须添加于链表末尾,但删除一个元素则有可能须遍历链表,或对表中的元素加标志变量,以便能很快找到它。但遍历链表不会比遍历数组慢。
zroc 2000-05-25
  • 打赏
  • 举报
回复
可能游戏运行中有建链表或其他一些指针的树图等东西,我没法知道(这很容易实现,链表就已经足够了:一个指针指向一个链表,链表中的每一项再指向一个链表就行了。有这些东西速度才能快,否则岂不是要去遍例所有npc,游戏一般浪费不起这个时间)。但这些东西存取档不方便。在存取档时作专门处理(当然这样会麻烦一点,也很容易实现,一般图形文件的文件头都有类似的东西)。
开始我有想过 npc 结构里带属性:被编入那一队,同时存在链表,以解决存取麻烦的问题,但这样不好处理一个 npc 被编入多队的问题。
另 StarCraft 等游戏大概就是在用数组吧!这样最快。
zroc 2000-05-25
  • 打赏
  • 举报
回复
可能游戏运行中有建链表或其他一些指针的树图等东西,我没法知道(这很容易实现,链表就已经足够了:一个指针指向一个链表,链表中的每一项再指向一个链表就行了。有这些东西速度才能快,否则岂不是要去遍例所有npc,游戏一般浪费不起这个时间)。但这些东西存取档不方便。在存取档时作专门处理(当然这样会麻烦一点,也很容易实现,一般图形文件的文件头都有类似的东西)。
开始我有想过 npc 结构里带属性:被编入那一队,同时存在链表,以解决存取麻烦的问题,但这样不好处理一个 npc 被编入多队的问题。
另 StarCraft 等游戏大概就是在用数组吧!这样最快。
xlili 2000-05-24
  • 打赏
  • 举报
回复
用哈希表。
x86 2000-05-24
  • 打赏
  • 举报
回复
还有什么算法可讨论的?
x86 2000-05-24
  • 打赏
  • 举报
回复
用数组就可以了,象星际那样一组只能选12个
我一向主张程序尽量简单,链表之类的东西少用一些为好,
至少也要封装一下.
sanhan 2000-05-24
  • 打赏
  • 举报
回复
链表不链表可能都不关键。起码是个 收集 吧。
蝈蝈俊 2000-05-24
  • 打赏
  • 举报
回复
我支持。

8,301

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧