游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2711|回复: 8

[讨论] 合成公司求教高手指点

[复制链接]

6

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2008-5-31 16:08:00 | 显示全部楼层 |阅读模式
最近在想一个宠物合成的公式,想了很久一直没有想到怎么设计...还请这里的策划高手,给予一定的指点

下面说下我的需求

1.假设同系怪物共10个

同系怪物+任意怪物+任意道具(可无道具)=1,2,3,4,5,6,7,8,9,10任意一只怪物或者直接失败
11项存在1定的几率,

2.加入道具时,可能会改变这11项的成功率

比如加入A道具时,获得4的几率增加50%

基本就是上面的2个需求

想要一个比较简单的公式,但能够明确的表达给程序的...谁能告诉偶该怎么来写?或者给我一个思路-.-拜谢

3

主题

952

帖子

997

积分

高级会员

Rank: 4

积分
997
发表于 2008-5-31 17:32:00 | 显示全部楼层

Re:合成公司求教高手指点

我还以为是合成公司是什么新玩法来着~#83
怪物生成1,2,3..9,10的几率为X;失败几率为B,0<B<1;道具属性为A,0≤A<1-B;
x=(1-A-B)/10
够简单了吧,你要表达什么啊

20

主题

903

帖子

977

积分

高级会员

Rank: 4

积分
977
QQ
发表于 2008-5-31 17:35:00 | 显示全部楼层

Re:合成公司求教高手指点

11项合计100%的成功率,因此可以用随机数和表格来
表格A含有11项数据,分别为11项的几率数值(百分率),定为A1、A2....A11
随机100(要是几率划分更细,那么扩大随机数)得到X
X-An直到X小于0,此时的n-1就是得到的合成结果
如果道具不是很多,或者可以分类,那么A变成二维表格就可以了

17

主题

737

帖子

743

积分

高级会员

Rank: 4

积分
743
发表于 2008-5-31 19:38:00 | 显示全部楼层

Re:合成公司求教高手指点

比如加入A道具时,获得4的几率增加50%

这句话大有问题哦。11项中每次只出其中1项(不会两只怪物“合成”两只或三只吧?),也就是11项的总概率是1。
物品A导致4的几率增加0.5,那么其它10项以什么规则扣掉这0.5,以保证总几率仍是1?

实际上是4维表,“同系怪物”、“任意怪物”、“任意道具”、合成结果这四项条件对应一个几率.
具体说,可以用5列、超级多行的一个表。
如果看长表格不习惯,也可以用:很多Excel文件,每个文件里有很多表格,每个表格有很多行和很多列。(幸好只有4维,再多1维把文件路径也用上了。。。)

如果道具的规则比较简单,比如某道具对任何系别,总会增加编号4的产品的几率0.5,其它10种结果几率都降低0.05,而且任何结果的初始几率都不低于0.05(否则减成负值了)。那么道具可以不列在表格里。即使这样仍然有3维。

28

主题

3250

帖子

3262

积分

论坛元老

Rank: 8Rank: 8

积分
3262
QQ
发表于 2008-5-31 19:42:00 | 显示全部楼层

Re:合成公司求教高手指点

楼上的,获得4的几率增加50%应该是指P4*150%的意思……

17

主题

737

帖子

743

积分

高级会员

Rank: 4

积分
743
发表于 2008-5-31 19:43:00 | 显示全部楼层

Re:合成公司求教高手指点

另外要说清楚“任意”是生成合成公式时的任意,还是合成时的任意。比如你有100种怪物,这个“任意怪物”表示程序需要生成100套合成公式呢,还是只有1套合成公式,玩家可以填入任意一种怪物,得到相同结果?

17

主题

737

帖子

743

积分

高级会员

Rank: 4

积分
743
发表于 2008-5-31 19:51:00 | 显示全部楼层

Re: Re:合成公司求教高手指点

suquan77: Re:合成公司求教高手指点

楼上的,获得4的几率增加50%应该是指P4*150%的意思……

哦。。又有歧义了。 [em10]
(恶俗的仿山口山:山口山里“致命一击几率增加5%”就是指直接增加的意思![em9])
问题还是存在,总概率多出0.5*P4,总要有规则把这0.5*P4从别处减下去。

如果楼主是150%的意思,建议跟程序员和玩家约定清楚,0.5表示加的关系,50%表示乘150%。或者用不同的词表达,比如“增加”、“增强”。

8

主题

144

帖子

161

积分

注册会员

Rank: 2

积分
161
QQ
发表于 2008-5-31 21:06:00 | 显示全部楼层

Re:合成公司求教高手指点

假设: 有5种概率A、B、C、D、E。已知A+B+C+D+E =1
这里设定:
A概率 - 参数 * Z1  /   X
B概率 - 参数 * Z2  /   X
C概率 - 参数 * Z3  /   X
D概率 - 参数 * Z4  /   X
E概率 - 参数 * Z5  /   X

Z1~Z5定义:Z1~Z5的默认值= 1。当附加道具增加D概率的时候。Z4 = X 。
X定义: X的值 = 概率种类。就当前我这的假设下,X=5   (A、B、C、D、E5种概率)
参数定义: 参数的值  = 增加的概率。  如果某道具增加概率50%,那么这里 参数 = 50%

就目前这个假设已经满足LZ要求的条件:

总结逻辑规则得出概率公式:
        某个物品生成的概率   =   该物品设定的基础概率  -  道具附加概率 *  道具附加类型值  /  X

说明:   道具附加类型值 为一个(道具追加的对象、值 )的2维表。需要查表取值
         X为自己设定的常数值。值代表为当前参与随机的概率个数。就是那1、2、3、…10、11。这些出现的情况类别个数

8

主题

144

帖子

161

积分

注册会员

Rank: 2

积分
161
QQ
发表于 2008-5-31 21:10:00 | 显示全部楼层

Re:合成公司求教高手指点

公式有错,不好意思~
                                  还需要加一个改变运算符号“ - ” 的 一个参数。  可使用(-1)^ 参数
参数 根据状况取  1或者2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 14:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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