Re: [請益] 想請問一些機率的演算方式
※ 引述《rabbithenry (歡迎光臨Wiiholic.com)》之銘言:
: 最近初涉獵遊戲程式開發,想寫一個撿金幣的遊戲,就是天上會隨機出現各種不同價值的
: 金幣,然後操作下面的人左右移動來撿錢。
: 想請問,這類型的遊戲,想要讓掉落的物品根據一定的機率掉落,應該要怎麼做?我想讓
: 數個不同分數的物品依照分數大小,分數越大掉落的機率越小,但是希望分數大的物品不
: 要發生連續掉落的狀況,也希望不要太久都沒有掉落半個高分的,讓總分能夠控制在大約
: 一個數字內。
: 我目前的作法只是做一個random的數字,然後不同範圍代表不同的物品,不過這就產生相
: 同機率下,要決定掉落哪個物品的問題,而且這樣也沒辦法控制大約的總分。
: 想請問各位,這種遊戲程式掉落物品的機率一般都是怎樣去計算它的公式呢?
以大富翁系列為例子好了@@
1.給每包金幣定權重
例:
一個金幣的包裹權重1
兩個金幣的包裹權重2
三個金幣的包裹權重3
(權重給多少就看你自己訂)
2.給負面效果物品定權重
例:
目前累積金幣除以二的權重10
遊戲直接結束的炸彈權重20
3.畫面垂直分區,假設分成20個
4.幫20個分區排順序
看是要排亂數序還是遞加/遞減序
排亂數序還要考慮亂數某次出現之後
下次出現至少需要間隔多少個其他分區
5.幫物品跟金幣排掉落順序
可以決定當所有掉落物的權重值累積到多少的時候要做修正
像是
累積到35就挑一個小權重的負面效果
累積到80就跳一個大權重的負面效果
修正情況也可以依照使用者目前所得到的權重值搭配修正
這邊函數要怎麼搭就是藝術了 =.=
因為這邊的函數會讓你可以估計
掉落物的總正權重、總負權重
有些高手還可以透過函數
算出這個遊戲的最佳化時間@@
(這個真的很難..因為我沒學過完整的群論..)
6.把分區順序搭配上物品掉落順序
你就有一個堪用的金幣掉落遊戲了XD
ps.
千萬不要相信電腦的random function
拿來大量取樣還可以
數量不大的話,不痛不癢 =.=
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.214.63
推
05/31 16:56, , 1F
05/31 16:56, 1F
→
05/31 16:56, , 2F
05/31 16:56, 2F
討論串 (同標題文章)