骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
楼主: jppjpp

[分享] 【修改】战利品算法改进

  [复制链接]

10

主题

583

回帖

188

积分

见习骑士

Rank: 3

UID
459602
第纳尔
917
精华
0
互助
2
荣誉
0
贡献
0
魅力
12
注册时间
2011-6-29
鲜花(20) 鸡蛋(0)
发表于 2013-11-26 13:27:01 | 显示全部楼层
我和楼上一样的状况,我还是14及的掠夺,也不行了,战利品都比较渣渣了!

10

主题

33

回帖

-7

积分

囚犯

UID
1657188
第纳尔
111
精华
0
互助
-4
荣誉
0
贡献
0
魅力
0
注册时间
2013-11-8
鲜花(0) 鸡蛋(0)
发表于 2013-11-26 15:09:54 | 显示全部楼层
好厉害的样子

15

主题

910

回帖

758

积分

骑士

Rank: 4Rank: 4

UID
1313442
第纳尔
4102
精华
0
互助
52
荣誉
22
贡献
0
魅力
64
注册时间
2013-4-26
鲜花(287) 鸡蛋(0)
发表于 2013-11-26 21:34:09 | 显示全部楼层
本帖最后由 greole 于 2013-11-26 21:39 编辑

之前没认真看楼主的算法,没留意到这个帖子的重点不是全部撸完战利品,而是要高效率地全部撸完...

我觉得算法还可以再简化一下,其实没有必要使用slot的指针
实际上,如果使用简单的冒泡排序,假设战利品之前已经是排好序的话(只需一次troop_sort_inventory),那么对于每一件新的战利品的加入,最坏情况只需要95次比较和移动。(传说中在循环里修改try_for_range的最后一个参数的值,可以跳出循环)
再假设每次比较和移动需要10次操作(为简单起见,script的调用算作一次),只需要 95 * 10 = 950次操作。
你的算法每次比较需要执行40多次操作,需要95 * 40 = 3800次操作

(我们可以用slot来记住已经计算过的物品价值来提高效率,和UP主的算法一样)

另外还有一个问题:
troop_loot_troop每次不一定只撸出一件战利品,可能是多件
这时候由于算法只提供一个空位来撸,所以还是会漏掉一些

其实可以这么做:当trp_temp_troop撸满(应该是接近满的时候,如大于90件),再和trp_temp_array_a里面的战利品进行合并,并清空trp_temp_troop的物品
撸完后,和trp_temp_array_a做最后一次合并,然后copy回trp_temp_troop,这样即能兼顾效率也可以保证不会漏掉战利品

15

主题

910

回帖

758

积分

骑士

Rank: 4Rank: 4

UID
1313442
第纳尔
4102
精华
0
互助
52
荣誉
22
贡献
0
魅力
64
注册时间
2013-4-26
鲜花(287) 鸡蛋(0)
发表于 2013-11-26 21:37:37 | 显示全部楼层
另外代码好像有点问题..

第四十行,(troop_set_inventory_slot, "trp_temp_array_b", ":init_point_slot", ":cur_item_value"),

cur_item_value在此时应该还没有赋值?似乎这里应该是init_point_itemval才对

36

主题

90

回帖

38

积分

扈从

Rank: 2Rank: 2

UID
1640196
第纳尔
831
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-10-31
鲜花(0) 鸡蛋(0)
发表于 2013-11-26 21:41:21 | 显示全部楼层
greole 发表于 2013-11-26 21:37
另外代码好像有点问题..

第四十行,(troop_set_inventory_slot, "trp_temp_array_b", ":init_point_slot ...

是不是说楼主的算法一般来说比正常的算法会得到更少的战利品啊?

15

主题

910

回帖

758

积分

骑士

Rank: 4Rank: 4

UID
1313442
第纳尔
4102
精华
0
互助
52
荣誉
22
贡献
0
魅力
64
注册时间
2013-4-26
鲜花(287) 鸡蛋(0)
发表于 2013-11-26 21:46:50 | 显示全部楼层
xkdlfltpy 发表于 2013-11-26 21:41
是不是说楼主的算法一般来说比正常的算法会得到更少的战利品啊?

如果当战利品多于96件的话,是的。
当然我没有去证实,仅仅是从代码判断的

31

主题

360

回帖

127

积分

见习骑士

Rank: 3

UID
91591
第纳尔
968
精华
0
互助
2
荣誉
0
贡献
0
魅力
0
注册时间
2008-9-12
鲜花(7) 鸡蛋(0)
发表于 2013-11-28 16:14:57 | 显示全部楼层
技术帝啊,话说潘德的txt修改真是多啊……

36

主题

90

回帖

38

积分

扈从

Rank: 2Rank: 2

UID
1640196
第纳尔
831
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-10-31
鲜花(0) 鸡蛋(0)
发表于 2013-12-5 11:57:54 | 显示全部楼层
我用了你的算法之后还是不行啊,刚才打了一个200+人的不对居然刷出了90把菜刀,这什么情况啊,还是我的代码复制到了错误的文件中啊,那个代码应该是复制带哪的文件的,给个路径看一下好么?

14

主题

496

回帖

165

积分

见习骑士

Rank: 3

UID
1350673
第纳尔
1209
精华
0
互助
0
荣誉
1
贡献
0
魅力
1
注册时间
2013-5-14
鲜花(50) 鸡蛋(0)
发表于 2013-12-5 12:42:58 | 显示全部楼层
xkdlfltpy 发表于 2013-12-5 11:57
我用了你的算法之后还是不行啊,刚才打了一个200+人的不对居然刷出了90把菜刀,这什么情况啊,还是我的代码 ...

90把菜刀!!!恕---幸好没急着做小白鼠
名称:花花党
特征:平时也就攻击力为5的渣渣。但不给鲜花是时,攻击力飙升到十万点。
信仰:花花痴,花花狂,不给花花耍流氓。

36

主题

90

回帖

38

积分

扈从

Rank: 2Rank: 2

UID
1640196
第纳尔
831
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-10-31
鲜花(0) 鸡蛋(0)
发表于 2013-12-5 13:32:33 | 显示全部楼层
我错了,发现问题在哪里了。原来是最近下了npc特技补丁,然后那个补丁把那个文件覆盖了,战利品的算法有变回原版了= =

153

主题

843

回帖

334

积分

见习骑士

Rank: 3

UID
113008
第纳尔
4641
精华
0
互助
5
荣誉
1
贡献
0
魅力
4
注册时间
2009-2-3

原版正版勋章战团正版勋章维京征服正版勋章汉匈决战正版勋章元老骑士勋章霸主正版勋章

QQ
鲜花(3) 鸡蛋(0)
发表于 2013-12-5 18:55:25 | 显示全部楼层
看完后有一种说不出的赶脚

V大提出的游戏性的问题是值得思考的
其实是一个很浅显的问题好东西和坏东西总是相对的如果都是好东西的话你怎么能看到它的好?
同理如果都是好装备的话大家就不会觉得这些是好东西了
同时在这个游戏性的问题上在废话一下
潘德的特色就是难度对吧?困难而无法作弊的游戏特质是潘德可玩性的中心所在~!至少我是这么认为的
如果玩家可以轻易获得同级别的高级装备会大大减低潘德的游戏性那样就没意思没惊喜了吧?!

而就战利品问题本身来说R大说的那种领军者中使用的战利品系统才是目前最具效力的方法吧?
扩大战利品收集范围直接将960个战利品放你面前你想要什么要什么最后在配置自动卖出的系统简直就是瞬间将一场战斗中获得的战利品利益最大化啊!

46

主题

1449

回帖

474

积分

骑士

Rank: 4Rank: 4

UID
300994
第纳尔
2021
精华
0
互助
5
荣誉
0
贡献
0
魅力
10
注册时间
2010-8-22

霸主正版勋章

鲜花(16) 鸡蛋(10)
发表于 2013-12-5 18:57:28 | 显示全部楼层
as329854395 发表于 2013-12-5 18:55
看完后有一种说不出的赶脚

V大提出的游戏性的问题是值得思考的

实际上玩的时候效果并没有那么明显的。

46

主题

1449

回帖

474

积分

骑士

Rank: 4Rank: 4

UID
300994
第纳尔
2021
精华
0
互助
5
荣誉
0
贡献
0
魅力
10
注册时间
2010-8-22

霸主正版勋章

鲜花(16) 鸡蛋(10)
发表于 2013-12-5 18:58:56 | 显示全部楼层
as329854395 发表于 2013-12-5 18:55
看完后有一种说不出的赶脚

V大提出的游戏性的问题是值得思考的

最大的问题就是,一般你不会一次打完千人战,至少要撤出一次战场,尤其 弓兵没箭了的时候。
这时候第一次的就不计算了——这个问题似乎一直没解决,至少我个人感觉如此。

153

主题

843

回帖

334

积分

见习骑士

Rank: 3

UID
113008
第纳尔
4641
精华
0
互助
5
荣誉
1
贡献
0
魅力
4
注册时间
2009-2-3

原版正版勋章战团正版勋章维京征服正版勋章汉匈决战正版勋章元老骑士勋章霸主正版勋章

QQ
鲜花(3) 鸡蛋(0)
发表于 2013-12-5 19:17:21 | 显示全部楼层
本帖最后由 as329854395 于 2013-12-5 19:24 编辑

这个问题根本就不需要解决~
没节操的试想一下
如果你现实中的战斗也基本不可能是一次解决的吧
而双方第一次交火后互有伤亡 这时候一方选择后撤另寻时机再战
而如果该作战目标成功达成而没有被对方尾随趁机掩杀的情况下
那么下一次的交战地点基本上就不可能是第一次交战的位置了
这个时候要么敌军已经腾出手来收拾战利品不过这种可能性并不高
收拾战利品的一般是后勤的问题吧?毕竟还没有完全击溃敌军啊?
作战部队应该会尽可能的快速更换损坏的装备之后抓紧时间休整如果可能的话重后勤那里补充一些兵员以待再战
而那些被缴获的战利品会被后勤部队弄走~

(另外弱弱的吐槽一下,游戏毕竟是游戏啊~。而限于技术和其他因素的限制骑砍的整体战争感觉还是无法全面体现出来啊~。其中除了地图上的所有部队基本都是可以在在无后勤的情况下远距离近乎无限时间无目的性的游荡作战简直就是到了无力吐槽这一点之外。还有就是战争四要素中 天时 地利 人和 战略战术 中也仅仅只能勉强体现出 人和 这一点而已一些基本的队形操控估计也远远无法达到战术的标准。不过战略战术这种东西估计是现在的骑砍无法很好体现出来的元素,毕竟受限于更高级别的AI等级才行。但是作为一个战争为主题的游戏无法体现 天时和地利 的话就会在无意中丢失很多战争游戏的乐趣了~,无法体现天气对战场形势、战斗形势的影响,无法体现各个要塞城堡位于关键部位的战略重要性~!要知道一夫当关万夫莫开可不是开玩笑的如果哟好的地形要用几百人打败几千人并非不可能~!而骑砍中基本上根本没有体现出 地利 这个重要的理念就算这个城堡建在一个隘口上玩家部队也可以藐视它直接穿过去甚至不用支付关税?!也这个要塞或者城堡建在这里到底有什么意义?!)

现在的骑砍能吸引众多骑友的地方并不在其他而就是一点~!
战斗模式~!骑砍的战斗模式绝对是空前的史诗之作和当年的CS绝对是同一级别的创作
当然我最后还想说前面的吐槽并不是说我就不喜欢这个游戏
相反骑砍可以说是我玩的最久的一个单机游戏了,在我看来骑砍绝对是个堪称经典的史诗之作~!
但现在的他还需要很多改进
而我不是很明白为什么这么好的一个游戏会得不到推广?得不到给力团队的修改和改进而是要靠我们这些非职业的散人玩家去努力?难道真的是因为名字太挫?!

36

主题

90

回帖

38

积分

扈从

Rank: 2Rank: 2

UID
1640196
第纳尔
831
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-10-31
鲜花(0) 鸡蛋(0)
发表于 2013-12-5 21:39:03 | 显示全部楼层
能把那个960格子的战利品算法移植过来么?这样就方便多了啊

0

主题

3

回帖

1

积分

平民

Rank: 1

UID
1876595
第纳尔
19
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-4-1
鲜花(0) 鸡蛋(0)
发表于 2018-9-6 21:51:39 | 显示全部楼层
rubik 发表于 2013-11-10 20:23
潘德的预言没有与时俱进啊,扒的是我3年前的坟:
http://bbs.mountblade.com.cn/forum.php?mod=viewthread ...

战团1.168原版,可以改成这种模式吗?不懂编程,能不能直接给一个改TXT的方法或者直接给个TXT

279

主题

2921

回帖

1050

积分

骑士

Rank: 4Rank: 4

UID
1610219
第纳尔
8069
精华
0
互助
18
荣誉
0
贡献
0
魅力
47
注册时间
2013-10-18

霸主正版勋章

鲜花(90) 鸡蛋(0)
发表于 2018-9-6 23:18:50 | 显示全部楼层
问心不问路 发表于 2018-9-6 21:51
战团1.168原版,可以改成这种模式吗?不懂编程,能不能直接给一个改TXT的方法或者直接给个TXT

原版直接按lz的复制就行了啊

0

主题

3

回帖

1

积分

平民

Rank: 1

UID
1876595
第纳尔
19
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-4-1
鲜花(0) 鸡蛋(0)
发表于 2018-9-8 07:24:13 | 显示全部楼层
斫饨 发表于 2018-9-6 23:18
原版直接按lz的复制就行了啊

15女剑刷完会出9到10个战利品,但是加上100民兵以后用这个代码出的全都是民兵的装备,所以我感觉应该是没用

279

主题

2921

回帖

1050

积分

骑士

Rank: 4Rank: 4

UID
1610219
第纳尔
8069
精华
0
互助
18
荣誉
0
贡献
0
魅力
47
注册时间
2013-10-18

霸主正版勋章

鲜花(90) 鸡蛋(0)
发表于 2018-9-8 10:05:43 | 显示全部楼层
问心不问路 发表于 2018-9-8 07:24
15女剑刷完会出9到10个战利品,但是加上100民兵以后用这个代码出的全都是民兵的装备,所以我感觉应该是没 ...

我之前改到12th就有用的,刷起义军前两行全是铠甲,
改成176开头的那段呐

38

主题

216

回帖

76

积分

扈从

Rank: 2Rank: 2

UID
2994653
第纳尔
1382
精华
0
互助
0
荣誉
0
贡献
0
魅力
1
注册时间
2018-4-10

汉匈决战正版勋章战团正版勋章

鲜花(7) 鸡蛋(0)
发表于 2018-9-8 14:34:30 | 显示全部楼层
楼主牛逼啊

12

主题

84

回帖

29

积分

扈从

Rank: 2Rank: 2

UID
1548892
第纳尔
416
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2013-9-16
鲜花(0) 鸡蛋(0)
发表于 2018-9-9 17:26:04 | 显示全部楼层
经测试3.92不能用

2

主题

8

回帖

3

积分

平民

Rank: 1

UID
2881316
第纳尔
233
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2017-10-4
鲜花(0) 鸡蛋(0)
发表于 2018-12-28 21:59:52 | 显示全部楼层
3.93不能用啊,最关键的是会清空你的背包(我的远古诺多甲)

3

主题

22

回帖

8

积分

平民

Rank: 1

UID
1929007
第纳尔
130
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-4-28
鲜花(0) 鸡蛋(0)
发表于 2019-12-8 00:16:04 | 显示全部楼层
事实证明 3.94跳红字清背包…qvq 求更新 qvq

3

主题

166

回帖

56

积分

扈从

Rank: 2Rank: 2

UID
596515
第纳尔
965
精华
0
互助
1
荣誉
0
贡献
0
魅力
15
注册时间
2011-12-20

元老骑士勋章

鲜花(5) 鸡蛋(0)
发表于 2020-4-16 10:35:48 | 显示全部楼层
如果楼主还在就好了,潘德3.95暂时用不了,楼主大救星,求更新。
http://bbs.mountblade.com.cn/static/image/smiley/dlm/a01.gif恶魔酱,你又调皮了,说好的不要一枪爆头呢?
http://bbs.mountblade.com.cn/static/image/smiley/dlm/a04.gif我没有用枪爆头(心照不宣)
http://bbs.mountblade.com.cn/static/image/smiley/dlm/a16.gif要是可以俘虏,你的菊花岂会完整!
http://bbs.mountblade.com.cn/static/image/smiley/dlm/a37.gif其实,其实不用俘虏,我们也可以.....

0

主题

8

回帖

2

积分

平民

Rank: 1

UID
2880908
第纳尔
72
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2017-10-2
鲜花(0) 鸡蛋(0)
发表于 2021-6-26 12:19:18 | 显示全部楼层
我用16th试了一下跳红字啊,但是能得到战利品,这算是有用还是没用啊大大

1

主题

6

回帖

2

积分

平民

Rank: 1

UID
2251187
第纳尔
28
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-10-20
鲜花(0) 鸡蛋(0)
发表于 2021-11-13 14:28:25 | 显示全部楼层
斫饨 发表于 2018-9-8 10:05
我之前改到12th就有用的,刷起义军前两行全是铠甲,
改成176开头的那段呐

同样12TH,我改完,打过仗就不给战利品了,跳红字,直接没战利品,一个都没

0

主题

9

回帖

3

积分

平民

Rank: 1

UID
3177694
第纳尔
42
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-4-27
鲜花(0) 鸡蛋(0)
发表于 2021-11-19 22:59:03 来自手机 | 显示全部楼层
太优秀了,不但把东西弄出来了,而且还把心得也分享出来了

2

主题

20

回帖

7

积分

平民

Rank: 1

UID
1757597
第纳尔
763
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2014-1-4
鲜花(0) 鸡蛋(0)
发表于 2021-12-5 23:48:13 | 显示全部楼层
NB,代码帝牛逼!

2

主题

62

回帖

19

积分

随仆

Rank: 1

UID
2727480
第纳尔
546
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2016-2-28
QQ
鲜花(0) 鸡蛋(0)
发表于 2021-12-23 18:20:25 | 显示全部楼层
强啊技术大神!666666666666

0

主题

17

回帖

10

积分

随仆

Rank: 1

UID
3326740
第纳尔
42
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-2-13
鲜花(0) 鸡蛋(0)
发表于 2022-2-14 12:21:55 | 显示全部楼层
不明觉厉
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-12-19 20:55 , Processed in 0.264907 second(s), 59 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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