<?php const MAX_NUMBER = 100; function main() { $theNumber = getRandomInt(MAX_NUMBER); $count = 0; while (true) { $count++; printPrompt($count); $num = readUserAnswer(); if (is_null($num) || $num < 1 || $num > MAX_NUMBER) { echo "1以上" . MAX_NUMBER . "以下ã®æ•´æ•°ã§ã¯ãªã„ã®ã§ã€ãƒã‚ºãƒ¬ã§ã™ã€‚\n"; } else if ($num == $theNumber) { printSuccessMessage($count, $theNumber); break; } else if ($num < $theNumber) { echo "å°ã•ã™ãŽã¾ã™ã€‚\n"; } else { echo "大ãã™ãŽã¾ã™ã€‚\n"; } } } function getRandomInt($n) { return rand(1, $n); } function printPrompt($count) { if ($count == 1) { echo "数当ã¦ã‚²ãƒ¼ãƒ ã§ã™ã€‚"; } echo "1以上" . MAX_NUMBER . "以下ã®æ•´æ•°ã‚’入力ã—ã¦ãã ã•ã„(" . $count . "回目): "; } function readUserAnswer() { $answer = trim(fgets(STDIN)); return is_numeric($answer) ? intval($answer) : null; } function printSuccessMessage($count, $answer) { $mes1 = "ãŠã‚ã§ã¨ã†ã”ã–ã„ã¾ã™ã€‚「" . $answer . "ã€ãŒå½“ãŸã‚Šã§ã™ã€‚"; if ($count == 1) { echo "ãƒ“ãƒ³ã‚´ï¼ $mes1\n"; echo "一発ã§å½“ãŸã‚Šã¾ã—ãŸã。ã™ãã«å®ãã˜ã‚’è²·ã„ã«è¡Œãã¾ã—ょã†ï¼\n"; } else { $adverb = $count > 7 ? "ヤット" : ""; echo "{$mes1}{$count}回目ã§{$adverb}当ãŸã‚Šã¾ã—ãŸã。\n"; } } main(); ?>