在游戲開發(fā)中,會(huì)經(jīng)常碰到計(jì)算概率的場(chǎng)景
下面的代碼就是一個(gè)最簡(jiǎn)單的根據(jù)給定概率計(jì)算出隨機(jī)結(jié)果的實(shí)例
<?php//a出現(xiàn)的概率是10%,b是20%,c是30%,d是40%$pro = ['a' =>10,'b' =>20,'c' =>30,'d' =>40];function proRand($pro){ $ret = ''; $sum = array_sum($pro); foreach($pro as $k=>$v) { $r = mt_rand(1, $sum); //echo $r . "/t" . $v . "/n"; if($r <= $v) { $ret = $k; break; }else{ $sum = max(0, $sum - $v); } } return $ret;}echo proRand($pro);
更復(fù)雜的可能會(huì)在概率之上加上權(quán)重。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !
相關(guān)推薦:
PHP如何讀取大excel文件數(shù)據(jù)的方法
以上就是關(guān)于PHP隨機(jī)概率計(jì)算函數(shù)的介紹的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選