为 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>