パンプキンスパイスラテ

IT系のことが多めの日記帳です

オブジェクト指向にしようとして挫折

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."]&nbsp;&nbsp;[".$reel_2."]&nbsp;&nbsp;[".$reel_3."]&nbsp;&nbsp;");
			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>