我,我只是在学习PHP,作为一个自己的项目我正在开发一个小游戏,其中用户猜测从1到100的数字。 如果他是正确的,那么它显示相同,否则它显示答案。 现在我将此限制为三次尝试,我希望用户在第三次尝试后看到“你的3个尝试结束”的消息。 连同“再试一次”按钮会破坏会话并允许他重新开始游戏。请帮助我。
代码如下:
<?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');
}
?>
答案 0 :(得分:1)
你做了所有这些并且不知道如何添加1行?
if ($_SESSION["attempts"] < 3) {
...
} else {
echo '3 tries are over, game over.';
session_destroy();
...
}
答案 1 :(得分:0)
如果有会话,请不要在每次提交时取消设置会话。这样你就永远不会计算尝试,因为它们总是由未设置重置。
以下是您的代码,其中未设置已注释,并添加了“3次尝试”消息。
$猜= $ _ POST [ '猜']; $提交= $ _ POST [ '提交'];在session_start();
if(isset($ submit)){if(!isset($ _ SESSION [“attempts”])) $ _SESSION [“attempts”] = 0;
if($ _SESSION [“attempts”]&lt; 3){
if($ guess&lt; 1 || $ guess&gt; 100){echo“你的猜测必须是一个数字 1和100“;
} elseif($ guess!= $ rand){echo“不正确,正确答案 是“。$ rand; $ _SESSION [”尝试“] = $ _SESSION [”尝试“] + 1;
}
else {echo“这是正确的!”;
}
}其他{
回声“你的3次尝试已经结束”;}
}其他{
//未设置($ _ SESSION [ “尝试”]); include_once( 'game.php');
}