Darts added
This commit is contained in:
76
darts/script.js
Normal file
76
darts/script.js
Normal file
@@ -0,0 +1,76 @@
|
||||
let scores = [501, 501]; // Punktestände für Spieler 0 und 1
|
||||
let currentPlayer = 0; // 0 = Spieler 1, 1 = Spieler 2
|
||||
|
||||
function submitThrow() {
|
||||
const inputField = document.getElementById("inputScore");
|
||||
const rawInput = inputField.value.toUpperCase().trim(); // Mach "t20 " zu "T20"
|
||||
|
||||
let points = 0;
|
||||
|
||||
// 1. Checken: Ist es eine spezielle Eingabe (T18, D20, BULL)?
|
||||
if (rawInput.startsWith("T")) {
|
||||
// Beispiel: T20 -> Wir schneiden das "T" weg, nehmen die 20, mal 3
|
||||
let number = parseInt(rawInput.substring(1));
|
||||
points = number * 3;
|
||||
}
|
||||
else if (rawInput.startsWith("D")) {
|
||||
// Beispiel: D20 -> 20 * 2
|
||||
let number = parseInt(rawInput.substring(1));
|
||||
points = number * 2;
|
||||
}
|
||||
else if (rawInput === "BULL") {
|
||||
points = 50;
|
||||
}
|
||||
else if (rawInput === "25") {
|
||||
points = 25;
|
||||
}
|
||||
else {
|
||||
// 2. Normaler Zahleneingabe (z.B. "60" oder "45")
|
||||
points = parseInt(rawInput);
|
||||
}
|
||||
|
||||
// Sicherheitscheck: Ist die Eingabe Gültig?
|
||||
if (isNaN(points)) {
|
||||
alert("Ungültige Eingabe! Versuch es mit Zahlen, T20 oder D20.");
|
||||
inputField.value = "";
|
||||
return;
|
||||
}
|
||||
|
||||
// Punkte abziehen
|
||||
let newScore = scores[currentPlayer] - points;
|
||||
|
||||
// Logik: Nicht unter 0 fallen (Bust)
|
||||
if (newScore < 0) {
|
||||
document.getElementById("status").innerText = `Überworfen! Nächster Spieler.`;
|
||||
} else if (newScore === 0) {
|
||||
alert(`Spieler ${currentPlayer + 1} hat gewonnen! 🎯`);
|
||||
location.reload(); // Seite neu laden für neues Spiel
|
||||
} else {
|
||||
scores[currentPlayer] = newScore;
|
||||
}
|
||||
|
||||
// Anzeige aktualisieren
|
||||
updateDisplay();
|
||||
|
||||
// Spieler wechseln
|
||||
currentPlayer = (currentPlayer === 0) ? 1 : 0;
|
||||
|
||||
// Status Text
|
||||
document.getElementById("status").innerText = `Spieler ${currentPlayer + 1} ist dran`;
|
||||
|
||||
// Feld leeren
|
||||
inputField.value = "";
|
||||
inputField.focus();
|
||||
}
|
||||
|
||||
function updateDisplay() {
|
||||
document.getElementById("score1").innerText = scores[0];
|
||||
document.getElementById("score2").innerText = scores[1];
|
||||
}
|
||||
|
||||
// Damit man auch "Enter" auf der Tastatur drücken kann
|
||||
document.getElementById("inputScore").addEventListener("keypress", function(event) {
|
||||
if (event.key === "Enter") {
|
||||
submitThrow();
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user