※ 引述《rabbithenry (歡迎光臨Wiiholic.com)》之銘言:
: 最近初涉獵遊戲程式開發,想寫一個撿金幣的遊戲,就是天上會隨機出現各種不
: 同價值的金幣,然後操作下面的人左右移動來撿錢。
: 想請問,這類型的遊戲,想要讓掉落的物品根據一定的機率掉落,應該要怎麼做?
: 我想讓數個不同分數的物品依照分數大小,分數越大掉落的機率越小,但是希望分
: 數大的物品不要發生連續掉落的狀況,也希望不要太久都沒有掉落半個高分的,讓
: 總分能夠控制在大約一個數字內。
: 我目前的作法只是做一個random的數字,然後不同範圍代表不同的物品,不過這就
: 產生相同機率下,要決定掉落哪個物品的問題,而且這樣也沒辦法控制大約的總分。
: 想請問各位,這種遊戲程式掉落物品的機率一般都是怎樣去計算它的公式呢?
雖然沒寫過,但是腦中直覺的閃出幾個想法
法一:
現在令起始落下地點分為10個區域 (自己定)
0 0 0 0 0 0 0 0 0 0
██ ██ ██ ██ ██ ██ ██ ██ ██ ██
0 1 2 3 4 5 6 7 8 9
當在4的地方落下10單位的金幣的時候,作階層加權紀錄 (自己定)
階乘的分布會影響落下機率
60 70 80 90 100 90 80 70 60 50
██ ██ ██ ██ ██ ██ ██ ██ ██ ██
0 1 2 3 4 5 6 7 8 9
常駐事件,每個單位時間減少階乘加權值,直到歸零為止
例如:1/60秒後
59 69 79 89 99 89 79 69 59 49
██ ██ ██ ██ ██ ██ ██ ██ ██ ██
0 1 2 3 4 5 6 7 8 9
之後,就可以依照這組數列決定落下位置
法二:
遊戲時間是固定的吧?
那就.....
一開始把要掉落的東西決定一下
先依照規定去排列
當遊戲開始之後,再依照排好的序列執行落下物品的動作
--
我... 我一點都不糟糕啦!>///<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.27.109.99