前幾天,you helped me to find out an algorithm for generating random strength values in an online game (thx especially John Rasch)。調整生成隨機強度值的算法
function getRandomStrength($quality) {
$rand = mt_rand()/mt_getrandmax();
$value = round(pow(M_E, ($rand - 1.033)/-0.45), 1);
return $value;
}
該函數生成1.1和9.9之間的值。現在我想調整這個函數,使它給出相同概率的值,但是在另一個區間內,例如, 1.5至8.0。如果您可以通過其他參數來實現這一點,那將是完美的。
如果你能幫助我,那會很好。提前致謝!
謝謝,這幾乎是雅各布B所做的,不是嗎?我用50,000次運行測試了兩種算法,並且Jacob B的算法有點快(0.563871860504 vs 0.468094348907)。 – caw 2009-06-04 14:14:37
+1 - 優秀! – 2009-06-04 14:47:55
@John Rasch:這段代碼的哪個方面比Jacob B的代碼好? – caw 2009-06-04 14:54:15