1 / 22

英単語しりとり

英単語しりとり. 06t4071f 林華. 1.仕様. 英単語辞書用意 乱数より、先攻と後攻を決定 辞書にない単語を入力されたら、再入力 既に入力した単語が入力されたら、メッセージを出し、終了 すべての単語が使い終わったら、メッセージを出力、終了. 2、辞書の読み込み. $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; if (empty($_SESSION["WORDLIST"])){ $fp = fopen("$DOCUMENT_ROOT/../wordlist.txt", "r");

kirk-moon
Download Presentation

英単語しりとり

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 英単語しりとり 06t4071f 林華

  2. 1.仕様 • 英単語辞書用意 • 乱数より、先攻と後攻を決定 • 辞書にない単語を入力されたら、再入力 • 既に入力した単語が入力されたら、メッセージを出し、終了 • すべての単語が使い終わったら、メッセージを出力、終了

  3. 2、辞書の読み込み $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"] = ""; }

  4. 3.先攻を決める 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); }

  5. 4.入力済みの場合 }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>"; echo "今度のしりとりで ".count($_SESSION["USEDLIST"])." 個の単語使用した。"; }else{ $t = array_search($word, $_SESSION["USED_USER"])+1; echo '"'.$word.'"'." があなたは$t 回目に使った。<br>"; echo "今度のしりとりで ".count($_SESSION["USEDLIST"])." 個の単語使用した。"; } }

  6. 5.しりとりルール違反の場合 $word = trim($_POST["str"]); $last_alph = $_SESSION["LASTWORD"] [strlen($_SESSION["LASTWORD"]) - 1]; }elseif ($word[0] != $last_alph && $last_alph[0] != "0") echo "しりとりルール違反のため、あなたの負けだ!";

  7. 6.存在しない単語の場合 elseif (!in_array($word, $_SESSION["WORDLIST"]) && $last_alph[0] != "0"){ echo "単語存在しません。再度入力してください。"; print_result($_SESSION["LASTWORD"]); }

  8. 7.正しい単語が入力された場合 $_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; } }

  9. 8.コンピュータの負け if ($i == $_SESSION["COUNT"]){ echo "あなたは偉い、すべての単語を覚えて、コンピュータの負けだ。<br>"; echo "今度のしりとりで ".$i." 個の単語使用した。"; }

  10. 実行結果1

  11. 実行結果2

  12. 実行結果3

  13. 実行結果4

  14. 実行結果5

  15. 実行結果6

  16. 実行結果7

  17. 実行結果8

  18. 実行結果9

  19. 実行結果10

  20. 実行結果11

  21. 実行結果12

  22. 実行結果13

More Related