オブジェクト指向にしようとして挫折
PHPでスロットゲームを作るよ
以前作成したスロットゲームをオブジェクト指向で書き直してみようとして早速挫折。うーむ、いまいちオブジェクト指向を理解していなかったみたい。単純に処理部分をClassに置き換えてみたんだけど、どうもうまく動かない。もうちっとシンプルなものからオブジェクト指向を勉強しなきゃ。
覚書のため、失敗ソースを晒すよ。
まだ途中なのできちんと動きません。
<?php //セッションスタート session_start(); //初期状態or再スタート->所持金1000円 if(!isset($_SESSION['money']) || !isset($_POST['start'])){ $_SESSION['money'] = 1000; } //初期化 $message = Array(); $buttonName = 'start'; $buttonValue = 'スロットをまわす!'; Class Slot{ public $money; public $message; function Judgement(){ $money = $this -> money; $message = Array(); if($money > 0){ $money = $this -> money; $money -= 100; $reel_1 = rand(1,4); $reel_2 = rand(1,4); $reel_3 = rand(1,4); array_push($message,"[".$reel_1."] [".$reel_2."] [".$reel_3."] "); if($reel_1==$reel_2 && $reel_2==$reel_3){ array_push($message,"当た〜り〜!!500円ゲット!<br /><br />"); $money += 500; }else{ array_push($message,"・・・残念!<br /><br />"); } }else{ array_push($message,"お金足りないよ><<br /><br />"); } print_r($message); echo $money; $_SESSION['money'] = $money; } } if(isset($_POST['start'])){ $obj = new Slot(); $obj -> money = $_SESSION['money']; $obj -> message = ''; $obj -> Judgement(); } ?> <html> <head> <title>パンプキンスパイスロット</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <p><a href="/test/">テストトップへ戻る</a></p> <h1>パンプキンスパイスロット</h1> <p>スロットは一回100円です。</p> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="submit" name="<?php echo $buttonName; ?>" value="<?php echo $buttonValue; ?>" /> </form> <?php echo '所持金:'.$_SESSION['money'].'円'; foreach($message as $m){ echo $m.PHP_EOL; } ?> </body> </html>