用h5做一个答题小游戏
时间: 2023-06-17 22:03:39 浏览: 107
好的,下面是一个简单的示例:
首先,我们需要准备一些题目和答案的数据,可以使用一个数组来存储,例如:
```javascript
var questions = [
{
question: "2 + 2 = ?",
answer: "4"
},
{
question: "What is the capital of France?",
answer: "Paris"
},
{
question: "What is the largest planet in our solar system?",
answer: "Jupiter"
}
];
```
然后,我们需要创建一个页面来显示题目和答案,可以使用一些HTML和CSS来布局和样式化,例如:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Quiz Game</title>
<style>
body {
font-family: Arial, sans-serif;
}
h1 {
text-align: center;
}
#question {
font-size: 24px;
font-weight: bold;
margin-top: 50px;
text-align: center;
}
#answer {
font-size: 18px;
margin-top: 20px;
text-align: center;
}
#buttons {
margin-top: 50px;
text-align: center;
}
button {
font-size: 18px;
padding: 10px 20px;
margin-right: 10px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background-color: #3E8E41;
}
</style>
</head>
<body>
<h1>Quiz Game</h1>
<div id="question"></div>
<div id="answer"></div>
<div id="buttons">
<button id="btn-true">True</button>
<button id="btn-false">False</button>
</div>
<script src="quiz.js"></script>
</body>
</html>
```
在这个页面中,我们有一个标题,一个显示题目的 `div`,一个显示答案的 `div`,和两个按钮。按钮的点击事件将在 JavaScript 中处理。
接下来,我们需要编写 JavaScript 来实现游戏逻辑。我们需要从数组中随机选择一个问题,显示问题的文本,并等待用户点击按钮。如果用户点击了“True”或“False”按钮,我们需要检查用户选择的答案是否与正确答案匹配,然后显示相应的消息。
```javascript
var currentIndex = 0;
var score = 0;
function showQuestion() {
var questionDiv = document.getElementById("question");
questionDiv.innerHTML = questions[currentIndex].question;
}
function showAnswer(isCorrect) {
var answerDiv = document.getElementById("answer");
var message;
if (isCorrect) {
message = "Correct!";
score++;
} else {
message = "Incorrect!";
}
answerDiv.innerHTML = message;
}
function nextQuestion() {
currentIndex++;
if (currentIndex >= questions.length) {
var questionDiv = document.getElementById("question");
var answerDiv = document.getElementById("answer");
var buttonsDiv = document.getElementById("buttons");
questionDiv.innerHTML = "Game over! Your score is " + score + "/" + questions.length;
answerDiv.innerHTML = "";
buttonsDiv.innerHTML = "";
} else {
showQuestion();
}
}
function init() {
showQuestion();
var trueBtn = document.getElementById("btn-true");
var falseBtn = document.getElementById("btn-false");
trueBtn.onclick = function() {
showAnswer(questions[currentIndex].answer === "True");
setTimeout(nextQuestion, 1000);
};
falseBtn.onclick = function() {
showAnswer(questions[currentIndex].answer === "False");
setTimeout(nextQuestion, 1000);
};
}
init();
```
在这个 JavaScript 中,我们使用 `currentIndex` 变量来跟踪当前显示的问题的索引,并使用 `score` 变量来跟踪用户的得分。 `showQuestion` 函数用于显示当前问题的文本, `showAnswer` 函数用于显示用户选择是否正确的消息, `nextQuestion` 函数用于显示下一个问题或结束游戏。
在 `init` 函数中,我们首先调用 `showQuestion` 函数来显示第一个问题。然后,我们获取“True”和“False”按钮的引用,并为它们的 `onclick` 事件添加处理程序。当用户单击一个按钮时,我们使用 `showAnswer` 函数来检查用户选择的答案是否正确,并使用 `setTimeout` 函数来延迟一秒钟以便用户看到答案。然后,我们使用 `nextQuestion` 函数来显示下一个问题或结束游戏。
最后,我们将 JavaScript 代码保存在名为 `quiz.js` 的文件中,并将其包含在 HTML 页面中。现在,当用户打开这个页面时,他们将看到第一个问题,并能够回答它。当他们回答完所有问题时,游戏结束并显示得分。
这只是一个简单的示例,您可以根据自己的需求更改和扩展它。
阅读全文