Так что это из лагеря свободного кода по адресу: https://medium.freecodecamp.org/vanilla-javascript-tutorial-build-a-memory-game-in-30-minutes-e542c4447eae
Я пытаюсь создать аналогичную игру самостоятельно, но это был КОГДА-ЛИБО, так как я испортил JS.Я не понимаю, для чего нужен этот кусок кода ... или, я думаю, понимаю это вообще!На веб-сайте написано, что это устанавливает логику сопоставления, но если бы кто-то мог разбить это лучше для меня, я был бы признателен!Если вы заходите на сайт, функция checkForMatch для меня управляема.Я знаю это !делает вещи логическими, а также ???переключает их с истинного на ложное или наоборот в зависимости от значения по умолчанию?Я также не могу вспомнить, сталкивался ли я с объявлением двух переменных одновременно и что это значит.
Спасибо за вашу помощь!Прошло уже несколько часов, и я думаю, что я ударил свою умственную стену за день!
Ниже приведено описание с веб-сайта:
"Теперь, когда у нас есть переворачивающиеся карты, давайте разберемся с соответствиемЛогика. Когда мы щелкаем первую карту, она должна ждать, пока другая карта не будет перевернута. Переменные hasFlippedCard и flippedCard будут управлять состоянием переворачивания. Если карта не перевернута, hasFlippedCard устанавливается в true, а flippedCard устанавливается в нажатойкарта. Давайте также переключим метод переключения, чтобы добавить: "
const cards = document.querySelectorAll('.memory-card');
let hasFlippedCard = false;
let firstCard, secondCard;
function flipCard() {
this.classList.add('flip');
if (!hasFlippedCard) {
hasFlippedCard = true;
firstCard = this;
return;
}
secondCard = this;
hasFlippedCard = false;
checkForMatch();
}