Files
Adminator 88e3c09e5c Per-Sim leistung_pct: alle 14 Sims senden das eine Leistungs-% (0-100)
Jede Sim liefert jetzt selbst leistung_pct in GGS_LIVE_STATE UND im Submit
(Fundament fuer das einheitliche %-System) — kein Rueckrechnen aus Sternen
mehr, keine 0-3-Sonderfaelle. Formeln je Sim wie vereinbart:
- klima/fluss/kofferdetektiv/heli: = vorhandener 0-100-score
- weltkueche: richtige/(richtige+falsche)*100 (Fehler in %)
- busfahrt/fluggesellschaft: topoPunkte/(Auftraege*3)*100
- farmer: gewichteter totalScore; energiemanager: ausgegl./gesamt -15/Blackout
- eu-werkstatt: firstTry/Schritte -5/Muelleimer; sonnensystem: Erstversuch-Quote
- tourismustal: Ziele+Zufriedenheit+Natur gewichtet; tourismusregion: gewichteter score
- logistik: Kontostand->% (sendet erstmals eine Kennzahl, auch an /api/assessment)
Teacher _leistungPct + live.php extractScore bevorzugen bereits diesen Wert.
Additive Aenderungen, bestehende Logik/Sterne unveraendert; alle 15 Dateien
syntaktisch geprueft.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 12:35:56 +02:00
..

Fluggesellschaft — Konzept-Skelett

Stand: 2026-05-30 — Konzept-Phase, noch kein Code. Zweck: Geschwister-Modul zu Busfahrt. Übernimmt die Welt-Ziele (USA, Brasilien, Australien, Afrika, Asien), die im Bus-Modul didaktisch keinen Sinn machen.

Warum eigenes Modul, nicht Level 4 von Busfahrt?

  • Realismus: „Mit dem Bus von Wien nach Sydney" funktioniert nicht. Fähren über den Atlantik gibt es nicht, transkontinentale Bus-Routen durch Sibirien oder die Sahara sind keine reale Schulreise.
  • Mechanik: Flugverkehr braucht andere Konzepte — Flughäfen statt Stadtmitten, Direkt- vs. Stopover-Flüge, Zeitzonen, Treibstoff-Reichweite, Tag-/Nachtflüge entlang der Datumsgrenze.
  • Didaktik: Welt-Geographie + Klima-Zonen + Zeitzonen sind ein eigenständiges Lehr-Set, kein „Bus-Härtegrad".

Daten-Stand

  • 53 Auftrags-Vorlagen liegen schon vor: App/sims/busfahrt/assets/data/orders.json mit level: "l4" markiert (umgezogen 2026-05-30 von l3l4).
  • Städte-Daten für diese Ziele sind in App/sims/busfahrt/assets/data/cities.json (Brasília, Sydney, Kairo, Washington, Tokio fehlt etc.). Bilder vorhanden.
  • Verteilung Welt-Pool:
    • Amerika 29 (USA 6, Kanada 5, Brasilien 6, dazu MEX/CU/AR/EC/CO/PE/BO/CL)
    • Afrika 17 (ZA 5, MA 3, EG 3, NG 2, KE/SN/TN/ET je 1)
    • Ozeanien 7 (AU 4, NZ 3)
    • Lücke: Asien fehlt komplett — kein Tokio, Peking, Delhi, Bangkok, Singapur. Müsste später ergänzt werden.

Geplante Mechanik (Konzept, nicht final)

Element Busfahrt Fluggesellschaft
Karten-Tap Stadtmitte Flughafen-Symbol (kann mehrere pro Land geben)
Strecke OSRM-Auto-Route Großkreis-Bogen über die Karte
Kosten €/km Treibstoff €/km Treibstoff + Flughafengebühr
Speed 1× Echtzeit 5×–10× schneller (Sim-Tempo angepasst)
Stopover Schiff-Modus bei Inseln Umstieg an Hub-Flughäfen (FRA, DXB, SIN)
Zeitzone irrelevant wichtig — Ankunft Tag/Nacht
Quiz „In welchem Land liegt X?" „Auf welchem Kontinent?" + „Welche Zeitzone?" + ggf. „Welche Sprache?"

Wiederverwendung aus Busfahrt

Wenn die App startet, sollten mind. diese Bausteine übernommen werden:

  • engine.js-Pattern: loadData → init → nextOrder → evaluateQuestion → checkTap → settleOrder
  • Quiz-Mechanik (mit Geld-Effekt) — funktioniert universell
  • Stadtbilder-Loader (assets/cities/ aus busfahrt — gleiche Pfade)
  • Leaflet-Karte mit dunkler Variante (Nacht)
  • Buchhaltungs-Tabelle in der InfoCard
  • LIVE_STATE-Hook für Lehrer-Cockpit (Pattern übernehmen)

Nächste Schritte

  1. Daten-Migration: L4-Aufträge aus busfahrt/orders.json kopieren in assets/data/orders.json dieses Moduls. cities.json analog kopieren (nur die genutzten Städte). Asien ergänzen (TODO).
  2. Engine-Stub: auf Busfahrt-Engine basieren, Karten-Logik durch Großkreis-Berechnung ersetzen.
  3. UI-Stub: game.html minimal aus Busfahrt klonen, „Bus" durch „Flugzeug" ersetzen.
  4. Splash-Image: 1 DALL-E-Bild im offiziellen Bildstil (Pilot*in, Cockpit, Welt-Karte mit Flugrouten). Aktuell BLOCKIERT durch OpenAI-Billing-Limit.

Memory-Anker

Siehe Memory project_fluggesellschaft_state.md.