找回密码
 点一下
查看: 1341|回复: 16

omg模式制作

[复制链接]
发表于 2009-9-4 18:15:03 | 显示全部楼层 |阅读模式
如何制作呢dota的omg模式制作呢?

最佳答案版主帮忙选个啊
发表于 2009-9-4 19:22:37 | 显示全部楼层
这个…………随机选取英雄+随机技能。
随机选取英雄:
这个嘛…………你可以从已创建的一个装英雄的单位组中随机选取一个单位(也就是英雄)。
然后再把这个单位从单位组移除。
当然英雄默认都是没有技能的(属性点除外)。
然后你从所有的技能中(4个整数数组:ab1,ab2,ab3,ab4分别存放所有的1技能,所有的2技能…………),挑出4个
(ab1挑出一个,ab2挑出1个……)
用单位添加技能+设置单位机能永久性来为英雄添加技能。
当然技能是不是不重复就看你的选择了。
如果所有英雄的技能都不能重复,那么算法就复杂了。
所以重复(技能不会从数组中移除)是比较可行的选择。
还有就是:
召唤师是4个技能没有属性点,嗯…………这个你可以直接排除在外。
回复

使用道具 举报

发表于 2009-9-4 21:05:50 | 显示全部楼层
小血的遗漏……
英雄技能要用工程升级添加
为了保证位置
按位置分组很不错
不过算不那么复杂吧……
直接将数组中的用过的技能替换就行了
比如在技能数组Ability中
有0~99一共100个技能
然后随机0~99,比如得到23这个序号
将Ability[23]添加给英雄
然后将Ability[99]的值与Ability[23]交换
下次随机0~98就行了
回复

使用道具 举报

发表于 2009-9-4 21:09:03 | 显示全部楼层
嗯…………确实。
回复

使用道具 举报

发表于 2009-9-4 21:13:50 | 显示全部楼层
hmmm,其实可以设计一个小算法来获取一组无重复数字的,可以用临时的整数变量,尽量不要去直接动那个技能变量
回复

使用道具 举报

发表于 2009-9-4 21:16:01 | 显示全部楼层
LS…………那个小算法…………其实还是有很多人是做不出来的…………
回复

使用道具 举报

发表于 2009-9-4 21:22:04 | 显示全部楼层
……对于要做omg这样大的系统的人来说,好像设计这样一个小算法不应该成为困难吧……
回复

使用道具 举报

发表于 2009-9-4 21:25:55 | 显示全部楼层
应该是的……………………
不过技能能不能重复?如果技能不能重复那么就比较麻烦。
英雄不重则比较好做。
用group+removegroupunit应该就可以了
回复

使用道具 举报

发表于 2009-9-4 21:27:09 | 显示全部楼层
大家允许有相同的技能的吧,我记得
回复

使用道具 举报

发表于 2009-9-4 21:31:17 | 显示全部楼层
那应该就没什么难事了
除了不断的把技能ID写进去写进去………………
回复

使用道具 举报

发表于 2009-9-4 21:33:22 | 显示全部楼层
其实……要处理得严谨的话还要考虑技能id和快捷键……不过omg好像也没处理的那么细
回复

使用道具 举报

发表于 2009-9-4 22:30:09 | 显示全部楼层
若是没有编程基础的人, 对这些算法逻辑类的都会很头痛的.
回复

使用道具 举报

发表于 2009-9-5 07:14:26 | 显示全部楼层
快捷键是无奈的
而且这个系统的工作量……
我自己做过对战标准技能的互换……
做了一个购买系统
设计很差……
不过近100个技能一个个写两个工程升级
1个马甲……
累死我了
回复

使用道具 举报

发表于 2009-9-5 07:46:33 | 显示全部楼层
工程升级就是这点不好…………要弄很多………………
回复

使用道具 举报

发表于 2009-9-5 09:35:15 | 显示全部楼层
实话说 OMG 好多东西都没实现来着 不必要想得那么复杂 不过话说为了添加的技能可以学习 工程升级 那叫一个多
回复

使用道具 举报

发表于 2009-9-5 09:43:40 | 显示全部楼层
工程量大啊。。
回复

使用道具 举报

 楼主| 发表于 2009-9-5 23:02:28 | 显示全部楼层
5个半小时已经制作完了120个技能随机分配。无论快捷键,还是技能,所有人不会重复。谢谢大家回答,我只是一字不熟悉工程升级,后来知道就快多了,我学编程的,算法考虑了几分钟,以前用过类似的。地图如有需要的可发给所有回答的朋友
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-22 04:18 , Processed in 0.031359 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表