1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
const shuffleBtn = document.querySelector('.button'); const app = document.querySelector('#app'); const scoreInfo = document.querySelector('.score'); let score = 0;
const monsters = [ 'monster1', 'monster2', 'monster3', 'monster4', 'monster5', 'monster6', 'monster7', 'monster8', 'monster9', 'monster10', 'monster11', 'sock' ];
const render = function () { app.innerHTML = '<p>Click a door to reveal a monster. Try not to find the sock.</p><div class="row">' + monsters.map(monster => { return (` <div class="grid" aria-live="polite"><button class="show_button" data-id="${monster}"><img alt= "Click this picture of door to see monster" src="../img/door.svg"/></button></div> `) }).join('') + '</div>'; };
const shuffleArr = function (arr) { var currentIndex = arr.length; var temporaryValue, randomIndex;
while (0 !== currentIndex) { randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1;
temporaryValue = arr[currentIndex]; arr[currentIndex] = arr[randomIndex]; arr[randomIndex] = temporaryValue; } score = 0; scoreInfo.textContent = `Score: ${score}`; render(); return arr; }
const replaceTargetElement = function (e) { const monster = e.target.closest('[data-id]'); if (!monster) return; const monsterID = monster.getAttribute('data-id'); monster.parentNode.innerHTML = `<img alt="A picture of ${monsterID}" src="../img/${monsterID}.svg"/>` if (monsterID !== "sock") { goodPick(); } else { wrongPick(); } }
const goodPick = function () { score++ if (score >= 11) { scoreInfo.innerHTML = `<p class="score">Score: ${score}, Congrats, you have won!</p>`; endGame(); return; } scoreInfo.textContent = `Score: ${score}`; }
const wrongPick = function () { score = 0; scoreInfo.innerHTML = `<p class="score">Score: ${score}, Ups, you have lose. Try again.</p>`; endGame(); return; }
const endGame = function () { const pickLeft = Array.from(document.querySelectorAll('[data-id]')); pickLeft.forEach(pick => pick.remove()); }
document.addEventListener('click', replaceTargetElement);
shuffleBtn.addEventListener('click', function () { shuffleArr(monsters); });
|