--- titel: Tech-Spec — Autobahn-Abfahrt-Minispiel als Modul zielgruppe: Externer Entwickler*in (oder Atlas-Instanz), die das Spiel in passender Technologie neu baut host: Logistik Europa (App/sims/logistik/game.html) stand: 2026-04-25 --- # Spec — Autobahn-Abfahrt-Minispiel Das Spiel wird in der Logistik-Simulation als **Overlay** geöffnet, sobald ein LKW an einem ausgewählten Knotenpunkt die Autobahn verlässt. Während das Spiel läuft, **steht die Logistik-Sim still**. Ergebnis (Bonus / Strafe / Unfall) wird zurück an die Logistik gemeldet. Das Spiel ist ein **eigenständiges Modul** ohne Abhängigkeit zur Logistik-Engine. Logistik ruft nur eine Init-Funktion auf und bekommt einen Callback. ## 1. Schnittstelle ### Eintritt: ein einziger globaler Init-Funktions-Aufruf ```js window.lgAutobahnGame.start({ container: HTMLElement, // Logistik liefert ein leeres div, exklusiv für das Spiel scenario: 'bregenz' | 'salzburg' | 'innsbruck' | 'muenchen' | 'leipzig' | 'verona', driverName: 'Anna', // optional, für Anzeige truckLabel: 'Mittlerer LKW', // optional, für Anzeige easyMode: false, // optional, vereinfachte Sprache/Hilfen onEnd: (result) => { ... }, // Callback, EXAKT EINMAL aufgerufen }); ``` ### Austritt: Callback `onEnd(result)` — Pflichtfeld ```js result = { outcome: 'success' | 'late' | 'crash', scenario: 'bregenz', // success: korrekte Abfahrt erkannt + keine Kollision // late: Abfahrt verpasst oder falsche Spur (Strafzeit zu addieren) // crash: Auffahren oder in Baustelle gekracht (Vehicle-Ausfall) // Optional: für späteres Tuning decisionTimeMs: 12500, // wie lange war der Spieler im Spiel laneChanges: 3, brakeUsed: true, }; ``` Logistik mappt das auf: - **success** → Bonus-Pill (45 min Ladezeit) + positive Voice-Line - **late** → +30 min auf Restfahrt-Dauer + neutrale Voice - **crash** → Vehicle ausgefallen für 24 Sim-Stunden + Reparaturkosten + Crash-Sound Logistik kümmert sich selbst darum, das `container`-DOM-Element zu entfernen, sobald `onEnd` gefeuert hat. ## 2. Lifecycle 1. Logistik erstellt ein leeres `