}
i++;//前進を続けてください
},500);
}
PHP パート:
dice.php は次のことを行う必要があります: 設定された当選確率に基づいて合計ポイントを取得し、合計ポイントに基づいて 2 つのサイコロのポイントを割り当て、最後に 2 つのサイコロのポイントをフロントエンド ページに返します。
コードをコピーします
コードは次のとおりです:
// 勝つ確率を設定します
$prize_arr = array(
'2' => 配列('id'=>2,'v'=>10)、
'3' => 配列('id'=>3,'v'=>20)、
'4' => 配列('id'=>4,'v'=>5)、
'5' => 配列('id'=>5,'v'=>5)、
'6' => 配列('id'=>6,'v'=>20)、
'7' => 配列('id'=>7,'v'=>2)、
'8' => 配列('id'=>8,'v'=>3)、
'9' => 配列('id'=>9,'v'=>20)、
'10' => 配列('id'=>10,'v'=>0)、
'11' => 配列('id'=>11,'v'=>10)、
'12' => 配列('id'=>12,'v'=>5)、
);
foreach ($prize_arr as $key => $val) {
$arr[$val['id']] = $val['v'];
}
$sum = getRand($arr); //確率に基づいて特典 ID を取得し、合計ポイントを取得します
//サイコロポイントを割り当てる
$arrs = 配列(
'2' => 配列(配列(1,1))、
'3' => 配列(配列(1,2))、
'4' => 配列(配列(1,3),配列(2,2)),
'5' => 配列(配列(1,4),配列(2,3)),
'6' => 配列(配列(1,5),配列(2,4),配列(3,3)),
'7' => 配列(配列(1,6),配列(2,7),配列(3,4)),
'8' => 配列(配列(2,6),配列(3,5),配列(4,4)),
'9' => 配列(配列(3,6),配列(4,5)),
'10' => 配列(配列(4,6),配列(5,5)),
'11' => 配列(配列(5,6))、
'12' => 配列(配列(6,6))
);
$arr_rs = $arrs[$sum]
$i = array_rand($arr_rs);// 配列をランダムに取得します
$arr_a = $arr_rs[$i];
shuffle($arr_a);// 順序をシャッフルします
エコー json_encode($arr_a);
関数 getRand() は確率を計算するために使用されます
コードをコピーします
コードは次のとおりです:
//確率を計算する
関数 getRand($proArr) {
$結果 = '';
//確率配列の合計確率精度
$proSum = array_sum($proArr);
//確率配列ループ
foreach ($proArr as $key => $proCur) {
$randNum = mt_rand(1, $proSum);
If ($randNum
$result = $key;
休憩
} else {
$proSum -= $proCur;
}
}
設定を解除 ($proArr)
$result を返します。
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/937083.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/937083.html
技術記事
jQuery+PHPで実装したサイコロ抽選ゲームの例 この記事では、jQuery+PHPで実装したサイコロ抽選ゲームの詳細な手順を説明します。参考のためにみんなで共有してください。詳細な分析...