From 9c9690f90e83348a34b6e9daebc76e0520602f7a Mon Sep 17 00:00:00 2001 From: eric <3024947@stud.hs-mannheim.de> Date: Thu, 14 Aug 2025 19:48:22 +0200 Subject: [PATCH] bonuspunkt wenn alles richtig --- .../eric/Roullette/websocket/GameWebSocketHandler.java | 6 +++++- src/main/resources/public/js/game.js | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/eric/Roullette/websocket/GameWebSocketHandler.java b/src/main/java/eric/Roullette/websocket/GameWebSocketHandler.java index cf50926..151e907 100644 --- a/src/main/java/eric/Roullette/websocket/GameWebSocketHandler.java +++ b/src/main/java/eric/Roullette/websocket/GameWebSocketHandler.java @@ -177,13 +177,17 @@ currentGuesses.getOrDefault(gameId, Collections.emptyMap()); // Scoring: +3 falls Auswahl Owner enthält, -1 pro falschem Tipp + // Bonus: +1, wenn kein falscher Tipp in der Runde (fehlerfrei) + for (var e : byUser.entrySet()) { String user = e.getKey(); List guesses = e.getValue(); if (guesses == null) continue; boolean correct = owner != null && guesses.contains(owner); int wrong = guesses.size() - (correct ? 1 : 0); - int delta = (correct ? 3 : 0) - wrong; + //int delta = (correct ? 3 : 0) - wrong; + int bonus = (wrong == 0) ? 1 : 0; // fehlerfrei-Bonus + int delta = (correct ? 3 : 0) - wrong + bonus; if (delta != 0) game.scores().merge(user, delta, Integer::sum); } diff --git a/src/main/resources/public/js/game.js b/src/main/resources/public/js/game.js index 59403e0..cd7dc40 100644 --- a/src/main/resources/public/js/game.js +++ b/src/main/resources/public/js/game.js @@ -388,11 +388,14 @@ function handleRoundResult({ scores, guesses, owner }) { const list = Array.isArray(g) ? g : (typeof g === "string" ? [g] : []); const correct = list.includes(owner); const wrongCount = list.length - (correct ? 1 : 0); - const delta = (correct ? 3 : 0) - wrongCount; + //const delta = (correct ? 3 : 0) - wrongCount; + const bonus = wrongCount === 0 ? 1 : 0; // fehlerfrei-Bonus + const delta = (correct ? 3 : 0) - wrongCount + bonus; const icon = correct ? "✅" : "❌"; const picks = list.length ? list.join(", ") : "—"; const p = document.createElement("p"); - p.textContent = `${icon} ${user} hat auf ${picks} getippt${correct ? " (richtig!)" : ""} [${delta >= 0 ? "+" : ""}${delta}]`; + //p.textContent = `${icon} ${user} hat auf ${picks} getippt${correct ? " (richtig!)" : ""} [${delta >= 0 ? "+" : ""}${delta}]`; + p.textContent = `${icon} ${user} hat auf ${picks} getippt${correct ? " (richtig!)" : ""}${bonus ? " (+1 Bonus)" : ""} [${delta >= 0 ? "+" : ""}${delta}]`; resultP.appendChild(p); });