DCD
骑士
Rank: 24Rank: 24Rank: 24


UID 14610
精华 0
积分 1646
帖子 449
威望 0
现金 4452 银币
金币 0 金币
阅读权限 50
注册 2007-2-13
状态 离线
发表于 2007-9-28 12:04  资料  个人空间  短消息 

网页游戏英雄之门
求教算法


就是军队互相攻击时,有很多不同的兵种,不同的攻击力,不同的攻击方式,怎样才能迅速计算出来战争结果呢?好像比较费内存,我玩ogame,据说还考虑了70%以下装甲的飞船,遭受打击后,有(100%-装甲强度)可能性被一次性打爆,这样算法实在是不知道该怎么优化,不可能几千战舰,为每一个战舰创建一个对象吧。

顶部
[广告] 论坛投票锁帖系统(主题帖投票)启用,会员可以控制帖子的关闭与否
mokn
骑士
Rank: 24Rank: 24Rank: 24



UID 99305
精华 1
积分 2688
帖子 97
威望 2
现金 3000 银币
金币 0 金币
阅读权限 50
注册 2007-9-11
状态 离线
发表于 2007-9-28 12:52  资料  个人空间  短消息 

简单的方法,将各种舰船数目当作参数,各种类型的攻击化为平均值,再加上一些随机值
复杂的就做递归,发生一次攻击递归一次,不过效率肯定低了

顶部
[广告] web棋牌市 6.16内测开启
Rail100
骑士
Rank: 24Rank: 24Rank: 24



UID 99050
精华 0
积分 2146
帖子 204
威望 0
现金 1108 银币
金币 0 金币
阅读权限 50
注册 2007-9-10
状态 离线
发表于 2007-9-28 13:57  资料  个人空间  短消息 

模型不要搞得太复杂,否则吃力不讨好。
计算攻击的时候,一般只算总伤害,在扣除防守方血量时优先扣除那些70%以下装甲的战舰即可。
lz学了编程没有?

顶部
[广告] 论坛投票锁帖系统(主题帖投票)启用,会员可以控制帖子的关闭与否
DCD
骑士
Rank: 24Rank: 24Rank: 24


UID 14610
精华 0
积分 1646
帖子 449
威望 0
现金 4452 银币
金币 0 金币
阅读权限 50
注册 2007-2-13
状态 离线
发表于 2007-9-28 14:12  资料  个人空间  短消息 

当然学编程了,我现在就使程序员啊。
不过现在我都是在做项目,很少需要去想太复杂的算法。

顶部
[广告] CWG维权点子征集
sizlan
骑士
Rank: 24Rank: 24Rank: 24


UID 103043
精华 0
积分 1560
帖子 498
威望 0
现金 1932 银币
金币 0 金币
阅读权限 50
注册 2007-9-30
状态 离线
发表于 2007-10-1 09:22  资料  个人空间  短消息 
回复 #4 DCD 的帖子


怎么弄?
有代码可以看下吗?

用数组返回多数据?

顶部
[广告] 多玩独家代理欧美航海题材网页游戏《Seafight海战英豪》7月14日公测
shenys
老兵
Rank: 9Rank: 9



UID 31446
精华 0
积分 180
帖子 55
威望 0
现金 488 银币
金币 0 金币
阅读权限 30
注册 2007-6-13
状态 离线
发表于 2007-10-3 14:03  资料  个人空间  短消息 

编程的不一定都会研究算法,算法方面需要数学天才,有研究的朋友帮一把啊,我对这个也比较感兴趣。

顶部
[广告] 《英雄之门》,了解怪胎美女、非人待遇的经历
FreePlan
老兵
Rank: 9Rank: 9



UID 54109
精华 0
积分 276
帖子 14
威望 0
现金 2508 银币
金币 0 金币
阅读权限 30
注册 2007-8-19
状态 离线
发表于 2007-10-3 19:14  资料  个人空间  短消息 

战斗的算法一个游戏一个样子,没有固定的算法,关键是效率高,准确率高并且有意思,我也想参与研究一下

顶部
[广告] CWG维权点子征集
1122345
新进市民
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5



UID 103525
精华 0
积分 30
帖子 10
威望 0
现金 2403 银币
金币 0 金币
阅读权限 10
注册 2007-10-3
状态 离线
发表于 2007-10-3 20:39  资料  个人空间  短消息 

n013.gif
转载请注明出自 www.cwebgame.com,本贴地址:http://www.cwebgame.com/thread-86160-1-1.html

顶部
[广告] 论坛红包功能恢复,准骑士以上可评分。结婚系统安装完毕,大家可以开始表白了
redshark
准骑士
Rank: 18Rank: 18Rank: 18Rank: 18



UID 98923
精华 0
积分 876
帖子 285
威望 0
现金 3259 银币
金币 0 金币
阅读权限 40
注册 2007-9-10
状态 离线
发表于 2007-10-4 11:13  资料  个人空间  短消息 

楼主学过高等数学没有,还有概率,这些课都是大学必修课啊

顶部
[广告] 论坛红包功能恢复,准骑士以上可评分。结婚系统安装完毕,大家可以开始表白了
china25qd
骑士
Rank: 24Rank: 24Rank: 24


UID 31409
精华 1
积分 1452
帖子 131
威望 2
现金 3030 银币
金币 0 金币
阅读权限 50
注册 2007-6-13
状态 离线
发表于 2007-10-4 11:25  资料  个人空间  短消息  添加 china25qd 为MSN好友 通过MSN和 china25qd 交谈

基本上就是四则混合运算而已
先乘加,后减除

顶部
[广告] 论坛投票锁帖系统(主题帖投票)启用,会员可以控制帖子的关闭与否
DCD
骑士
Rank: 24Rank: 24Rank: 24


UID 14610
精华 0
积分 1646
帖子 449
威望 0
现金 4452 银币
金币 0 金币
阅读权限 50
注册 2007-2-13
状态 离线
发表于 2007-10-7 22:35  资料  个人空间  短消息 

ogame里面说,没艘飞船,血在70%以下时,都有一定可能受到攻击后直接爆炸,概率的算法是100%-血量百分比,也就是说,假如一个飞船的血量剩下30%,那么它下次受到攻击后,都有100%-30%,也就是70%的概率直接爆炸。

这么说的话,如果给每艘飞船都建有一个对象,显然是不可能的,不然每场战斗上万艘飞船参加,内存占用实在太大。我觉得也就是用数组,并且是记录飞船的数量,比如创建一个100大小int类型的数组,[66]就表示血量还有66%飞船的数量,每个种类的飞船都建立这样一个数组。

至于概率方面,也只是涉及到每一炮到底是打到了敌人的哪个飞船,至于费多少血,这个是固定值。我觉得可以稍微用几次随机数即可,没有必要对每艘飞船的进攻都使用随机数。比如,对方有90LF和10CL,我有200BB,那么应该有180BB打到对方的LF,20BB打到对方CL,然后再在一定范围内随机出来一个数字来调整一下比例,也就是只用了一次随机数。如果200BB射击就随机200次,实在太浪费CPU资源了,搞不好还要单独拿出来一台服务器做战斗用。

我希望能有一个更好的算法,比如,加入多种武器类型,而不单纯是激光一种,可以有飞弹之类的,对不同飞船的攻击力、命中率不同,每种飞船的体积和速度也会影响被攻击到的可能。而且加入射程的概念,射程低的飞船头几回合只能被打。去掉速射,取而代之的是飞船的武器配备,比如飞船上面有4个激光炮,2个导弹发射器,那么他每回合就能攻击6个目标。

反正这种地方的算法,一个要照顾CPU,一个还要照顾战术需要,不好弄啊

顶部
[广告] 《英雄之门》,了解怪胎美女、非人待遇的经历
 


海盗王

当前时区 GMT+8, 现在时间是 2008-7-25 22:53
沪ICP备06036464号

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 Licensed  © 2001-2007 Comsenz Inc.
Processed in 0.066506 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - Chinese Webgame BBS 中国网页游戏论坛 - Archiver - WAP