Tourismusregion: Komplett-Integration (zweite neue Sim, beta)
Wellenbasierte Routen-Sim (DefensegeograSimMac) nach dem Tourismustal- Playbook integriert: Sim nach App/sims/tourismusregion (game.html, Sprites 47MB->9.5MB, ohne Eigen-Backend/Editor/Dashboard/Keys), Plattform-Hooks (GGS_LIVE_STATE mit Welle/Budget/Umwelt/Sterne/Lenkung, Submit bei Partie-Ende mit fertigem 0-100-Score, GGS_TUTORIAL, Home- Button, Musik leise). Wrapper + Modul-Detailseite. SQL: module_info (beta, Karte), Glossar-Kernbegriff Besucherlenkung (+Bild, Leichte Sprache) + 12 Zuordnungen, Lehrplan-Mapping auf tourismus- raumentwicklung (primaer) + verkehrserziehung/systemisches-denken. LEHRPLAN.md mit Schwerpunkt Besucherlenkung & Mobilitaet. Lehrer- Backend: Benchmark (Sim-Score direkt), Live-Cockpit-Spalten, needsHelp, Highlights. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -53,6 +53,7 @@ class Benchmark
|
||||
'fluggesellschaft' => self::scoreFluggesellschaft($results),
|
||||
'kofferdetektiv' => self::scoreKofferdetektiv($results),
|
||||
'tourismustal' => self::scoreTourismustal($results),
|
||||
'tourismusregion' => self::scoreTourismusregion($results),
|
||||
// Entscheidungstag: kein assessment-Submit-Pfad bekannt → null
|
||||
default => self::scoreFallbackStars($results),
|
||||
};
|
||||
@@ -459,6 +460,22 @@ class Benchmark
|
||||
return (int)round(max(0, min(100, $score)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tourismusregion — die Sim berechnet selbst einen gewichteten 0–100-Score
|
||||
* (Bewertung 35 % + Wertschöpfung 25 % + Umwelt 20 % + Besucherlenkung 10 %
|
||||
* + Finanzen 10 %, model.js finish()). Den übernehmen wir direkt.
|
||||
*/
|
||||
private static function scoreTourismusregion(array $r): ?int
|
||||
{
|
||||
$score = $r['score'] ?? null;
|
||||
if (is_numeric($score)) return (int)round(max(0, min(100, $score)));
|
||||
// Fallback: Zielerreichung
|
||||
$done = $r['goalsDone'] ?? null;
|
||||
$total = (int)($r['goalsTotal'] ?? 0);
|
||||
if (!is_numeric($done) || $total <= 0) return null;
|
||||
return (int)round(($done / $total) * 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generischer Fallback: Sterne aus 5-er-Skala.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user