Понимание булевой роли в игре памяти «проверка времени» + «играть снова» (js) - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть устный тест на код игры для карты памяти js, и, поскольку я снова понимаю игру и функции проверки времени, я не понимаю роли логического значения 'gamestart' в его работе.код выглядит так - прежде всего:

var gameStart = false

как глобальная переменная.

затем идут три функции: одна для функции проверки времени, вторая для функции повторного воспроизведения и третья для базовой функции, нажатой на карту (я вставляю только соответствующую часть функции, нажатой на карту, так как она длинная),:

setBestTime();

function timechecker() {
  timer = setInterval(function() {
    if (second < 60) { 
      second++;
    }

    if (second == 60) {
      min++;
      second = 0;
    }

    if (min == 60) {
      hour++;
      min = 0;
    }

    var new_hour = hour < 10 ? "0"+hour : hour;
    var new_min = min < 10 ? "0"+min : min;
    var new_second = second < 10 ? "0"+second : second;
    bestTime = new_hour+":"+new_min+":"+new_second;
    document.getElementById("timechecker").innerHTML = bestTime;
  }, 1000);

function playAgain() {
  flippedCouplesCount =0;
  shuffle();
  var cards = document.getElementsByClassName("card");
  for(var i=0; i<cards.length; i++){
      cards[i].classList.remove('flipped');
  }

  audioWin.pause();
  audioWin.currentTime = 0;
  document.getElementById("retry_class").style.display = "none";
  document.getElementById("timechecker-t").style.display = "none";
  gameStart = false;
  second = 0;
  min = 0;
  hour = 0;
}

function cardClicked(elCard) {
  if(!gameStart){
    timechecker();
    document.getElementById("timechecker-t").style.display = "block";
  }
  gameStart = true;
  if (isProccessing) {
      return;
  }
  isProccessing = true;
  if (elCard.classList.contains('flipped')) {
    isProccessing = false;
    return;
  }
}

Кто-нибудь может рассказать о булевой роли 'gamestart'?Многие тнх

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

IMO, я думаю, это просто представляет, запущена игра или нет, в функции playAgain () установлено значение false, чтобы показать, что игра не началась

Затем в функции cardClicked, один разесли щелкнуть карту, мы запускаем таймер только в том случае, если игра еще не запущена, т. е. когда gameStart имеет значение false. Наконец, независимо от того, установлено ли значение gameStart на false, после нажатия на карту для gameStart устанавливается значение true

Надеюсь, что этопомог

0 голосов
/ 01 декабря 2018

gameStart = 'есть ли какие-либо предыдущие ходы?'

Если игра настроена, для gameStart установлено значение False.Когда щелкают первую карточку И переменная gameStart имеет значение False, вызывается функция timechecker ().timechecker () запускает часы, которые показывают, как долго игра работает.Это нужно сделать только один раз, в начале игры, поэтому после вызова timechecker () gameStart устанавливается в True.Таким образом, timechecker () не будет запускаться снова при нажатии другой карты, если не вызывается функция playAgain ().

...