実現したいこと
phpのジャンケンゲーム
前提
動作はうまく動いています。
クラス設計を勉強しているのですが、
もっとこうしたらいいなどアドバイス頂けたら嬉しいです。
該当のソースコード
<?php class JankenGame { public function janken_game($user_hand, $pc_hand) { if ($user_hand === $pc_hand) { $result = 'あいこ'; }elseif ($user_hand === 'グー' && $pc_hand === 'チョキ' || $user_hand === 'チョキ' && $pc_hand === 'パー' || $user_hand === 'パー' && $pc_hand === 'グー' ) { $result = 'かち!'; }else { $result = '負け!'; } return $result; } } <?php class Hand { private $pc_hand; public function __construct() { $this->pc_hand = $this->pc_hand(); } private function pc_hand() { $hands = ['グー', 'チョキ', 'パー']; $random_key = array_rand($hands); return $hands[$random_key]; } public function get_pc_hand() { return $this->pc_hand; } } <?php require_once './classes/JankenGame.php'; require_once './classes/Hand.php'; $game = new JankenGame(); $pc_hand = new Hand(); $random_pc_hand = $pc_hand->get_pc_hand(); $result = $game->janken_game($_POST['user_hand'], $random_pc_hand); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ジャンケンゲーム</title> </head> <body> <h1>ジャンケンゲーム</h1> <p>あなたの手:<?php echo $_POST['user_hand']; ?></p> <p>コンピューターの手:<?php echo $random_pc_hand; ?></p> <p>結果:<?php echo $result; ?></p> <form method="post"> <input type="radio" name="user_hand" value="グー">グー <input type="radio" name="user_hand" value="チョキ">チョキ <input type="radio" name="user_hand" value="パー">パー <input type="submit" value="勝負"> </form> </body> </html>
0 コメント