作者cowbaying (你在那个世界好吗)
看板GameDesign
标题Re: [请益] 想请问一些机率的演算方式
时间Sat May 29 13:29:32 2010
首先我们设定有
1.物品A(掉落率10%)
2.物品B(掉落率30%)
3.物品C(掉落率60%) 总共100%
我们先设定取1~100 的乱数
概念上假如我们要让物品A 的掉落机率为10%
那麽我们可以当乱数值为1~10 时 让物品掉落
同理
当乱数值为11~40 时 物品B 会掉落
当乱数值为41~100 时 物品C 会掉落
如果觉得函式库提供的乱数系统不够乱 可以自己写个公用函数
这里乱数值取1~100 是方便我们自己理解
如果你需要小数位的机率
可以把乱数值加大
乱数最大值100 准确到1%
乱数最大值1000 准确到0.1% 以此类推
※ 引述《rabbithenry (欢迎光临Wiiholic.com)》之铭言:
: 最近初涉猎游戏程式开发,想写一个捡金币的游戏,就是天上会随机出现各种不同价值的
: 金币,然後操作下面的人左右移动来捡钱。
: 想请问,这类型的游戏,想要让掉落的物品根据一定的机率掉落,应该要怎麽做?我想让
: 数个不同分数的物品依照分数大小,分数越大掉落的机率越小,但是希望分数大的物品不
: 要发生连续掉落的状况,也希望不要太久都没有掉落半个高分的,让总分能够控制在大约
: 一个数字内。
: 我目前的作法只是做一个random的数字,然後不同范围代表不同的物品,不过这就产生相
: 同机率下,要决定掉落哪个物品的问题,而且这样也没办法控制大约的总分。
: 想请问各位,这种游戏程式掉落物品的机率一般都是怎样去计算它的公式呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.242.3
1F:→ Splash5:个人也是用类似方法 不过是用2^n - 1当最大值 05/29 13:39
2F:推 rabbithenry:我目前是类似这样作法,不过就是你说到乱数不够乱的问 05/30 13:15
3F:→ rabbithenry:题... 谢谢你的意见 我试着写自己的乱数函数好了 05/30 13:16
4F:→ cowbaying:基本上系统提供的乱数很接近常态分部 所以才会建议 05/30 14:28
5F:→ cowbaying:加个阵列 先乱数取出阵列值 然後再取一次乱数 05/30 14:28
6F:→ cowbaying:或者乱数种子设多一点 05/30 20:47
7F:→ Splash5:不过乱数种子要记一下 不然debug会很头痛XD 05/31 03:29
8F:→ rabbithenry:所谓阵列是要做个乱数表然後再用查表的方式取最後值吗 05/31 17:10
9F:→ cowbaying:恩 06/01 13:15