-2

私はちょうど PHP を学んでいて、自分自身のプロジェクトとして、ユーザーが 1 から 100 までの数字を推測する小さなゲームを開発しています。彼が正しければ、同じか、そうでなければ答えを示します。これを 3 回の試行に制限し、3 回目の試行後に「Your 3 Tries are over」というメッセージをユーザーに表示するようにします。セッションを破棄してゲームを再開できるようにする「再試行」ボタンとともに。同じことで私を助けてください。

コードは以下のとおりです。

<?php

$rand= rand(1,100);

$guess=$_POST['guess'];
$submit=$_POST['submit'];
session_start();

if(isset($submit)) {

if (!isset($_SESSION["attempts"])) $_SESSION["attempts"] = 0;

if ($_SESSION["attempts"] < 3) {

    if($guess<1 ||$guess>100) {
        echo "your guess must be a number between 1 and 100";
    }
    elseif($guess!=$rand)
    {
        echo "Incorrect,the correct answer is".$rand;
        $_SESSION["attempts"] = $_SESSION["attempts"] + 1;
    }
    else
    {
        echo "That is correct!";
    }
}

}
else
{
    unset($_SESSION["attempts"]);
    include_once('game.php');
}

?>
4

2 に答える 2

1

あなたはそれをすべて作ったのに、1行追加する方法がわかりませんか?

if ($_SESSION["attempts"] < 3) {
    ...
} else {
    echo '3 tries are over, game over.';
    session_destroy();
    ...
}
于 2012-08-13T11:10:11.190 に答える
0

セッションがある場合は、送信ごとにセッションを設定解除しないでください。そうすれば、未設定によって常にリセットされるため、試行をカウントすることはできません。

これは、未設定がコメントアウトされ、「3回の試行」メッセージが追加されたコードバイトです。

$guess=$_POST['推測']; $submit=$_POST['submit']; session_start();

if(isset($submit)) { if (!isset($_SESSION["試行"])) $_SESSION["試行"] = 0;

if ($_SESSION["試行回数"] < 3) {

if($guess<1 ||$guess>100) { echo "あなたの推測は 1 から 100 の間の数値でなければなりません";

} elseif($guess!=$rand) { echo "不正解です。正解は".$rand; $_SESSION["試行回数"] = $_SESSION["試行回数"] + 1;

}

else { echo "その通りです!";

}

} そうしないと {

echo "3 回の試行が終了しました";

}

} そうしないと{

//unset($_SESSION["試行回数"]); include_once('game.php');

}

于 2012-08-13T11:09:47.917 に答える