Lehrer-Live: laufende Klima-Balken farbig (Ampel) + "Heute bereits erledigt" zeigt alle heutigen Durchgaenge

- klima game-2d/3d: GGS_LIVE_STATE liefert laufenden Punktestand (score, gleiche Formel wie Endbewertung)
- live.php summary: laufende Sessions jeder Sim bekommen Ampel-Score (nicht mehr nur Farmer) -> Tag-Ansicht faerbt laufende Balken statt grau
- teacher.html _renderInactiveToday: zeigt jetzt ALLE heute abgeschlossenen Laeufe (auch von gerade aktiven Schueler:innen); nur das laufende Spiel bleibt oben. Titel -> "Heute bereits erledigt"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-22 23:19:23 +02:00
parent 8cc48b1bc6
commit 2160a99896
4 changed files with 44 additions and 8 deletions
+8 -2
View File
@@ -339,8 +339,14 @@ if ($method === 'GET') {
$startMs = ((int)$lr['started_ts']) * 1000;
$endMs = ((int)$lr['last_seen_ts']) * 1000;
$durSec = max(0, intval(($endMs - $startMs) / 1000));
// Live-Erfolgs-Score für die Ampelfarbe: Farmer = aktuelle Trefferquote.
$liveScore = ($simId === 'farmer' && isset($state['hit_rate'])) ? max(0, min(100, (int)$state['hit_rate'])) : null;
// Live-Erfolgs-Score für die Ampelfarbe: Farmer = aktuelle Trefferquote,
// sonst der vom Sim gelieferte laufende Punktestand (0100, z. B. Klima).
$liveScore = null;
if ($simId === 'farmer' && isset($state['hit_rate'])) {
$liveScore = max(0, min(100, (int)$state['hit_rate']));
} elseif (isset($state['score']) && is_numeric($state['score'])) {
$liveScore = max(0, min(100, (int)round($state['score'])));
}
$byStudent[$sid]['sessions'][] = [
'simId' => $simId,
'simTitle' => $mi['title'] ?? $simId,