2016-08-30 8 views
-2

私はハングマンゲームを作ろうとしています。配列の中にいくつかの単語があり、そのうちの1つが選択されると、その単語の中にいくつの文字があるのか​​を数えて、スペースやダッシュを作成できるようにしたいのです。また、単語の各文字を画面に表示する効率的な方法が必要です。それぞれの手紙は目に見えないものとするため、手紙が推測されると目に見えるようになります。あなたがstrlen()またはマルチバイト環境でmb_strlen()を使用することができ、文字列中の文字の数をカウントする単語の文字数をカウントするPHP(HANGMAN)

<html> 
<head> 
<title> Hangman </title> 
</head> 
<body> 
<h1> Hangman <h1> 
<?php 
session_start(); 
$maxAttempts = 6; 
$letters = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o', 
'p','q','r','s','t','u','v','w','x','y','z'); 
?> 
<form name="lettersubmit" method="post" action="Hangman.php" > 
<input name="letterguess" type= "text" value=""> 
<input name="submit" type="submit" value="Guess a Letter!"><br> 
<p> Guesses Remaining <p> 
<input name="triesRemaining" type="text" value="<?php print("$maxAttempts"); ?>"> 
</form> 
<?php 
$letterguess = $_POST["letterguess"]; 

if($letterguess= $word){ 
    echo ("correct"); 
} 
if(!isset($_POST["submit"])){ 
    $words = array (
    "giants", 
    "triangle", 
    "particle", 
    "birdhouse", 
    "minimum", 
    "flood", 

    $word = $words[array_rand($words)]; 
); 
} 
if(isset($_POST["submit"])){ 
    $maxAttempts--; 
} 

$word = $words[array_rand($words)]; 
    echo $words[array_rand($words)]; 
?> 
</body> 
</html> 
+1

あなたは今まで何をしているあなたのコードを共有しています。 – Pirate

+0

ようこそ。何がどのように求められるかを確認するには、[help]をご覧ください。ヒント:ポストコードと努力。 – mplungjan

+0

よろしくお願いします。 – Zachary

答えて

0

プログラムはまだ初期段階です。いくつかの値を保存する必要があります。そうしないと、機能しません。マニュアルのsession referenceを参照してください。

あなたの実際の問題はこれで解決することができます:

// these both must be stored (see php session) 
$letters_guessed_correct = array('g', 's', 'a'); 
$word = "giants"; // the current word which is searched for 

foreach(str_split($word) as $char) { 
    if (in_array($char, $letters_guessed_correct, true)) { 
     echo $char; 
    } else { 
     echo '_'; 
    } 
} 

この意志出力

g_a__s 
関連する問題