【发布时间】:2018-12-21 21:23:20
【问题描述】:
我有十个问题和答案。我使用arry_rand 和shuffle 来随机化问题并随机排列答案。
我如何确保这些问题只被问到一次?在我遍历所有十个问题后,我希望游戏结束。谢谢你的帮助!:)
这是我目前所拥有的。
include ("inc/questions.php");
session_start();
$pageTitle = "Math Quiz: Addition";
$_SESSION["score"]= 0;
if ((isset($_SESSION["score"]) && $choices[0]["correctAnswer"])){
$_SESSION["score"] += 1;
}
echo $_SESSION["score"];
$rand = array_rand($questions,1);
shuffle($questions);
$choices = [
$questions[0]["correctAnswer"],
$questions[0]["firstIncorrectAnswer"],
$questions[0]["secondIncorrectAnswer"],
];
shuffle($choices);
if ((!isset($_SESSION["counter"]) || $_SESSION["counter"] >9)) {
$_SESSION["counter"] = 1;
} else {
$_SESSION["counter"] += 1;
}
?>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php echo "$pageTitle";?> </title>
<link href='https://fonts.googleapis.com/css?family=Playfair+Display:400,400italic,700,700italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<div class="container">
<div id="quiz-box">
<p class="breadcrumbs"> <?php echo "Question Number " . $_SESSION["counter"] . " of " . "10"; ?>
<p class="quiz"><?php echo "What is " . $questions[0]["leftAdder"] . " + " . $questions[0]["rightAdder"];?></p>
<form action="index.php" method="post">
<input type="hidden" name="id" value="0"/>
<input type="submit" class="btn" name="answer1" value="<?php echo $choices[0];?>" />
<input type="submit" class="btn" name="answer2" value="<?php echo $choices[1];?>" />
<input type="submit" class="btn" name="answer3" value="<?php echo $choices[2];?>" />
</form>
</div>
</div>
</body>
</html>
这里有一系列问题和答案:
$questions[] =
[
"leftAdder" => 3,
"rightAdder" => 4,
"correctAnswer" => 7,
"firstIncorrectAnswer" => 8,
"secondIncorrectAnswer" => 10,
];
$questions[] =
[
"leftAdder" => 16,
"rightAdder" => 32,
"correctAnswer" => 48,
"firstIncorrectAnswer" => 52,
"secondIncorrectAnswer" => 61,
];
$questions[] =
[
"leftAdder" => 45,
"rightAdder" => 12,
"correctAnswer" => 57,
"firstIncorrectAnswer" => 63,
"secondIncorrectAnswer" => 55,
];
$questions[] =
[
"leftAdder" => 42,
"rightAdder" => 18,
"correctAnswer" => 60,
"firstIncorrectAnswer" => 69,
"secondIncorrectAnswer" => 57
];
$questions[] =
[
"leftAdder" => 96,
"rightAdder" => 20,
"correctAnswer" => 116,
"firstIncorrectAnswer" => 120,
"secondIncorrectAnswer" => 110
];
$questions[] =
[
"leftAdder" => 44,
"rightAdder" => 85,
"correctAnswer" => 129,
"firstIncorrectAnswer" => 132,
"secondIncorrectAnswer" => 126
];
$questions[] =
[
"leftAdder" => 51,
"rightAdder" => 35,
"correctAnswer" => 86,
"firstIncorrectAnswer" => 96,
"secondIncorrectAnswer" => 82
];
$questions[] =
[
"leftAdder" => 5,
"rightAdder" => 61,
"correctAnswer" => 66,
"firstIncorrectAnswer" => 65,
"secondIncorrectAnswer" => 74
];
$questions[] =
[
"leftAdder" => 26,
"rightAdder" => 19,
"correctAnswer" => 45,
"firstIncorrectAnswer" => 40,
"secondIncorrectAnswer" => 39
];
$questions[] =
[
"leftAdder" => 26,
"rightAdder" => 35,
"correctAnswer" => 61,
"firstIncorrectAnswer" => 59,
"secondIncorrectAnswer" => 51
];
【问题讨论】: