<?php 
	#ini_set("session.cookie_lifetime", 24*60*60);
	#ini_set("session.gc_maxlifetime", 24*60*60);
	session_start(); 
?>
<?php
	$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
	if (empty($_SESSION["WORDLIST"])){
		$fp = fopen("$DOCUMENT_ROOT/../wordlist.txt", "r");
		while (!feof($fp))
			$_SESSION["WORDLIST"][] = trim(fgets($fp));
		$_SESSION["COUNT"] = count($_SESSION["WORDLIST"]);
		$_SESSION["USEDLIST"] = array();
		$_SESSION["LASTWORD"] = "";
	}
	function print_result($word){
		echo '<form action="siritori.php" method="post">';
		echo "<h3>コンピュータ : $word </h3>";
		echo 'あなた : <input type="text" name="str">';
		echo '</form>';
	}
?>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>英単語しりとり</title>
	</head>
	<body onLoad="document.forms[0].str.focus()">
	<center>
	<h1>英単語しりとりゲーム:</h1><h3>英単語を構成できる文字列を入力してください。<br>
	同じ文字列を入力したら負けとなります。</h3><br>
	
	<?php
		$word = trim($_POST["str"]);
		$last_alph = $_SESSION["LASTWORD"][strlen($_SESSION["LASTWORD"]) - 1];
		if (empty($word)){ 
			$r = rand() % 10;
			if ($r < 5){
				echo "<h2>先攻:あなた</h2><p>\n";
				echo "最初の文字を決めてください";
				$_SESSION["LASTWORD"] = "0";
				print_result("");
			}else{
				echo "<h2>先攻:コンピュータ</h2><p>\n";
				$r = rand() % $_SESSION["COUNT"];
				$w = trim($_SESSION["WORDLIST"][$r]);
				$_SESSION["LASTWORD"] = $w;
				$_SESSION["USEDLIST"][] = $w;
				$_SESSION["USED_AUTO"][] = $w;
				print_result($w);
			}
		}elseif (in_array($word, $_SESSION["USEDLIST"])){
			echo "<strong>入力済み、あなたの負けた！</strong><p>";
			if (in_array($word, $_SESSION["USED_COMPUTER"])){
				$t = array_search($word, $_SESSION["USED_COMPUTER"]) + 1;
				echo '"'.$word.'"'." がコンピュータは$t 回目に使った。<br>";
			}else{
				$t = array_search($word, $_SESSION["USED_USER"]) + 1;
				echo '"'.$word.'"'." があなたは$t 回目に使った。<br>";
			}
			echo "今度のしりとりで ".count($_SESSION["USEDLIST"])." 個の単語使用した。";
			echo "<h5>再開するにはブラウザを閉じてからにしてください。</h5><br>";
		}elseif ($word[0] != $last_alph && $last_alph[0] != "0"){
			echo "しりとりルール違反のため、あなたの負けだ！<p>";
			echo "今度のしりとりで ".count($_SESSION["USEDLIST"])." 個の単語使用した。";
			echo "<h5>再開するにはブラウザを閉じてからにしてください。</h5><br>";
		}elseif (!in_array($word, $_SESSION["WORDLIST"]) && $last_alph[0] != "0"){
			echo "単語存在しません。再度入力してください。";
			print_result($_SESSION["LASTWORD"]);
		}else{
			$_SESSION["LASTWORD"] = $word;
			$_SESSION["USEDLIST"][] = $word;
			$_SESSION["USED_USER"][] = $word;
			for ($i=0; $i<$_SESSION["COUNT"]; $i++){
					$auto = $_SESSION["WORDLIST"][$i];
					if ($auto[0] == $word[strlen($word)-1] && !in_array($auto, $_SESSION["USEDLIST"])){
						$_SESSION["LASTWORD"] = $auto;
						$_SESSION["USEDLIST"][] = $auto;
						$_SESSION["USED_COMPUTER"][] = $auto;
						print_result($auto);
						break;
					}
			}
			if ($i == $_SESSION["COUNT"]){
				echo "あなたは偉い、すべての単語を覚えて、コンピュータの負けだ。<br>";
				echo "今度のしりとりで ".$i." 個の単語使用した。";
				echo "<h5>再開するにはブラウザを閉じてからにしてください。</h5><br>";
			}
		}
	?>
	</center>
	</body>
</html>
