铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 3158|回复: 18

波段胜率估算方法(数学好的帮忙看看有米有问题)

 关闭 [复制链接]
发表于 2010-3-11 01:39 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
最近很多PK戏用得都是波段制,大概这已经是一种主流了。
(话剧用野球拳的请54)

计算方法为
波段差乘以功力,没有互伤

目前用来估算胜率计算方式是这样的。

首先是波段部分

假如A的波段为n-n+a,
B的波段为r-r+b,

那么A和B单挑估算列表

A:n。n+1.n+2.……n+a
B:r+b。……r+2.r+1.r

假设这个是两人的波段抽取,进行计算。

具体案例:
A的波段为1-5
B的波段为3-6

那么估算假设就是

    -5  -3   -1   
A:1,2,3,4,5                  -9
B:6,5,4,3,4.5               -1.5
                     -1,-0.5

也就是说在功力相等的情况下A:B的胜率为1.5:9

A的胜率为1.5/(1.5+9)=0.14
B的胜率为9/(1.5+9)=0.86

那么如果两人功力不同又该怎样算呢?
我的方法是——胜利比例分别乘以功力
以上式为例

A的波段胜率为1.5,假设A的功力为6.
B的波段胜率为9,假设B的功力为3。
那么
加上波段以后的胜率比
A:B=1.5*6:9*3=9:27=1:3

也就是说A的胜算为25%而B的胜率为75%

如果再加上生命的因素,可同功力的计算方式。

于是再举一个例子
A:波段1-3,功力5,生命80
B:波段2-3,功力4,生命50

模拟估算

第一步:
     -2
A:1,2,3                -2
B:3,2,2.5            -0.5
                 -0.5

波段胜率比:
A:B=0.5:2=1:4

第二步:
最终胜率比:
A:B=1*5*80:4*4*50=400:800=1:2

A的胜率约为33%
B的胜率约为66%

以上。

[ 本帖最后由 寂寞·莲袭 于 2010-3-11 01:42 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 01:53 | 显示全部楼层
膜拜莲袭童鞋 我数学不好啊
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-3-11 02:11 | 显示全部楼层
围殴估算方法:
假设A和B联手围殴C
A:波段1-5,功力4,生命50
B:波段1-4,功力5,生命60
C:波段2-6,功力6,生命40

第一步
                -1   -3    -5                                    -9
A:5,4,3,2,1
C:2,3,4,5,6                  -3-2-1         -6
B:4,3,2,1,2.5
               -2    -4   3.5                                 -9.5

第二步

A:1/9=0.1111
B:1/9.5=0.1053
C:1/6=0.1667

第三步

A:0.1111*4*50=22.22
B:0.1053*5*60=31.59
C:0.1667*6*40=40.01

最后的生存率:
A:22/(22+31+40)=24%
B:31/(22+31+40)=33%
C:40/(22+31+40)=43%
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 08:47 | 显示全部楼层
总觉得好复杂呢 袭
为什么把剧弄得那么复杂呢
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 08:55 | 显示全部楼层
介个真的好复杂……个人认为还是野球拳>降龙掌>玄铁剑>一阳指>白骨爪>旋风腿>兰花手>狂风刀>杨家枪>热水瓶的先天设定比较爽快一点
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 09:07 | 显示全部楼层
原帖由 唐老鸭 于 2010-3-11 08:55 发表
介个真的好复杂……个人认为还是野球拳>降龙掌>玄铁剑>一阳指>白骨爪>旋风腿>兰花手>狂风刀>杨家枪>热水瓶的先天设定比较爽快一点

恩 这个名字也好复杂 咱就石头剪刀布好不好哦
        或者12345 上山打老虎 也可以
        再不。。。其实 我看到汝名字和林妹妹头像 就好雷
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 09:35 | 显示全部楼层
好专业,膜拜先。
不过如果我万一开武戏(几率很小),我只用抽生死签一招定胜负。太麻烦^_^
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 11:58 | 显示全部楼层
应该还是有问题,我很早就考虑过,后来发现还是过于复杂(可能是我的思路有误)
首先,功力不同,胜率也不同。举一个极端例子,假设双方的功力都是无穷大(或者充分大),使达到一个谁投出的点大谁就能秒杀对方的程度,那么B的胜率就是0.7,而不是0.86,这一个反例就已经可以说明这个推断是有误的了。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 12:11 | 显示全部楼层
原帖由 寂寞·莲袭 于 2010-3-11 01:39 发表
也就是说在功力相等的情况下A:B的胜率为1.5:9


ft,且不说我觉得“假如A的波段为n-n+a,B的波段为r-r+b”的符号最好用“~”而别用“-”以免和“+”混淆。
就说这个“胜率”一词,所谓“胜率”,就是赢的次数在总次数中的概率吧,那你说的例子中,一共5次,A3次,B2次,这个A的胜率就是60%,B的是40%,你算的那个9:1.5的,应该算是类似于“战损比”或者“收益比”吧。

仔细看了看,那个1~5和3~6也有问题,居然跑出一个4.5来,你要凑一个对一个也不是这样,而且就算两边的a和b一样,也不能就这么1对1的凑。
必须是两边都给出全值域,交叉一下。(概率学基础的基础啊……)
比如
A为1的时候,B为3、4、5、6,A分别为-2、-3、-4、-5
A为2的时候,B为3、4、5、6,A分别为-1、-2、-3、-4
A为3的时候,B为3、4、5、6,A分别为0、-1、-2、-3
A为4的时候,B为3、4、5、6,A分别为+1、0、-1、-2
A为5的时候,B为3、4、5、6,A分别为+2、+1、0、-1

所以20种情况中,A胜3种,平3种,B胜14种,A的胜率是15%,B的胜率是70%,而不是1.5:9或者是40%
如果算收益比,A收益为4,B收益为34,这样的比也是4:34。而1.5:9=1:6,4:34=1:8.5,差很多的……
(当然这种“收益比”的算法很囧,意义不大,欢迎拍砖)

~~~~~~~~~~

另外不知道现在的剧场中碰到波段相同是怎么算的。
我就跑过七龙珠,里面波段相同是相互受到对方1波段差的伤害(比如孙悟空战斗力10,出了波段5;贝杰塔战斗力8,也出了波段5,最后结果是孙悟空受到伤害8,贝杰塔受到伤害10),不知道现在是怎么样算的,所以没写战平部分的伤害。

[ 本帖最后由 金圭子 于 2010-3-11 12:26 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 12:27 | 显示全部楼层
另外不知道现在的剧场中碰到波段相同是怎么算的。
我就跑过七龙珠,里面波段相同是相互受到对方1波段差的伤害(比如孙悟空战斗力10,出了波段5;贝杰塔战斗力8,也出了波段5,最后结果是孙悟空受到伤害8,贝杰塔受到伤害10),不知道现在是怎么样算的,所以没写战平部分的伤害。

如果战平的时候双方互不受到伤害(看楼主好像是这个意思)。
那算功力的话用乘法的确可以(本质上就是A负的情况下都乘B的战斗力,A正的情况下都乘A的战斗力,最后可以作为公因子提取出来),当然乘的基础不是楼主的那种“胜率/收益比”算法。而是我上面的,比如A的战斗力是10,B的战斗力是8,最后就是10*4:8*34=1:6.8(虽然仍然觉得这个没什么意义)。



至于加上生命以后的情况有点复杂,特别是现在都是在很小的数字下进行运算,很容易出现伤害溢出的情况(就是你血只有10,一下打你10也是死,一下打你100也是死),很难套一个普适公式,先让我想一想有没有什么办法……
但是百分百不是乘生命,先说个伤害溢出情况的例子,比如两个人功力一个是10,一个是100,血都是10,波段都只有两个:1和2,如果平手不互伤,就四种情况:1碰到1、2碰到2、1碰到2、2碰到1,前两种情况下都继续打,后两种情况下出1的死,出2的赢,所以胜率应该是1:1,而不是10*10:100*10。
同理换成两个人功力都是100,一个血10一个血100也是一样的。

就算排除伤害溢出的情况,也不是就乘生命,比如还是两个人波段是1和2,功力都是1,血分别是1和10,这样就不会有伤害溢出的情况,但是两个人的胜率也不是1:10。
因为1血的人要赢,必须要连着碰到10次他出2对方出1,而不能碰到一次他出1对方出2,因为双方都1都2的情况不影响,所以都出1都出2的就算没出,我们就当双方肯定会出不一样的数字,那就是说血是1是A,血10的是B,单次波段A赢(A2B1)是50%,A输(A1B2)也是50%,就相当于一个硬币的正反面(这个很好理解吧),而要赢就需要是扔10次硬币,出10次正面,这种情况大家都会想到不是1/10而是1/1024(1024=2的10次方)吧。
所以说首先生命的情况肯定不是乘,其次生命的情况比较复杂,所以我也说前面的那个算出来意义不大……

[ 本帖最后由 金圭子 于 2010-3-11 12:43 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 12:35 | 显示全部楼层
头都看大了,袭儿啊,这题米办法看。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 12:55 | 显示全部楼层

回复 十当家 的帖子

所以我想来想去,只想到两个办法。。第一个。。是通过计算机模拟几万次,然后直接把胜率除出来,第二个,依据每种伤血情况,结合几率进行枚举
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 13:15 | 显示全部楼层
我觉得还是枚举合理点。
差不多我也是准备用计算机写个枚举程序来枚举……
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2010-3-11 13:58 | 显示全部楼层
无语了……看来我这个算法问题不是一般地大啊……(这差距)
那么做人设的时候的战力估算有没有比较简单的方法呢?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 14:08 | 显示全部楼层
我觉得还是生死签吧 别那么复杂的好
我们是人脑不是电脑
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 14:10 | 显示全部楼层
一般来说,波段上稍微调整一下就可以了。。至于要精确的话,期待金圭子大大的程序做出来吧
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 14:14 | 显示全部楼层
还有个不是办法的办法:直接上血条后(不同人的防御值固定掉)
不同人的胜负概率提前用攻击力固定(不同级别出手后攻击扣数不同)
最后乘上一个骰子随机数。。。

骰子通过摇——只要保证随机就可。

不知这样可行否。。。

例如 PK为4个人
分别 攻击|防御:
(1)10|50
(2)20|100
(3)40|400
(4)5|200


骰子为1~6面骰。
(骰子随机丢的概率,每次丢,其实是被清零过的;好像记得是这样)
(最大骰子数*最小攻击应小于等于其中防御最小者的防御总量,以免秒杀)
(最小骰子数*最大攻击应大于等于其中防御最小者的防御总量,以免杀不死)

(1)随机摇取结果(同一个剧务代摇,拿个实体骰子在手上滚,也可)6
攻击(2)
(2)变成 20|100-6*10

=============类似到 所有人防御值为0为负时候 即死亡
唯一问题在于 先出手+运气太好 和 攻击血防都高的人 应该容易存活。。。

[ 本帖最后由 夏悉茗 于 2010-3-11 14:20 编辑 ]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-11 14:56 | 显示全部楼层
原帖由 寂寞·莲袭 于 2010-3-11 13:58 发表
无语了……看来我这个算法问题不是一般地大啊……(这差距)
那么做人设的时候的战力估算有没有比较简单的方法呢?

你是要什么东西啊,是要弄一个类似于做游戏的设定平衡,让所有玩家虽然各有特色,但是能做到基本上都比较平衡,没有特别强和特别弱的?

所以需要一个东西来估算一下战斗力高低么?


这个东西我基本上都是已经做的有点“靠经验”了,也就是俗话说的大概看一下就能看出哪个人特别强,哪几个人虽然看起来差别很大但是其实输赢差不多了,但是这个意会的东西很难言传…………
倒是以前看七龙珠的时候,觉得这个战斗力不仅仅是数字啊,主要是里面的各种技能的差距很大,属性可能很低的人配一个很强的技能,在能用好的人手中反而很厉害了。
还有在跑起来以后发现有人特别弱也可以给他开小灶有人特别强也可以给他吹黑哨么(无耻啊……)
不过冒险类的我没跑过,不知道是怎么个情况。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-12 01:59 | 显示全部楼层
这个东西。这个算术。。。也只有金龟子可以来完成了。。。。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-5-7 14:20

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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