前提・実現したいこと
エラーの解決方法がわかりません。
発生している問題・エラーメッセージ
Parse error: syntax error, unexpected end of file in /Applications/MAMP/htdocs/nampa_game/index.php on line 203
該当のソースコード
<?php ini_set('log_errors','on'); ini_set('error_log','php.log'); session_start(); // デバッグフラグ $debug_flg = true; function debug($str){ global $debug_flg; if($debug_flg){ error_log('デバッグ:'.$str); } } // エラーメッセージ define('NONAME','なまえが入力されていません。'); define('NOAGE','ねんれいが入力されていません。'); define('REAGE','正しく入力してください'); define('MAXLEN','6文字以内で入力してください'); define('HALF','半角で入力してください'); // エラーメッセージ格納用 $err_msg = array(); // 女の子格納用 $womans = array(); // 男のセリフクラス class Serif{ const EAT = 1; const PARK = 2; const MOVIE = 3; const HOTEL = 4; } // 女の返事クラス( ○ ) class ReplyOk{ const EAT = '行きましょ!何食べよっかな〜(*´꒳`*)'; const PARK= '行く行く!どこの遊園地行こうかな〜(*´꒳`*)'; const MOVIE= '行きたい!ちょうど見たい映画あったんだよね〜(*´꒳`*)'; const HOTEL= 'うん。行きましょ❤️'; } //男の喜びクラス class Happy{ const EAT = 'なんでもいいよ!全部おごるよー!'; const PARK= 'どこでもいいよ!行きたいところ連れてくよ!'; const MOVIE= 'おっ!じゃあそれ見に行こ〜'; const HOTEL= 'あそこにホテルあるね!早く行こ!'; } // 女の返事クラス( ✖️ ) class ReplyNo{ const EAT = '一緒にご飯?行くわけないでしょ!!さよなら。'; const PARK= '一緒に遊園地?一人で行ってこい!!さよなら。'; const MOVIE= '映画館?映画見る気分じゃないんだけどー。さよなら。'; const HOTEL= 'ホテル!?気持ち悪っ!さよなら。'; } // 男の悲しみクラス class Sad{ const EAT = 'ご飯くらい行ってくれてもいいじゃん。。。泣'; const PARK= 'ひっ、一人では行きたくないよ。。。泣'; const MOVIE= '行きたくないだけじゃん。。。泣'; const HOTEL= 'さすがにホテルは無理か。。。泣'; } // 抽象クラス(人クラス) abstract class Human{ protected $name; protected $img; public function __construct($name, $age, $img){ $this->name = $name; $this->img = $img; $this->age = $age; } public function setName($str){ $this->name = $str; } public function getName(){ return $this->name; } public function setAge($num){ $this->age = $num; } public function getAge(){ return $this->age; } public function getImg(){ return $this->img; } } // 主人公クラス class Hero extends Human{ public function __construct($name, $age, $img){ parent::__construct($name, $age, $img); } public function attack($targetWoman, $method){ switch($method){ case Serif::EAT : History::set($this->getName().':'.$targetWoman->getName().'ちゃーん、一緒にご飯行かないー?' ,2); break; case Serif::PARK : History::set($this->getName().':'.$targetWoman->getName().'ちゃーん、一緒に遊園地行かないー?' ,2); break; case Serif::MOVIE : History::set($this->getName().':'.$targetWoman->getName().'ちゃーん、一緒に映画行かないー?' ,2); break; case Serif::HOTEL : History::set($this->getName().':'.$targetWoman->getName().'ちゃーん、一緒にホテル行かないー?' ,2); break; } } } // 女クラス class Woman extends Human{ private $level; public function __construct($name, $age, $img, $level){ parent::__construct($name, $age, $img); $this->level = $level; } public function getLevel(){ return $this->level; } public function Reply($targetMan, $method){ switch($method){ case Serif::EAT : if(!mt_rand(0, $this->getLevel())){ History::set($this->getName().':'.ReplyOk::EAT, 3); History::set($targetMan->getName().':'.Happy::EAT, 4); $_SESSION['success'] += 1; } else { History::set($this->getName().':'.ReplyNo::EAT, 3); History::set($targetMan->getName().':'.Sad::EAT, 4); } break; case Serif::PARK : if(!mt_rand(0, $this->getLevel() * 5)){ History::set($this->getName().':'.ReplyOk::PARK, 3); History::set($targetMan->getName().':'.appy::PARK, 4); $_SESSION['success'] += 1; } else { History::set($this->getName().':'.ReplyNo::PARK, 3); History::set($targetMan->getName().':'.Sad::PARK, 4); } break; case Serif::MOVIE : if(!mt_rand(0, $tzhis->getLevel() * 3)){ History::set($this->getName().':'.ReplyOk::MOVIE, 3); History::set($targetMan->getName().':'.Happy::MOVIE, 4); $_SESSION['success'] += 1; } else { History::set($this->getName().':'.ReplyNo::MOVIE, 3); History::set($targetMan->getName().':'.Sad::MOVIE, 4); } break; case Serif::HOTEL : if(!mt_rand(0, $this->getLevel() * 10)){ History::set($this->getName().':'.ReplyOk::HOTEL, 3); History::set($targetMan->getName().':'.Happy::HOTEL, 4); $_SESSION['success'] += 1; } else { History::set($this->getName().':'.ReplyNo::HOTEL, 3); History::set($targetMan->getName().':'.Sad::HOTEL, 4); } break; } } } // インターフェース interface HistoryInterface{ public static function set($str, $num); public static function clear(); } // 履歴管理用クラス class History implements HistoryInterface{ public static function set($str, $num){ if(empty($_SESSION['history'])) $_SESSION['history'] = ''; $_SESSION['history'][$num] = $str; } public static function clear(){ unset($_SESSION['history']); } } // インスタンス生成 $man = new Hero('','','img/mon.jpg'); $womans[] = new Woman('けいこ',(int)mt_rand(20,35),'img/keiko.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('のぞみ',(int)mt_rand(20,35),'img/nozomi.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('かすみ',(int)mt_rand(20,35),'img/kasumi.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('すず',(int)mt_rand(20,35),'img/suzu.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('まさみ',(int)mt_rand(20,35),'img/masami.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('さとみ',(int)mt_rand(20,35),'img/satomi.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('ゆい',(int)mt_rand(20,35),'img/yui.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('みれい',(int)mt_rand(20,35),'img/mirei.jpg',(int)mt_rand(1,100)); $womans[] = new Woman('たお',(int)mt_rand(20,35),'img/tao.png',(int)mt_rand(1,100)); $womans[] = new Woman('つばさ',(int)mt_rand(20,35),'img/tubasa.jpg',(int)mt_rand(1,100)); function createWoman(){ global $womans; $woman = $womans[mt_rand(0,9)]; History::set($woman->getName().'が歩いているよ!', 0); History::set('どうする?', 1); $_SESSION['woman'] = $woman; } function createMan(){ global $man; $_SESSION['man'] = $man; } function init(){ History::clear(); $_SESSION['count'] = 10; $_SESSION['success'] = 0; createMan(); createWoman(); } function gameOver(){ $_SESSION = array(); $_POST = array(); } ?>
試したこと
エラーメッセージにあるように203行付近の誤字脱字を確認しましたが、わかりませんでした。
補足情報(FW/ツールのバージョンなど)
PHP 7.1.33(最新のバージョンだと思います。)
common.php, head.php, footer.phpも必要であれば追加します。(おそらく誤字脱字だと思うので今は載せてありません)
回答2件
あなたの回答
tips
プレビュー