Добавление счета к игре да / нет - PullRequest
0 голосов
/ 24 февраля 2019

Я создаю игру «да / нет», и у меня есть переменная оценка, которая получает идентификатор поля, которое необходимо заполнить, счет должен обновляться каждый раз, когда человек выбирает правильный ответ.if проверяет, включена ли фотография элемента в упомянутый массив, если это так, я должен добавить точку, если нет, я должен вернуть баллы обратно в 0.

Как я могунаписать точки, если переменная получает идентификатор?

И как я могу добавить новую точку каждый раз, когда пользователь получает правильный ответ?

Я действительно не могу получить его.спасибо.

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";

    }
  }
}

1 Ответ

0 голосов
/ 24 февраля 2019

То, что вы можете попытаться сделать, чтобы решить эту проблему, это сохранить отдельную переменную оценки глобально, объявив ее в верхней части файла: 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>
...