看板 GameDesign 關於我們 聯絡資訊
首先我們設定有 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
Splash5:個人也是用類似方法 不過是用2^n - 1當最大值 05/29 13:39
rabbithenry:我目前是類似這樣作法,不過就是你說到亂數不夠亂的問 05/30 13:15
rabbithenry:題... 謝謝你的意見 我試著寫自己的亂數函數好了 05/30 13:16
cowbaying:基本上系統提供的亂數很接近常態分部 所以才會建議 05/30 14:28
cowbaying:加個陣列 先亂數取出陣列值 然後再取一次亂數 05/30 14:28
cowbaying:或者亂數種子設多一點 05/30 20:47
Splash5:不過亂數種子要記一下 不然debug會很頭痛XD 05/31 03:29
rabbithenry:所謂陣列是要做個亂數表然後再用查表的方式取最後值嗎 05/31 17:10
cowbaying:恩 06/01 13:15