Update 2025-04-13_17:31:30
This commit is contained in:
43
static/score.js
Normal file
43
static/score.js
Normal file
@ -0,0 +1,43 @@
|
||||
import { state, updateScore } from "./state.js";
|
||||
import { DEBUG } from "./config.js";
|
||||
import { startRound } from "./round.js";
|
||||
import { playSound } from "./sound.js";
|
||||
|
||||
export function guess(dimension) {
|
||||
if (DEBUG) console.log("🧠 guess() triggered", { dimension });
|
||||
if (DEBUG) console.log("previousTile:", state.previousTile);
|
||||
if (DEBUG) console.log("currentTile:", state.currentTile);
|
||||
const result = state.previousTile[dimension] === state.currentTile[dimension];
|
||||
const btn = document.getElementById(`${dimension}-btn`);
|
||||
btn.textContent = result ? "✅" : "❌";
|
||||
btn.disabled = true;
|
||||
playSound(result ? "correct" : "wrong");
|
||||
updateScore(result);
|
||||
|
||||
const scoreCorrect = parseInt(localStorage.getItem("correct")) || 0;
|
||||
const scoreWrong = parseInt(localStorage.getItem("wrong")) || 0;
|
||||
const total = scoreCorrect + scoreWrong;
|
||||
if (total === 4) {
|
||||
setTimeout(() => startRound(), 1000);
|
||||
}
|
||||
}
|
||||
|
||||
export function calculateScore(selected, correct) {
|
||||
const correctSet = new Set(correct);
|
||||
const selectedSet = new Set(selected);
|
||||
const correctGuesses = selected.filter(i => correctSet.has(i));
|
||||
const wrongGuesses = selected.filter(i => !correctSet.has(i));
|
||||
const missed = correct.filter(i => !selectedSet.has(i));
|
||||
|
||||
correctGuesses.forEach(i => tiles[i].feedback = "correct");
|
||||
wrongGuesses.forEach(i => tiles[i].feedback = "wrong");
|
||||
missed.forEach(i => tiles[i].feedback = "missed");
|
||||
|
||||
return {
|
||||
correctGuesses,
|
||||
wrongGuesses,
|
||||
missed,
|
||||
score: correctGuesses.length - wrongGuesses.length
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user