Scripture Quest Maze

Only Through G‑d

Collect orbs to unlock verses.
Score: 0 | Level: 1
if (level === 40) spawnBoss(); let boss = { x: 28, y: 5, speed: 1.2, active: false }; let truthVerses = [ "John 8:32 — The truth will set you free.", "Psalm 119:105 — Your word is a lamp to my feet.", "2 Corinthians 10:4 — Weapons of G‑d demolish strongholds." ]; let truthCollected = 0; function spawnBoss() { if (level === 40) { boss.active = true; verseBox.innerText = "Final Boss: The Lie — Only Truth can defeat it."; } } function drawBoss() { if (boss.active) { ctx.fillStyle = "#ff1744"; ctx.fillRect(boss.x * tileSize, boss.y * tileSize, tileSize, tileSize); } } function moveBoss() { if (boss.active) { const dx = player.x - boss.x; const dy = player.y - boss.y; const dist = Math.sqrt(dx * dx + dy * dy); const stepX = Math.round((dx / dist) * boss.speed); const stepY = Math.round((dy / dist) * boss.speed); const newX = boss.x + stepX; const newY = boss.y + stepY; if (maze[newY][newX] === " ") { boss.x = newX; boss.y = newY; } } } function checkBossCollision() { if (boss.active && player.x === boss.x && player.y === boss.y) { if (truthCollected >= 3) { boss.active = false; verseBox.innerText = "You defeated The Lie — Only Through G‑d."; } else { verseBox.innerText = "The Lie caught you. Seek truth."; score = 0; level = 1; truthCollected = 0; boss.active = false; } } } function saveProgress() { localStorage.setItem("score", score); localStorage.setItem("level", level); localStorage.setItem("verseVault", JSON.stringify(verseVault)); } function loadProgress() { score = parseInt(localStorage.getItem("score") || "0"); level = parseInt(localStorage.getItem("level") || "1"); verseVault = JSON.parse(localStorage.getItem("verseVault") || "[]"); }