いつもお世話になっております。
rand()関数を使ったシュミレーションを行いたいと考えております。
①勝負の回数は1セット100回を50セット
②勝てば10coinがもらえ、負ければ10coin失う
③負けが連続で3回続いたら、またはcoinが100coinを超えたらその時点で1セット終了
④1セット100回の勝負を50セット繰り返した結果の勝ち回数・負け回数を表示したい
内容は以上となります。
php
1<?php 2 3$coin = 0;//それぞれの初期値を設定 4$renzokumake = 0; 5$katigame = 0; 6$makegame = 0; 7$i = 0; 8 9for($i = 0; $i <= 49; $i++;){//50セット 10 11for($i = 0; $i <= 69; $i++){//70回勝負 12$drop = rand(1, 2);//勝ちは1、負けは2 13while($renzokumake > 3){//連続負けが3回超えたら終了 14while($coin >= 100){//coinが100を超えたら終了 15 16if($drop == 1){//勝ちの時は10coin増え、負けの時は10coin減る 17 $coin = $coin + 10; 18}else{ 19 $coin = $coin - 10; 20} 21 22if($drop == 1){//勝ちの時は0のまま、負けの時は1増える 23 $renzokumake = 0; 24}else{ 25 $renzokumake = $renzokumake++; 26} 27 28if($coin > 100){//coinが100を超えたときにはそのセットを強制終了、$katigameのカウントが1増える 29 $katigame++; 30}elseif($renzokumake == 3){//負けが連続3回続いた時もそのセットを終了、$makegameのカウントが1増える 31 $renzokumake++; 32}else{ 33 34} 35 36echo $katigame; 37echo "<br />";//50セット繰り返した後の最終的な$katigameの数と$makegameの数を表示したい 38echo $makegame; 39} 40} 41 42} 43} 44?>
実行結果
という感じになっております。
26
24
のように出力できればと考えております。
なお、$coinのランダム表示、$renzokumakeのランダム表示は成功しており、
for文の連続の書き方、また$katigame・$makegameの書き方が悪いのではないかという推論までは
立てている次第です。
毎度進歩もなく初歩的な質問でありましたら大変恐縮ですが、
もしお時間ありましたらご教示いただければ幸いです。
php
1修正① 2<?php 3 4$zandaka = 0;//初期値をそれぞれ設定 5$renzokumake = 0; 6$katigame = 100; 7$makegame = 0; 8 9 10for($i = 0; $i <= 49; $i++){ 11 12for($i = 0; $i <= 69; $i++){ 13$drop = rand(1, 2);//バンカー1、プレイヤー2 14 15while($renzokumake < 3){//連続負けが3回超えたら終了 16while($zandaka <= 100){//残高が100を超えたら終了 17 18if($drop == 1){ 19 $zandaka = $zandaka - 15; 20}else{ 21 $zandaka = $zandaka + 15; 22} 23 24if($drop == 1){ 25 $renzokumake = $renzokumake++; 26}else{ 27 $renzokumake = 0; 28} 29 30if($zandaka > 100){ 31 $katigame++; 32}elseif($renzokumake == 3){ 33 $renzokumake++; 34}else{ 35 36} 37 38 39 40} 41} 42echo $katigame; 43echo "<br />"; 44echo $makegame; 45} 46} 47?>
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\casino02.php on line 17
回答3件
あなたの回答
tips
プレビュー