前提・実現したいこと
phpを勉強中です。
PHPで20連続ガチャを作っています。4回目は必ずSR、10回目は必ずR以上、
20回目は必ずURが出る仕様.
ガチャ基本形コードを参考にシンプルに作成したい.
発生している問題
一応、システムは動くようになったのですが、講師の方からもっとシンプルなコードで出来ると言われました.
該当のソースコード
<?php $gacha = array( 'C' => '20',//数字は確率の整数($val) 'UC' => '40',//左側$rarity 'R' => '60',//10回目はR以上 'SR' => '80',//4回目は必ずSR 'UR' => '100',//20回目は必ずUR。 ); for($i = 1; $i <= 20; $i++){ $hit = rand(1,100); foreach ($gacha as $rarity => $val){//回転しすぎ。 if($i == 4){//4回目の時はSR出す,4回転中。 echo 'SR<br>' ; break; }elseif($i == 10){//10回目はUC以上 $hit = rand($gacha['UC'] + 1,100); if($hit <= $val){ echo $rarity.'<br>'; break; } }elseif($i == 20){//20回目はUR出す echo 'UR<br>'; break; }else{ echo $rarity.'<br>'; break; } } } ### 試したこと 講師の方から $hit = rand(1,100); foreach ($gacha as $rarity => $val){ if($hit <= $val){ echo $rarity; break; } }//ガチャ基本形コードのどこかをelseに入れること,if/elseif()内をもう一度見直してとヒント頂いたのですが,よく分かりませんでした.分かりませんと講師に行ってください。
回答1件
あなたの回答
tips
プレビュー