songowner system war falsch implementiert

pull/46/head
eric 2025-08-11 22:35:29 +02:00
parent 0bc4012774
commit 04f374cfff
3 changed files with 13 additions and 2 deletions

View File

@ -92,7 +92,11 @@ package eric.Roullette.service;
Game g = getOrCreateGame(gameId);
if (g.players().isEmpty()) throw new IllegalStateException("No players");
String owner = g.players().get(ThreadLocalRandom.current().nextInt(g.players().size()));
String song = uris.get(ThreadLocalRandom.current().nextInt(uris.size()));
List<String> ownerTracks = g.playerTracks().getOrDefault(owner, List.of());
if (ownerTracks.isEmpty()) throw new IllegalStateException("Owner hat keine Tracks");
String song = ownerTracks.get(ThreadLocalRandom.current().nextInt(ownerTracks.size()));
//String song = uris.get(ThreadLocalRandom.current().nextInt(uris.size()));
Game updated = new Game(gameId, g.players(), g.scores(), owner, song, uris, g.playerTracks());
games.put(gameId, updated);
return updated;

View File

@ -81,7 +81,7 @@ public class SpotifyAuthService {
public List<String> getRecentTracks(String user) {
System.out.println("Hole kürzlich gespielte Tracks für Benutzer: " + user);
int limit = 50;
int limit = 5;
SpotifyApi userApi = userApis.get(user);
if (userApi == null) {

View File

@ -171,12 +171,19 @@ private void broadcastRoundResult(String gameId) {
Map<String,String> guesses = currentGuesses.remove(gameId);
String owner = game.currentOwner();
// System.out.println("Owner: " + owner);
// System.out.println("Guesses: " + guesses);
// System.out.println("Scores vor Auswertung: " + scores);
// Für jeden Tippenden Score anpassen
for (Map.Entry<String, String> entry : guesses.entrySet()) {
String guesser = entry.getKey();
boolean correct = owner.equals(entry.getValue());
scores.merge(guesser, correct ? 3 : -1, Integer::sum);
}
// System.out.println("Owner: " + owner);
// System.out.println("Guesses: " + guesses);
// System.out.println("Scores nach Auswertung: " + scores);
String msg = JsonUtil.toJson(Map.of(
"type", "round-result",