Yahtzee Game

Yahtzee Game

Categorieën Mieke Nelly Pascal
Totaal Boven 0 0 0
Totaal Onder 0 0 0
Totaal Score 0 0 0
const firebaseConfig = { apiKey: "AIzaSyAR91mijyNCoPqsNiymFsls1hA9DiHhQg8", authDomain: "yathzee-b8814.firebaseapp.com", projectId: "yathzee-b8814", storageBucket: "yathzee-b8814.firebasestorage.app", messagingSenderId: "282368071512", appId: "1:282368071512:web:128507c00c2dfc92da772d", measurementId: "G-JPKHBV97LK" }; // Initialize Firebase const app = initializeApp(firebaseConfig); const analytics = getAnalytics(app); const categories = [ { name: "Eenen", dice: "⚀" }, { name: "Tweeën", dice: "⚁" }, { name: "Drieën", dice: "⚂" }, { name: "Vieren", dice: "⚃" }, { name: "Vijven", dice: "⚄" }, { name: "Zessen", dice: "⚅" }, { name: "Bonus", dice: "" }, { name: "3-of-a-kind", dice: "" }, { name: "4-of-a-kind", dice: "" }, { name: "Full House", dice: "" }, { name: "Kleine Straat", dice: "" }, { name: "Grote Straat", dice: "" }, { name: "Yahtzee", dice: "" }, { name: "Chance", dice: "" } ]; const players = ["Mieke", "Nelly", "Pascal"]; // Functie om het scorebord te initialiseren function initializeScoreboard() { const scoreboard = document.getElementById("scoreboard"); scoreboard.innerHTML = ""; categories.forEach(category => { const row = document.createElement("tr"); // Voeg de categorie toe const categoryCell = document.createElement("td"); categoryCell.innerHTML = category.dice ? `${category.dice} ${category.name}` : category.name; row.appendChild(categoryCell); // Voeg score-inputvelden toe voor elke speler players.forEach(player => { const scoreCell = document.createElement("td"); const scoreInput = document.createElement("input"); scoreInput.type = "number"; scoreInput.min = "0"; scoreInput.dataset.player = player; scoreInput.dataset.category = category.name; scoreInput.addEventListener("input", updateScores); scoreCell.appendChild(scoreInput); row.appendChild(scoreCell); }); scoreboard.appendChild(row); }); } // Functie om de scores bij te werken function updateScores() { players.forEach(player => { let upperScore = 0; let lowerScore = 0; // Bereken bovenste helft categories.slice(0, 6).forEach(category => { const value = getScore(player, category.name); if (value !== null) upperScore += value; }); // Bereken onderste helft categories.slice(7).forEach(category => { const value = getScore(player, category.name); if (value !== null) lowerScore += value; }); // Update bonus if (upperScore >= 63) { setScore(player, "Bonus", 35); upperScore += 35; // Voeg bonus toe aan de bovenste helft } else { setScore(player, "Bonus", 0); } // Update totaalscores document.getElementById(`upper${player}`).textContent = upperScore; document.getElementById(`lower${player}`).textContent = lowerScore; document.getElementById(`total${player}`).textContent = upperScore + lowerScore; // Sla de score op in Firebase saveScore(player, upperScore + lowerScore); }); } // Haalt een score op uit een invoerveld function getScore(player, category) { const input = document.querySelector(`input[data-player="${player}"][data-category="${category}"]`); return input && input.value ? parseInt(input.value) : null; } // Stelt een score in (bijv. voor Bonus) function setScore(player, category, value) { const input = document.querySelector(`input[data-player="${player}"][data-category="${category}"]`); if (input) input.value = value; } // Sla de score op in Firebase function saveScore(player, totalScore) { const scoreRef = db.collection("yahtzeeScores").doc(player); scoreRef.set({ totalScore: totalScore }).then(() => { console.log(`${player}'s score is opgeslagen in Firebase.`); }).catch(error => { console.error("Fout bij opslaan in Firebase:", error); }); } // Reset het spel function resetGame() { if (confirm("Weet je zeker dat je het spel wilt resetten? Alle scores worden verwijderd.")) { const inputs = document.querySelectorAll("input[type='number']"); inputs.forEach(input => input.value = ""); updateScores(); } } // Initializeer het spel initializeScoreboard();