modified: app.py
modified: templates/quiz_buzzer_multiplayer.html
This commit is contained in:
15
app.py
15
app.py
@@ -468,6 +468,21 @@ def reset_quiz(playlist_id):
|
||||
return redirect(url_for('quiz', playlist_id=playlist_id, mode=next_mode))
|
||||
return redirect(url_for('playlists'))
|
||||
|
||||
@app.route("/update_player_score/<playlist_id>", methods=["POST"])
|
||||
def update_player_score(playlist_id):
|
||||
"""Aktualisiert den Score eines einzelnen Spielers in der Session."""
|
||||
data = request.json
|
||||
player_id = data.get('player_id') # 1-basiert
|
||||
delta = data.get('delta', 0)
|
||||
if not player_id:
|
||||
return {"error": "Missing player_id"}, 400
|
||||
key = f'player_scores_{playlist_id}'
|
||||
player_scores = session.get(key, [0, 0, 0, 0])
|
||||
player_scores[player_id - 1] += delta
|
||||
session[key] = player_scores
|
||||
session.modified = True
|
||||
return {"success": True, "new_score": player_scores[player_id - 1]}
|
||||
|
||||
@app.route("/reset_scores/<playlist_id>")
|
||||
def reset_scores(playlist_id):
|
||||
"""Reset nur die Scores, aber behalte gespielte Tracks."""
|
||||
|
||||
@@ -688,10 +688,19 @@
|
||||
});
|
||||
}
|
||||
|
||||
function applyScoreToServer(playerId, delta) {
|
||||
return fetch('/update_player_score/{{ playlist_id }}', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ player_id: playerId, delta: delta })
|
||||
});
|
||||
}
|
||||
|
||||
function continueGame() {
|
||||
// Wende Minuspunkte an
|
||||
// Wende Minuspunkte an (lokal und auf Server)
|
||||
players[currentBuzzer - 1].score += pendingPoints;
|
||||
updateScoreboard();
|
||||
applyScoreToServer(currentBuzzer, pendingPoints);
|
||||
|
||||
// Reset für nächsten Buzzer
|
||||
document.getElementById('answerSection').classList.remove('active');
|
||||
@@ -718,9 +727,10 @@
|
||||
}
|
||||
|
||||
function showSolution() {
|
||||
// Wende Minuspunkte an
|
||||
// Wende Minuspunkte an (lokal und auf Server)
|
||||
players[currentBuzzer - 1].score += pendingPoints;
|
||||
updateScoreboard();
|
||||
applyScoreToServer(currentBuzzer, pendingPoints);
|
||||
|
||||
const resultContainer = document.getElementById('resultContainer');
|
||||
resultContainer.innerHTML = `
|
||||
|
||||
Reference in New Issue
Block a user