为 yes/no 游戏添加分数
Adding score to a yes/no game
我正在创建一个 yes/no 游戏,我有一个可变分数,它正在获取必须填写的字段的 ID,每次人们选择正确时都需要更新分数回答。 if
正在检查元素 photo 是否包含在提到的数组中,如果是,我必须添加一个点,如果不是,我必须将点数恢复为 0.
如果变量正在获取 id,我该如何写点?
以及如何在用户每次获得正确答案时添加一个新点?
我真的看不懂。谢谢。
var score = document.getElementById('score');
var foto;
var yesMeetup = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16];
var notMeetup = [17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
var notButton = document.getElementById('no');
var yesButton = document.getElementById('yes');
var decisao = document.getElementById('decisao');
document.querySelector('.btn').addEventListener('click', verify);
function verify() {
yesMeetup;
notMeetup;
if (yesButton) {
if (yesMeetup.includes(foto)) {
decisao.textContent = "You got it";
decisao.style.display = "block";
decisao.style.animation = "anim 1s";
decisao.style.animationIterationCount = "1";
parseInt(score.textContent) += "1";
} else {
decisao.textContent = "wrong";
decisao.style.animation = "anim 1s";
decisao.style.display = "block";
decisao.style.animationIterationCount = "1";
score.textContent = "0";
}
}
}
document.querySelector('#no').addEventListener('click', VerifyNo);
function VerifyNo() {
yesMeetup;
notMeetup;
if (notButton) {
if (notMeetup.includes(foto)) {
decisao.textContent = "You got it";
decisao.style.display = "block";
decisao.style.animation = "anim 1s";
decisao.style.animationIterationCount = "1";
} else {
decisao.textContent = "Wrong";
decisao.style.display = "block";
decisao.style.animation = "anim 1s";
decisao.style.animationIterationCount = "1";
}
}
}
您可以尝试解决此问题的方法是,通过在文件顶部声明它来在全局范围内保留一个单独的分数变量:var scoreVal = 0;
现在,每当用户答对一个答案时,使用 scoreVal++;
增加分数。最后,在验证函数的末尾(在所有 if 条件之外),您可以调用 score.textContent = scoreVal;
,因为即使值已更新或保持不变,这也会起作用。
这是一个小的工作示例,最低限度:
var score = 0;
document.getElementById('btn-right').addEventListener('click', right);
var scoreElem = document.getElementById('score');
scoreElem.textContent = score;
function right() {
scoreElem.textContent = ++score;
}
<h4 id="score"></h4>
<button id="btn-right">Right</button>
<button id="btn-wrong">Wrong</button>
我正在创建一个 yes/no 游戏,我有一个可变分数,它正在获取必须填写的字段的 ID,每次人们选择正确时都需要更新分数回答。 if
正在检查元素 photo 是否包含在提到的数组中,如果是,我必须添加一个点,如果不是,我必须将点数恢复为 0.
如果变量正在获取 id,我该如何写点?
以及如何在用户每次获得正确答案时添加一个新点?
我真的看不懂。谢谢。
var score = document.getElementById('score');
var foto;
var yesMeetup = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16];
var notMeetup = [17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
var notButton = document.getElementById('no');
var yesButton = document.getElementById('yes');
var decisao = document.getElementById('decisao');
document.querySelector('.btn').addEventListener('click', verify);
function verify() {
yesMeetup;
notMeetup;
if (yesButton) {
if (yesMeetup.includes(foto)) {
decisao.textContent = "You got it";
decisao.style.display = "block";
decisao.style.animation = "anim 1s";
decisao.style.animationIterationCount = "1";
parseInt(score.textContent) += "1";
} else {
decisao.textContent = "wrong";
decisao.style.animation = "anim 1s";
decisao.style.display = "block";
decisao.style.animationIterationCount = "1";
score.textContent = "0";
}
}
}
document.querySelector('#no').addEventListener('click', VerifyNo);
function VerifyNo() {
yesMeetup;
notMeetup;
if (notButton) {
if (notMeetup.includes(foto)) {
decisao.textContent = "You got it";
decisao.style.display = "block";
decisao.style.animation = "anim 1s";
decisao.style.animationIterationCount = "1";
} else {
decisao.textContent = "Wrong";
decisao.style.display = "block";
decisao.style.animation = "anim 1s";
decisao.style.animationIterationCount = "1";
}
}
}
您可以尝试解决此问题的方法是,通过在文件顶部声明它来在全局范围内保留一个单独的分数变量:var scoreVal = 0;
现在,每当用户答对一个答案时,使用 scoreVal++;
增加分数。最后,在验证函数的末尾(在所有 if 条件之外),您可以调用 score.textContent = scoreVal;
,因为即使值已更新或保持不变,这也会起作用。
这是一个小的工作示例,最低限度:
var score = 0;
document.getElementById('btn-right').addEventListener('click', right);
var scoreElem = document.getElementById('score');
scoreElem.textContent = score;
function right() {
scoreElem.textContent = ++score;
}
<h4 id="score"></h4>
<button id="btn-right">Right</button>
<button id="btn-wrong">Wrong</button>