Textsystem: Bis-Strich mit Leerzeichen (Zahl – Zahl) per Agent-Sweep
562 Ersetzungen in 50 Dateien: Halbgeviertstrich zwischen zwei Ziffern (= "bis"-Bereich) bekommt Leerzeichen davor/danach (3–4 -> 3 – 4). Regex /([0-9])\s*–\s*(?=[0-9])/ auf Rohtext (format-erhaltend, CRLF/Einrueckung unveraendert), Bindestriche in Woertern und Minuszeichen unangetastet, alle JSON weiter gueltig. Energiemanager-Zeitbloecke sind Display-Labels (kein Logik-Key) -> safe. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -103,7 +103,7 @@
|
||||
],
|
||||
"didactic": {
|
||||
"topic": "Pannenhilfe, Fahrzeugtechnik",
|
||||
"sachinfo": "Laut TÜV Süd Bus-Report ist die Reifenpanne mit ≈ 35 % aller Bus-Notfälle die häufigste Pannenursache. Reisebusse haben 6 Räder (2 vorne, 4 hinten als Zwillingsbereifung). Ein Bus-Reifen wiegt 60 kg, kostet 400–700 €, hält ca. 150.000 km. Auf Autobahn-Pannenstreifen ist die Warndreieck-Distanz 100 m (vs. 50 m auf Landstraße).",
|
||||
"sachinfo": "Laut TÜV Süd Bus-Report ist die Reifenpanne mit ≈ 35 % aller Bus-Notfälle die häufigste Pannenursache. Reisebusse haben 6 Räder (2 vorne, 4 hinten als Zwillingsbereifung). Ein Bus-Reifen wiegt 60 kg, kostet 400 – 700 €, hält ca. 150.000 km. Auf Autobahn-Pannenstreifen ist die Warndreieck-Distanz 100 m (vs. 50 m auf Landstraße).",
|
||||
"lehrplan": ["Verkehrserziehung: Pannenhilfe, Warnsystem", "Physik: Reibung, Materialermüdung", "GW: Wirtschaft (Reparatur-Kosten)"],
|
||||
"glossary": ["panne", "warndreieck", "zwillingsbereifung"]
|
||||
}
|
||||
@@ -278,7 +278,7 @@
|
||||
],
|
||||
"didactic": {
|
||||
"topic": "Winter-Verkehrssicherheit, Alpen-Klima",
|
||||
"sachinfo": "Schneekettenpflicht gilt in AT/CH/IT/SI auf bestimmten Strecken, signalisiert durch blaues Schild „Schneeketten\" (Vorschrifts-Zeichen). Pflicht ab November bis Ostern auf Pässen wie Großglockner, Stilfser Joch, Tauern. Reifenketten erhöhen die Traktion auf Schnee/Eis um Faktor 5–10. Auf Lkw/Bus muss man mind. 2 Antriebsräder mit Ketten ausstatten. Schweiz: ab Dezember sowieso Winterreifenpflicht (M+S-Symbol).",
|
||||
"sachinfo": "Schneekettenpflicht gilt in AT/CH/IT/SI auf bestimmten Strecken, signalisiert durch blaues Schild „Schneeketten\" (Vorschrifts-Zeichen). Pflicht ab November bis Ostern auf Pässen wie Großglockner, Stilfser Joch, Tauern. Reifenketten erhöhen die Traktion auf Schnee/Eis um Faktor 5 – 10. Auf Lkw/Bus muss man mind. 2 Antriebsräder mit Ketten ausstatten. Schweiz: ab Dezember sowieso Winterreifenpflicht (M+S-Symbol).",
|
||||
"lehrplan": ["GW: Alpenklima, Wetter", "Physik: Reibung, Traktion", "Verkehrserziehung: Winter"],
|
||||
"glossary": ["schneekettenpflicht", "winterreifen", "alpenklima"]
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ window.BusfahrtEngine = (function () {
|
||||
return {
|
||||
fee: 320,
|
||||
label: '🚇 Kanaltunnel / Fähre (Calais–Dover, Folkestone–Calais)',
|
||||
sachinfo: 'Seit Brexit 2021 ist UK kein EU-Mitglied mehr — Zoll- und Pass-Kontrollen erforderlich. Reisebus-Tarif rund 280–360 € für Eurotunnel-Shuttle (35 min Le Shuttle Freight) oder Fähre (90 min, DFDS/P&O).',
|
||||
sachinfo: 'Seit Brexit 2021 ist UK kein EU-Mitglied mehr — Zoll- und Pass-Kontrollen erforderlich. Reisebus-Tarif rund 280 – 360 € für Eurotunnel-Shuttle (35 min Le Shuttle Freight) oder Fähre (90 min, DFDS/P&O).',
|
||||
glossar: 'kanaltunnel'
|
||||
};
|
||||
}
|
||||
@@ -116,7 +116,7 @@ window.BusfahrtEngine = (function () {
|
||||
return {
|
||||
fee: 520,
|
||||
label: '⛴ Norröna-Fähre Hirtshals–Tórshavn–Seyðisfjörður',
|
||||
sachinfo: 'Die einzige Auto-/Bus-Fähre nach Island ist die Norröna der Smyril Line. Route: Hirtshals (DK, nördlichste Spitze Jütlands) → Tórshavn (Färöer) → Seyðisfjörður (Ostküste Island). 1× pro Woche, Dauer 2,5 Tage. Bus-Tarif rund 400–600 €. Danach noch ca. 700 km quer durch Island bis Reykjavik (Westküste). 95 % aller Island-Reisenden fliegen — Bus-Anreise ist Roadtrip-Variante.',
|
||||
sachinfo: 'Die einzige Auto-/Bus-Fähre nach Island ist die Norröna der Smyril Line. Route: Hirtshals (DK, nördlichste Spitze Jütlands) → Tórshavn (Färöer) → Seyðisfjörður (Ostküste Island). 1× pro Woche, Dauer 2,5 Tage. Bus-Tarif rund 400 – 600 €. Danach noch ca. 700 km quer durch Island bis Reykjavik (Westküste). 95 % aller Island-Reisenden fliegen — Bus-Anreise ist Roadtrip-Variante.',
|
||||
glossar: 'norroena-faehre'
|
||||
};
|
||||
}
|
||||
@@ -135,7 +135,7 @@ window.BusfahrtEngine = (function () {
|
||||
return {
|
||||
fee: 290,
|
||||
label: '⛴ Direktfähre Dublin–Cherbourg (Irish Ferries)',
|
||||
sachinfo: 'Die Direktfähre zwischen Irland und dem Festland (Dublin–Cherbourg oder Rosslare–Roscoff) umgeht das UK seit Brexit. Dauer 17–20 h, Bus-Tarif rund 280–320 €. Alternative: über Holyhead+Eurotunnel — dann aber doppelte UK-Zollkontrolle.',
|
||||
sachinfo: 'Die Direktfähre zwischen Irland und dem Festland (Dublin–Cherbourg oder Rosslare–Roscoff) umgeht das UK seit Brexit. Dauer 17 – 20 h, Bus-Tarif rund 280 – 320 €. Alternative: über Holyhead+Eurotunnel — dann aber doppelte UK-Zollkontrolle.',
|
||||
glossar: 'norroena-faehre'
|
||||
};
|
||||
}
|
||||
|
||||
+148
-148
@@ -1070,14 +1070,14 @@
|
||||
desc: 'Gleichmäßiger Bedarf, mittags reichlich Solar. Klassischer Pump-Tag.',
|
||||
tankTopInit: 20,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09–12', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '12–15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15–18', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09 – 12', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '12 – 15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15 – 18', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 10, solar: 0 }, // 2T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1086,14 +1086,14 @@
|
||||
desc: 'Dichte Wolken, Solar nur schwach. Speicher voll, viel turbinieren.',
|
||||
tankTopInit: 40,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '06–09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '06 – 09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1102,14 +1102,14 @@
|
||||
desc: 'Wind nachts und am Morgen, tagsüber bedeckt. Tagesgang umgedreht.',
|
||||
tankTopInit: 25,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '03–06', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '06–09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09–12', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '12–15', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '15–18', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '00 – 03', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '03 – 06', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '06 – 09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09 – 12', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '12 – 15', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '15 – 18', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 5, solar: 10 }, // 1P
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -1123,14 +1123,14 @@
|
||||
desc: 'Klimaanlagen drehen auf — Bedarf nachmittags extrem. Mittags Solar voll.',
|
||||
tankTopInit: 35,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 10, solar: 15 }, // 1P
|
||||
{ range: '09–12', demand: 10, solar: 20 }, // 2P
|
||||
{ range: '12–15', demand: 15, solar: 20 }, // 1P
|
||||
{ range: '15–18', demand: 20, solar: 10 }, // 2T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 10, solar: 15 }, // 1P
|
||||
{ range: '09 – 12', demand: 10, solar: 20 }, // 2P
|
||||
{ range: '12 – 15', demand: 15, solar: 20 }, // 1P
|
||||
{ range: '15 – 18', demand: 20, solar: 10 }, // 2T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 10, solar: 0 }, // 2T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1139,14 +1139,14 @@
|
||||
desc: 'Wolken vorm Mittag — Solar fällt aus. Speicher aus dem ersten Tag muss reichen.',
|
||||
tankTopInit: 42,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 10, solar: 10 }, // Aus
|
||||
{ range: '09–12', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '12–15', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 10, solar: 10 }, // Aus
|
||||
{ range: '09 – 12', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '12 – 15', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1155,14 +1155,14 @@
|
||||
desc: 'Klare Luft, viel Solar, Bedarf moderat. Solar-Überschuss füllt den Speicher.',
|
||||
tankTopInit: 20,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09–12', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '12–15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15–18', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '18–21', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09 – 12', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '12 – 15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15 – 18', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '18 – 21', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -1176,14 +1176,14 @@
|
||||
desc: 'Klare Tage, gleichmäßiger Wechsel. Solar mittags noch ergiebig.',
|
||||
tankTopInit: 30,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09–12', demand: 5, solar: 15 }, // 2P
|
||||
{ range: '12–15', demand: 5, solar: 15 }, // 2P
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09 – 12', demand: 5, solar: 15 }, // 2P
|
||||
{ range: '12 – 15', demand: 5, solar: 15 }, // 2P
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 10, solar: 5 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1192,14 +1192,14 @@
|
||||
desc: 'Starker Wind durchgehend, Solar moderat. Pumpe und Turbine wechseln sich ständig ab.',
|
||||
tankTopInit: 15,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '03–06', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '06–09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '15–18', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '18–21', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '21–24', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '00 – 03', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '03 – 06', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '06 – 09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '15 – 18', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '18 – 21', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '21 – 24', demand: 5, solar: 10 }, // 1P
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1208,14 +1208,14 @@
|
||||
desc: 'Morgens Nebel, mittags Wolkenlücken, abends Tief. Sehr unbeständig.',
|
||||
tankTopInit: 42,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '15–18', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '18–21', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '15 – 18', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '18 – 21', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -1229,14 +1229,14 @@
|
||||
desc: 'Eisig kalt, Bedarf hoch wegen Heizen. Solar tagsüber knapp, abends Spitze.',
|
||||
tankTopInit: 42,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '06–09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '06 – 09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 10, solar: 0 }, // 2T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1245,14 +1245,14 @@
|
||||
desc: 'Tagsüber Solar gut, abends sehr kalt. Mit Pumpe-Mittag den Abend vorbereiten.',
|
||||
tankTopInit: 30,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1261,14 +1261,14 @@
|
||||
desc: 'Heftiger Wind, kaum Solar. Wind hilft tagsüber etwas, abends große Lücke.',
|
||||
tankTopInit: 30,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '03–06', demand: 10, solar: 10 }, // Aus
|
||||
{ range: '06–09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09–12', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '12–15', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '00 – 03', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '03 – 06', demand: 10, solar: 10 }, // Aus
|
||||
{ range: '06 – 09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09 – 12', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '12 – 15', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 5, solar: 5 }, // Aus
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -1282,14 +1282,14 @@
|
||||
desc: 'Industriegürtel mit hoher Tageslast. Wenig Pump-Spielraum, viel Turbinieren.',
|
||||
tankTopInit: 40,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09–12', demand: 15, solar: 15 }, // Aus
|
||||
{ range: '12–15', demand: 15, solar: 20 }, // 1P
|
||||
{ range: '15–18', demand: 15, solar: 10 }, // 1T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09 – 12', demand: 15, solar: 15 }, // Aus
|
||||
{ range: '12 – 15', demand: 15, solar: 20 }, // 1P
|
||||
{ range: '15 – 18', demand: 15, solar: 10 }, // 1T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1298,14 +1298,14 @@
|
||||
desc: 'Drei Bedarfsspitzen statt zwei. Speicher von gestern entscheidet.',
|
||||
tankTopInit: 50,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '06–09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09–12', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '12–15', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '15–18', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '06 – 09', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '09 – 12', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '12 – 15', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '15 – 18', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 10, solar: 5 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1314,14 +1314,14 @@
|
||||
desc: 'Großer Verbraucher legt um — Solar-Überschuss überall. Pumpen, was geht.',
|
||||
tankTopInit: 20,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15–18', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '18–21', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15 – 18', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '18 – 21', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -1335,14 +1335,14 @@
|
||||
desc: 'Niedriger Bedarf, normaler Solar-Verlauf. Großer Pump-Tag.',
|
||||
tankTopInit: 15,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09–12', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '12–15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15–18', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '18–21', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '21–24', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '09 – 12', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '12 – 15', demand: 5, solar: 16 }, // 2P
|
||||
{ range: '15 – 18', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '18 – 21', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '21 – 24', demand: 10, solar: 0 }, // 2T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1351,14 +1351,14 @@
|
||||
desc: 'Sehr niedriger Bedarf. Speicher fast unverändert, kaum Bewegung nötig.',
|
||||
tankTopInit: 20,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09–12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12–15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15–18', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '18–21', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '21–24', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09 – 12', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '12 – 15', demand: 5, solar: 10 }, // 1P
|
||||
{ range: '15 – 18', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '18 – 21', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '21 – 24', demand: 5, solar: 0 }, // 1T
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -1367,14 +1367,14 @@
|
||||
desc: 'Eigentlich ruhig, abends überraschende Spitze. Speicher bis dahin retten.',
|
||||
tankTopInit: 40,
|
||||
blocks: [
|
||||
{ range: '00–03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03–06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06–09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09–12', demand: 10, solar: 10 }, // Aus
|
||||
{ range: '12–15', demand: 10, solar: 15 }, // 1P
|
||||
{ range: '15–18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18–21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21–24', demand: 10, solar: 0 }, // 2T
|
||||
{ range: '00 – 03', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '03 – 06', demand: 5, solar: 0 }, // 1T
|
||||
{ range: '06 – 09', demand: 5, solar: 5 }, // Aus
|
||||
{ range: '09 – 12', demand: 10, solar: 10 }, // Aus
|
||||
{ range: '12 – 15', demand: 10, solar: 15 }, // 1P
|
||||
{ range: '15 – 18', demand: 10, solar: 5 }, // 1T
|
||||
{ range: '18 – 21', demand: 15, solar: 5 }, // 2T
|
||||
{ range: '21 – 24', demand: 10, solar: 0 }, // 2T
|
||||
],
|
||||
},
|
||||
],
|
||||
@@ -2104,10 +2104,10 @@
|
||||
netzfrequenz: { title:'Netzfrequenz — der Pulsschlag des Stromnetzes (50 Hz)', text:'In unseren Steckdosen fließt kein Gleichstrom wie aus einer Batterie, sondern WECHSELSTROM. Das heißt: Die elektrische Spannung wechselt fünfzig Mal pro Sekunde ihre Richtung — von Plus zu Minus und zurück. Diese Geschwindigkeit nennt man die Netzfrequenz, gemessen in Hertz (Hz).\n\nWarum ist das wichtig? Alle Kraftwerke und alle Verbraucher in Europa hängen am selben Netz und müssen GANZ GENAU im Takt von 50 Hz arbeiten. Stell dir das wie einen riesigen Chor vor: Wenn auch nur ein Sänger zu schnell oder zu langsam singt, klingt es schief.\n\nGenauer: Die Frequenz zeigt, ob Erzeugung und Verbrauch im Gleichgewicht sind:\n• Mehr Strom erzeugt als verbraucht → Frequenz STEIGT über 50 Hz.\n• Mehr Strom verbraucht als erzeugt → Frequenz SINKT unter 50 Hz.\n\nDie Toleranz ist winzig: ±0,2 Hz sind noch normal. Außerhalb davon (49,5 oder 50,5 Hz) greifen automatische Schutzmaßnahmen, damit kein Blackout passiert. Maschinen, Computer und Industrieanlagen sind auf exakt 50 Hz ausgelegt — Abweichungen zerstören sie.\n\nDie Netzfrequenz ist deshalb wie ein Pulsmesser für das ganze Stromnetz Europas — von Portugal bis Polen, von Norwegen bis Sizilien synchron.', unit:'Hz' },
|
||||
blackout: { title:'Blackout', text:'Großflächiger und längerer Stromausfall. Heizung, Wasser, Ampeln, Internet fallen aus. Kann Stunden bis Tage dauern.' },
|
||||
lastabwurf: { title:'Lastabwurf', text:'Notmaßnahme bei Frequenz-Einbruch: gezieltes Abschalten großer Stromabnehmer, um Blackout zu verhindern.' },
|
||||
pumpspeicher: { title:'Pumpspeicherkraftwerk', text:'Zwei Becken in unterschiedlicher Höhe + Turbine. Wasser hochpumpen speichert Energie, ablaufen lassen erzeugt Strom. Wirkungsgrad 70–85 %.' },
|
||||
pumpspeicher: { title:'Pumpspeicherkraftwerk', text:'Zwei Becken in unterschiedlicher Höhe + Turbine. Wasser hochpumpen speichert Energie, ablaufen lassen erzeugt Strom. Wirkungsgrad 70 – 85 %.' },
|
||||
turbine: { title:'Turbine', text:'Maschine mit Schaufelrad — durch strömendes Wasser angetrieben, treibt einen Generator an.' },
|
||||
wirkungsgrad: { title:'Wirkungsgrad', text:'Wie viel Prozent der eingesetzten Energie als Nutz-Energie ankommen. Pumpspeicher: 70–85 %, PV: 20–23 %.' },
|
||||
photovoltaik: { title:'Photovoltaik', text:'Technik, die Sonnenlicht direkt in Strom umwandelt. Wirkungsgrad 20–23 %.' },
|
||||
wirkungsgrad: { title:'Wirkungsgrad', text:'Wie viel Prozent der eingesetzten Energie als Nutz-Energie ankommen. Pumpspeicher: 70 – 85 %, PV: 20 – 23 %.' },
|
||||
photovoltaik: { title:'Photovoltaik', text:'Technik, die Sonnenlicht direkt in Strom umwandelt. Wirkungsgrad 20 – 23 %.' },
|
||||
spitzenlast: { title:'Spitzenlast', text:'Höchster Strombedarf des Tages — meist morgens und abends.' },
|
||||
grundlast: { title:'Grundlast', text:'Strom, der praktisch nie unter einen bestimmten Wert fällt — Kühlschränke, Server, Lüftung etc.' },
|
||||
lastausgleich:{ title:'Lastausgleich', text:'Aufgabe des Stromnetzes: Erzeugung und Verbrauch ständig in Balance halten.' },
|
||||
@@ -2473,7 +2473,7 @@
|
||||
}
|
||||
window.closeFunFact = closeFunFact;
|
||||
|
||||
// Einheitliche Zeit-Formatierung: '00–03' → '00 – 03 Uhr'
|
||||
// Einheitliche Zeit-Formatierung: '00 – 03' → '00 – 03 Uhr'
|
||||
function fmtTimeRange(r) {
|
||||
if (!r) return '';
|
||||
// Akzeptiere Bindestrich, en-dash, em-dash und Slash als Trenner
|
||||
|
||||
@@ -3957,7 +3957,7 @@ function renderDashboard() {
|
||||
${INVESTMENTS.map(inv => renderInvestCard(inv, totals.money)).join('')}
|
||||
</div>
|
||||
<div class="disclaimer-card">
|
||||
<strong>Wichtig:</strong> Diese Werte sind <em>historische Mittelwerte</em> der letzten 10–30 Jahre. Sie sind <strong>keine Prognose</strong> für die Zukunft. Geldanlagen können auch <strong>Verlust machen</strong>, vor allem in Krisenjahren — und je riskanter die Anlage, desto stärker schwankt sie. Sparbuch verliert real (nach Inflation) langfristig meist an Kaufkraft.
|
||||
<strong>Wichtig:</strong> Diese Werte sind <em>historische Mittelwerte</em> der letzten 10 – 30 Jahre. Sie sind <strong>keine Prognose</strong> für die Zukunft. Geldanlagen können auch <strong>Verlust machen</strong>, vor allem in Krisenjahren — und je riskanter die Anlage, desto stärker schwankt sie. Sparbuch verliert real (nach Inflation) langfristig meist an Kaufkraft.
|
||||
</div>
|
||||
|
||||
<!-- Anlage selbst konfigurieren -->
|
||||
|
||||
@@ -2081,7 +2081,7 @@ const CONCEPTS = {
|
||||
<h4>Was machen sie da?</h4>
|
||||
<p>Sie diskutieren die ganz großen Themen: Krieg in der Ukraine, Migrationspolitik, Klimaziele, Beziehungen zu China und den USA, Erweiterung der EU. Sie geben politische Richtungen vor – beschließen aber selbst KEINE Gesetze.</p>
|
||||
<h4>Wie oft tagen sie?</h4>
|
||||
<p>Mindestens 4 Mal im Jahr, oft auch öfter, wenn eine Krise das verlangt. Die Treffen finden meist in Brüssel statt und dauern 1–2 Tage.</p>
|
||||
<p>Mindestens 4 Mal im Jahr, oft auch öfter, wenn eine Krise das verlangt. Die Treffen finden meist in Brüssel statt und dauern 1 – 2 Tage.</p>
|
||||
<h4>Wichtig: Verwechslungsgefahr!</h4>
|
||||
<p>Der „Europäische Rat" und der „Rat der EU" (Ministerrat) sind ZWEI VERSCHIEDENE Institutionen. Der Europäische Rat sind die Chef*innen, der Rat der EU sind die jeweiligen Fachminister*innen. Selbst Erwachsene verwechseln das ständig.</p>
|
||||
`,
|
||||
@@ -2154,7 +2154,7 @@ const CONCEPTS = {
|
||||
`,
|
||||
caseContext: {
|
||||
cage_age: `
|
||||
<h4>End the Cage Age (2018–2021)</h4>
|
||||
<h4>End the Cage Age (2018 – 2021)</h4>
|
||||
<p>Die Initiative wurde von der britischen Tierschutzorganisation <strong>Compassion in World Farming (CIWF)</strong> ins Leben gerufen und von über 170 weiteren NGOs unterstützt. Sie startete im September 2018 und sammelte bis September 2019 stolze <strong>1.397.113 gültige Unterschriften aus 18 Ländern</strong> – damit die viertbestätigte Bürgerinitiative aller Zeiten.</p>
|
||||
<p>Im Bürgerkomitee saßen Tierschützer*innen aus mehreren Ländern, darunter <strong>Mahi Klosterhalfen</strong>, Präsident der Albert Schweitzer Stiftung in Deutschland. Die meisten Unterschriften kamen aus Deutschland (~360.000), Frankreich (~165.000) und Italien (~135.000). Aus Österreich kamen rund 23.000.</p>
|
||||
`
|
||||
@@ -3039,7 +3039,7 @@ const SCENARIOS = {
|
||||
narration: 'Nach einem Jahr ist es geschafft: 1.397.113 Unterschriften aus 18 Ländern – mehr als nötig! Auch deine Eltern haben unterschrieben. Die Kommission lädt das Bürgerkomitee zu einer öffentlichen Anhörung im EU-Parlament ein. Aber dann kommt die entscheidende Frage: Wer darf jetzt eigentlich den Gesetzestext schreiben?',
|
||||
milestone: {
|
||||
title: '1,4 Millionen Stimmen!',
|
||||
text: '<strong>End the Cage Age</strong> sammelte 2018–2019 echte 1.397.113 Unterschriften aus 18 Ländern. Damit gehört sie zu den vier erfolgreichsten Bürgerinitiativen aller Zeiten. Die Kommission MUSS sich nun befassen.'
|
||||
text: '<strong>End the Cage Age</strong> sammelte 2018 – 2019 echte 1.397.113 Unterschriften aus 18 Ländern. Damit gehört sie zu den vier erfolgreichsten Bürgerinitiativen aller Zeiten. Die Kommission MUSS sich nun befassen.'
|
||||
},
|
||||
question: 'Wer darf den offiziellen Gesetzestext einbringen?',
|
||||
pool: ['kommission', 'parlament', 'ministerrat', 'buergerinitiative'],
|
||||
@@ -3079,7 +3079,7 @@ const SCENARIOS = {
|
||||
type: 'mixed',
|
||||
title: 'Du hast es geschafft …',
|
||||
subtitle: 'Das Bürgerkomitee hat den Weg von der Idee bis zur Mitentscheidung richtig durchlaufen. Aber: Auch der lehrbuchmäßig richtige Weg garantiert kein Gesetz.',
|
||||
realStory: 'Die Bürgerinitiative „End the Cage Age" wurde von der britischen Organisation Compassion in World Farming gestartet und sammelte 2018–2019 rund 1,4 Millionen Unterschriften aus 18 EU-Ländern. Im Juni 2021 versprach die Kommission feierlich, einen Gesetzesvorschlag bis Ende 2023 vorzulegen. Doch bis heute (Mai 2026) ist das nicht passiert. Das Bürgerkomitee – darunter Mahi Klosterhalfen von der Albert Schweitzer Stiftung – klagt deshalb seit März 2024 vor dem Europäischen Gerichtshof. Im März 2026 fand die mündliche Verhandlung statt, das Urteil steht noch aus. Der Fall zeigt: Auch wenn alle demokratischen Schritte richtig gemacht werden, garantiert das noch kein Gesetz. Demokratie ist ein langer Atem.'
|
||||
realStory: 'Die Bürgerinitiative „End the Cage Age" wurde von der britischen Organisation Compassion in World Farming gestartet und sammelte 2018 – 2019 rund 1,4 Millionen Unterschriften aus 18 EU-Ländern. Im Juni 2021 versprach die Kommission feierlich, einen Gesetzesvorschlag bis Ende 2023 vorzulegen. Doch bis heute (Mai 2026) ist das nicht passiert. Das Bürgerkomitee – darunter Mahi Klosterhalfen von der Albert Schweitzer Stiftung – klagt deshalb seit März 2024 vor dem Europäischen Gerichtshof. Im März 2026 fand die mündliche Verhandlung statt, das Urteil steht noch aus. Der Fall zeigt: Auch wenn alle demokratischen Schritte richtig gemacht werden, garantiert das noch kein Gesetz. Demokratie ist ein langer Atem.'
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -41,15 +41,15 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Klimatisch ein Glücksgriff: Sommer mild bei 18–22 °C, ausreichend Niederschlag (500–700 mm), kühle Winter, die der Winterweizen für die spätere Kornbildung braucht. Die Halme stehen kniehoch, Ähren prall mit ~40 Körnern. Ertrag ~5–6 t/ha — europäischer Spitzenwert.",
|
||||
"Klimatisch ein Glücksgriff: Sommer mild bei 18 – 22 °C, ausreichend Niederschlag (500 – 700 mm), kühle Winter, die der Winterweizen für die spätere Kornbildung braucht. Die Halme stehen kniehoch, Ähren prall mit ~40 Körnern. Ertrag ~5 – 6 t/ha — europäischer Spitzenwert.",
|
||||
"Goldgelbe Felder bis zum Horizont. Der Mähdrescher hat zu tun. Korn-Qualität top, mahlfähig zu Mehl Type 550. Volle Lieferung."
|
||||
],
|
||||
"S2": [
|
||||
"Klima passt grob, aber der Sommer war zu trocken (unter 400 mm im Vegetationszyklus). Ähren etwas leerer, Korn kleiner. Ertrag ~3–4 t/ha — solide, nicht spitze. Brot wird daraus.",
|
||||
"Klima passt grob, aber der Sommer war zu trocken (unter 400 mm im Vegetationszyklus). Ähren etwas leerer, Korn kleiner. Ertrag ~3 – 4 t/ha — solide, nicht spitze. Brot wird daraus.",
|
||||
"Ein Hitzesommer hat zugesetzt. Die Halme sind kürzer, die Reife früher. Ernte unter Schnitt, aber gut verkaufbar."
|
||||
],
|
||||
"S3": [
|
||||
"Die Wachstumsperiode ist zu kurz, oder es regnet im falschen Moment. Magere Ähren mit oft tauben Körnern. Ertrag ~1–2 t/ha — kaum profitabel.",
|
||||
"Die Wachstumsperiode ist zu kurz, oder es regnet im falschen Moment. Magere Ähren mit oft tauben Körnern. Ertrag ~1 – 2 t/ha — kaum profitabel.",
|
||||
"Pilzbefall im feuchten Frühsommer (Mehltau, Rost). Was übrig bleibt, hat nur Futtermittel-Qualität."
|
||||
],
|
||||
"N1": [
|
||||
@@ -95,15 +95,15 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Ganzjährig 26–30 °C, 1500–2500 mm Regen, kein Frost — Bananenstauden-Paradies. Nach 9–12 Monaten erste Trauben. Ertrag ~30–40 t/ha — eines der ertragreichsten Anbausysteme der Welt.",
|
||||
"Ganzjährig 26 – 30 °C, 1500 – 2500 mm Regen, kein Frost — Bananenstauden-Paradies. Nach 9 – 12 Monaten erste Trauben. Ertrag ~30 – 40 t/ha — eines der ertragreichsten Anbausysteme der Welt.",
|
||||
"Pralle, schwere Trauben. Reifen langsam in der Wärme, Geschmack vollmundig. Direkt verschiffbar wenn sie noch grün sind."
|
||||
],
|
||||
"S2": [
|
||||
"Wärme passt, aber die Trockenzeit ist deutlich (3–4 Monate fast ohne Regen). Ohne Bewässerung Ertrag ~15–20 t/ha. Trauben kleiner, aber gut verkaufbar.",
|
||||
"Wärme passt, aber die Trockenzeit ist deutlich (3 – 4 Monate fast ohne Regen). Ohne Bewässerung Ertrag ~15 – 20 t/ha. Trauben kleiner, aber gut verkaufbar.",
|
||||
"Solide Ernte. Die Pflanzen wachsen langsamer in der trockenen Phase, holen aber im Regen wieder auf."
|
||||
],
|
||||
"S3": [
|
||||
"Im Winter rutscht die Temperatur auf 14–18 °C — Bananen stocken im Wachstum, treiben kaum. Ohne Folientunnel oder Mauerschutz nur Mini-Bananen.",
|
||||
"Im Winter rutscht die Temperatur auf 14 – 18 °C — Bananen stocken im Wachstum, treiben kaum. Ohne Folientunnel oder Mauerschutz nur Mini-Bananen.",
|
||||
"Mediterraner Versuch: geht knapp, aber die Trauben sind klein und stechreif. Touristen-Ware, kein Welthandel."
|
||||
],
|
||||
"N1": [
|
||||
@@ -204,7 +204,7 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Heiße trockene Tage, kalte Nächte, sandiger Boden, sparsame Vegetation — Kamel-Heimat. Die Tiere fressen Dornsträucher die andere verschmähen, trinken alle 1–2 Wochen, geben gleichbleibend Milch. Robuste Herde, hochwertige Tiere.",
|
||||
"Heiße trockene Tage, kalte Nächte, sandiger Boden, sparsame Vegetation — Kamel-Heimat. Die Tiere fressen Dornsträucher die andere verschmähen, trinken alle 1 – 2 Wochen, geben gleichbleibend Milch. Robuste Herde, hochwertige Tiere.",
|
||||
"Klassische Trocken-Savanne oder Steppe. Die Tiere sind genügsam, krank werden sie selten. Premium-Marktware aus den Wüstenrändern."
|
||||
],
|
||||
"S2": [
|
||||
@@ -258,11 +258,11 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Mekong-/Ganges-Delta-Bedingungen: ganzjährig 25–30 °C, Monsun bringt 1500+ mm Regen, Boden steht zeitweise unter Wasser. Nassreis trägt zwei bis drei Ernten pro Jahr. Ertrag ~5–7 t/ha — Asiens Standard.",
|
||||
"Mekong-/Ganges-Delta-Bedingungen: ganzjährig 25 – 30 °C, Monsun bringt 1500+ mm Regen, Boden steht zeitweise unter Wasser. Nassreis trägt zwei bis drei Ernten pro Jahr. Ertrag ~5 – 7 t/ha — Asiens Standard.",
|
||||
"Volle Rispen, glänzende Körner. Die Terrassen sind perfekt geflutet, der Reis steht hüfthoch. Spitzenernte."
|
||||
],
|
||||
"S2": [
|
||||
"Mit Bewässerung geht's. Die Trockenzeit ist lang, ohne Kanäle würde nichts wachsen. Ertrag ~3–4 t/ha, qualitativ ok.",
|
||||
"Mit Bewässerung geht's. Die Trockenzeit ist lang, ohne Kanäle würde nichts wachsen. Ertrag ~3 – 4 t/ha, qualitativ ok.",
|
||||
"Reis hält sich, aber das Wasser muss gepumpt werden. Nicht ohne Aufwand."
|
||||
],
|
||||
"S3": [
|
||||
@@ -310,7 +310,7 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Klassische Kaffee-Region (Brasilien-Cerrado, Kolumbien-Anden, Äthiopien-Hochland): Tagsüber 22–28 °C, kühle Nächte, ~1500 mm Regen. Die Sträucher hängen voller roter Kirschen. Ertrag ~1–2 t Bohnen/ha — Spitzenqualität.",
|
||||
"Klassische Kaffee-Region (Brasilien-Cerrado, Kolumbien-Anden, Äthiopien-Hochland): Tagsüber 22 – 28 °C, kühle Nächte, ~1500 mm Regen. Die Sträucher hängen voller roter Kirschen. Ertrag ~1 – 2 t Bohnen/ha — Spitzenqualität.",
|
||||
"Arabica-Bedingungen perfekt. Die Kirschen reifen langsam und gleichmäßig — feiner Geschmack, hoher Marktpreis."
|
||||
],
|
||||
"S2": [
|
||||
@@ -416,11 +416,11 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"US-Corn-Belt-Bedingungen: heiße feuchte Sommer (25–30 °C), tiefer Mutterboden, ~600–800 mm Niederschlag im Vegetationszyklus. Kolben hängen schwer. Ertrag ~10–12 t/ha — Welt-Spitze.",
|
||||
"US-Corn-Belt-Bedingungen: heiße feuchte Sommer (25 – 30 °C), tiefer Mutterboden, ~600 – 800 mm Niederschlag im Vegetationszyklus. Kolben hängen schwer. Ertrag ~10 – 12 t/ha — Welt-Spitze.",
|
||||
"Mannshohe Maisstangen, dichte Felder. Mähdrescher arbeitet einen Tag pro Hektar. Top-Ernte für Futter und Stärke."
|
||||
],
|
||||
"S2": [
|
||||
"Klima passt grob — etwas zu trocken oder zu warm in der Reife. Ertrag ~5–7 t/ha, vermarktbar.",
|
||||
"Klima passt grob — etwas zu trocken oder zu warm in der Reife. Ertrag ~5 – 7 t/ha, vermarktbar.",
|
||||
"Mais kommt durch, aber die Kolben sind kleiner. Solide Ernte."
|
||||
],
|
||||
"S3": ["Magere Ernte, viele leere Kolben. Mit Bewässerung würde mehr gehen."],
|
||||
@@ -463,7 +463,7 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Lachsfarm im Fjord oder Tilapia-Käfig im warmen Meer — perfekte Bedingungen. Sauerstoffreiches Wasser, gleichmäßige Temperaturen, viel Platz. Pro Käfig ~30–50 t alle 2 Jahre. Norwegen-, Chile-, Vietnam-Modell.",
|
||||
"Lachsfarm im Fjord oder Tilapia-Käfig im warmen Meer — perfekte Bedingungen. Sauerstoffreiches Wasser, gleichmäßige Temperaturen, viel Platz. Pro Käfig ~30 – 50 t alle 2 Jahre. Norwegen-, Chile-, Vietnam-Modell.",
|
||||
"Volle Käfige, gesunde Fische, hohe Marktpreise. Aquakultur ist der am schnellsten wachsende Bereich der Tierproduktion weltweit."
|
||||
],
|
||||
"S2": ["Solide Ernte — Wassertemperatur etwas suboptimal, aber Fische gedeihen."],
|
||||
@@ -474,7 +474,7 @@
|
||||
"Aquakultur funktioniert nicht im Hinterland — kein Wasserkörper, kein Fisch."
|
||||
],
|
||||
"wasser": [
|
||||
"🌊 Lachsfarm im Fjord — perfekte Bedingungen, kühles klares Wasser, viel Sauerstoff. Pro Käfig ~30–50 t Lachs alle 2 Jahre.",
|
||||
"🌊 Lachsfarm im Fjord — perfekte Bedingungen, kühles klares Wasser, viel Sauerstoff. Pro Käfig ~30 – 50 t Lachs alle 2 Jahre.",
|
||||
"🌊 Tilapia-Farm im warmen Meer. Schnellwachsend, robust, stabile Erträge — Vietnam-/Indonesien-Modell."
|
||||
],
|
||||
"disease": [
|
||||
@@ -508,7 +508,7 @@
|
||||
},
|
||||
"narratives": {
|
||||
"S1": [
|
||||
"Mediterran perfekt: heiße trockene Sommer (25–35 °C), milde Winter (5–10 °C, kein Dauerfrost), karger Kalkboden. Olivenbäume tragen alle 2 Jahre voll. Ertrag ~3–4 t Oliven/ha → ~600 kg Olivenöl.",
|
||||
"Mediterran perfekt: heiße trockene Sommer (25 – 35 °C), milde Winter (5 – 10 °C, kein Dauerfrost), karger Kalkboden. Olivenbäume tragen alle 2 Jahre voll. Ertrag ~3 – 4 t Oliven/ha → ~600 kg Olivenöl.",
|
||||
"Silbergraue Hänge bis zum Horizont, jahrhundertealte Bäume tragen schwer. Kaltgepresstes Olivenöl extra vergine — Spitzenpreis."
|
||||
],
|
||||
"S2": ["Solide Ernte, etwas zu trocken oder zu warm. Tafeloliven gehen, Öl-Qualität OK."],
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Totalausfall des ganzen Clusters. Deterministisch via Mulberry32.
|
||||
* - Unlock-System: Sorten haben unlockYear; ab dem Jahr verfügbar.
|
||||
* Counter pro Sorte sinkt je nach Anzahl freigeschalteter Sorten:
|
||||
* 1–3 Sorten = 3, 4 = 2, 5 = 2, 6+ = 1.
|
||||
* 1 – 3 Sorten = 3, 4 = 2, 5 = 2, 6+ = 1.
|
||||
*
|
||||
* Daten (assets/data/):
|
||||
* crops.json — Sorten, Eignung, Diagnose, monoculture-Konfig
|
||||
@@ -214,7 +214,7 @@ window.FarmerEngine = (function () {
|
||||
const MARKET_BLOCK_YEARS = 3;
|
||||
|
||||
/** Markt-Auftrag des Jahres: pro 3 Jahre ein Hub, dann zum nächsten zyklisch.
|
||||
* Jahr 1–3 → Hub 0, Jahr 4–6 → Hub 1, ... */
|
||||
* Jahr 1 – 3 → Hub 0, Jahr 4 – 6 → Hub 1, ... */
|
||||
function getMarketHubForYear(year) {
|
||||
if (!HUBS_DATA || !HUBS_DATA.hubs.length) return null;
|
||||
const block = Math.floor((year - 1) / MARKET_BLOCK_YEARS);
|
||||
|
||||
@@ -802,7 +802,7 @@ let currentReports = [];
|
||||
let currentReportIdx = 0;
|
||||
let currentHighlightedId = null;
|
||||
let startTime = Date.now(); // für Endbericht: gespielte Zeit
|
||||
const END_REPORT_TRIGGER_YEAR = 11; // Endbericht-Modal nach 10 abgeschlossenen Jahren — passt zur 10–20-Min-Spielzeit. Schüler*in kann „Weiter arbeiten" wählen bis Jahr 22+ (alle Sorten unlocked).
|
||||
const END_REPORT_TRIGGER_YEAR = 11; // Endbericht-Modal nach 10 abgeschlossenen Jahren — passt zur 10 – 20-Min-Spielzeit. Schüler*in kann „Weiter arbeiten" wählen bis Jahr 22+ (alle Sorten unlocked).
|
||||
|
||||
// ===== Boot =====
|
||||
(async function boot() {
|
||||
|
||||
@@ -226,8 +226,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<span class="cat cat-geschick">Geschick</span><br>
|
||||
• Start-Sterne (1–5)<br>
|
||||
• Landung-Sterne (1–5)<br>
|
||||
• Start-Sterne (1 – 5)<br>
|
||||
• Landung-Sterne (1 – 5)<br>
|
||||
• G-Kraft-Durchschnitt<br>
|
||||
• Berührungen
|
||||
</td>
|
||||
|
||||
@@ -2366,7 +2366,7 @@ var HELI_ONBOARDING_STEPS = [
|
||||
+ '<text x="445" y="110" fill="#3d5165">+ Auswertung</text>'
|
||||
+ '</g>'
|
||||
+ '<defs><marker id="arrowg" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#5a8a5e"/></marker></defs>'
|
||||
+ '<text x="240" y="158" text-anchor="middle" font-size="9" fill="#3d5165" font-style="italic">~ 5–8 Minuten pro Einsatz</text>'
|
||||
+ '<text x="240" y="158" text-anchor="middle" font-size="9" fill="#3d5165" font-style="italic">~ 5 – 8 Minuten pro Einsatz</text>'
|
||||
+ '</svg>',
|
||||
text: 'Jede Mission besteht aus <b>5 Phasen</b>:<ul>'
|
||||
+ '<li><b>📋 Auftrag wählen</b> — wir bekommen drei Einsätze vorgeschlagen. Such einen aus.</li>'
|
||||
@@ -2470,7 +2470,7 @@ var HELI_ONBOARDING_STEPS = [
|
||||
+ '<br><br><ul>'
|
||||
+ '<li><span class="heli-glossar-term" data-glossar="vogelschlag"><b>🦅 Vögel (Vogelschlag)</b></span> — gefährlich für Rotor und Cockpitscheibe. Besonders über Seen (Möwen), bei Dämmerung (Zugvögel) und an Berghängen (Greifvögel auf Aufwinden). Bei Sichtung kurz Höhe oder Kurs ändern.</li>'
|
||||
+ '<li><span class="heli-glossar-term" data-glossar="luftverkehr"><b>✈ Anderer Luftverkehr</b></span> — andere Helis, Flugzeuge, Drohnen, Segelflieger, Paragleiter. Abstand halten über <span class="heli-glossar-term" data-glossar="tower">Funk</span> und Sicht. Als Notarzt-Heli haben wir Vorflugrecht, andere müssen ausweichen.</li>'
|
||||
+ '<li><span class="heli-glossar-term" data-glossar="gewitter-flug"><b>⛈ Gewitter</b></span> — lebensgefährlich für Helis (Sturmböen, Hagel, Sicht-Verlust, Blitz). Mindestens <b>10–15 km Abstand</b> halten. Bei plötzlichem Gewitter: sofort landen, Patient später holen.</li>'
|
||||
+ '<li><span class="heli-glossar-term" data-glossar="gewitter-flug"><b>⛈ Gewitter</b></span> — lebensgefährlich für Helis (Sturmböen, Hagel, Sicht-Verlust, Blitz). Mindestens <b>10 – 15 km Abstand</b> halten. Bei plötzlichem Gewitter: sofort landen, Patient später holen.</li>'
|
||||
+ '</ul>'
|
||||
+ '<br><b>Tipp:</b> Klick auf jeden der unterstrichenen Begriffe — Marlene erklärt sie dir kurz. Im <b>📖 Glossar</b> findest du die ausführlichen Versionen.'
|
||||
},
|
||||
@@ -2496,11 +2496,11 @@ var HELI_ONBOARDING_STEPS = [
|
||||
+ '<text x="390" y="118" font-size="8" fill="#3d5165">Landezone frei</text>'
|
||||
// Mittelwert-Pfeil
|
||||
+ '<path d="M 240 135 L 240 148" stroke="#c97a3f" stroke-width="2" marker-end="url(#arrowo)"/>'
|
||||
+ '<text x="240" y="158" font-weight="800" fill="#c97a3f">⌀ Gesamtbewertung 1–5 ★</text>'
|
||||
+ '<text x="240" y="158" font-weight="800" fill="#c97a3f">⌀ Gesamtbewertung 1 – 5 ★</text>'
|
||||
+ '</g>'
|
||||
+ '<defs><marker id="arrowo" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#c97a3f"/></marker></defs>'
|
||||
+ '</svg>',
|
||||
text: 'Wir bewerten drei Bereiche: <b>📍 Routenplanung</b>, <b>🛫 Start</b>, <b>🛬 Landung</b> — jeweils 1–5 Sterne. Aus dem Mittelwert ergibt sich deine Gesamtbewertung.'
|
||||
text: 'Wir bewerten drei Bereiche: <b>📍 Routenplanung</b>, <b>🛫 Start</b>, <b>🛬 Landung</b> — jeweils 1 – 5 Sterne. Aus dem Mittelwert ergibt sich deine Gesamtbewertung.'
|
||||
+ '<br><br><b>Und wenn du Fehler machst?</b> Keine Sorge — ich sitze ja neben dir. Bei der Routenplanung darfst du <b>15 falsche Wegpunkt-Klicks</b> ausprobieren. Bei mehr greife ich ein und plane den Rest. Beim Start oder bei der Landung übernehme ich, wenn ein Manöver zu riskant wird. <b>Den Patient bringen wir in jedem Fall sicher ins Krankenhaus</b> — du sammelst nur weniger Sterne und kannst es im nächsten Einsatz selbst besser machen.'
|
||||
+ '<br><br>📍 Diese Einschulung kannst du übrigens jederzeit oben über den <b>❓ Spielhilfe</b>-Button nochmal aufrufen. Und die <b>📍 Übersichtskarte</b> ist deine beste Vorbereitung — schau dir Stützpunkte, Städte und Berge vorher in Ruhe an.'
|
||||
+ '<br><br>Bereit? Such dir deinen ersten Einsatz aus. 💪'
|
||||
|
||||
@@ -1131,7 +1131,7 @@
|
||||
mastH: 30 + Math.random() * 12
|
||||
});
|
||||
}
|
||||
// 2–3 große Segelschiffe mit hohem Mast (echtes Hindernis)
|
||||
// 2 – 3 große Segelschiffe mit hohem Mast (echtes Hindernis)
|
||||
const tall = 2 + Math.floor(Math.random() * 2);
|
||||
for (let i = 0; i < tall; i++) {
|
||||
let x;
|
||||
@@ -1168,7 +1168,7 @@
|
||||
const segStart = segmentStarts[segIdx], segEnd = segmentEnds[segIdx];
|
||||
const zoneW = 220;
|
||||
const zoneX = segStart + 40 + Math.random() * (segEnd - segStart - zoneW - 80);
|
||||
// Unfallstelle 100–160 px vor oder hinter der Landezone — aber im selben Segment
|
||||
// Unfallstelle 100 – 160 px vor oder hinter der Landezone — aber im selben Segment
|
||||
let crashX = zoneX + zoneW/2 + (Math.random() < 0.5 ? -1 : 1) * (110 + Math.random()*40);
|
||||
crashX = Math.max(segStart + 60, Math.min(segEnd - 60, crashX));
|
||||
// Gaffer im naheren Umfeld der Landezone — sie laufen durchgehend in
|
||||
@@ -3508,7 +3508,7 @@
|
||||
else if (sinkRate > 40) { lzR=74; lzG=124; lzB=78; lzLabel='GUTES TEMPO'; }
|
||||
else { lzLabel='ANFLUG — TIEFER'; }
|
||||
}
|
||||
// Landezone deutlich heller (Alpha 0.65–1.0, voller Farbton statt gedaempft)
|
||||
// Landezone deutlich heller (Alpha 0.65 – 1.0, voller Farbton statt gedaempft)
|
||||
ctx.fillStyle = `rgba(${lzR},${lzG},${lzB},${0.65 + 0.35 * blink})`;
|
||||
ctx.fillRect(lzSx, GROUND_Y - 22, lz.w, 22);
|
||||
ctx.strokeStyle = `rgba(255,255,255,1.0)`;
|
||||
@@ -3988,7 +3988,7 @@
|
||||
state._fuelTrack.lastFuel = h.fuel;
|
||||
state._fuelTrack.lastT = state.t;
|
||||
}
|
||||
// Balken: 0..12 l/min (typisch 4–6, Vollschub bis ~10), mit Mindestbreite 4%
|
||||
// Balken: 0..12 l/min (typisch 4 – 6, Vollschub bis ~10), mit Mindestbreite 4%
|
||||
const lpm = state._fuelLitersPerMin || 0;
|
||||
const fr = document.getElementById('fFuelRate');
|
||||
const vr = document.getElementById('vFuelRate');
|
||||
|
||||
@@ -290,7 +290,7 @@ var ROUTES = [
|
||||
waypoints:['hohenems','dornbirn','egg','bezau','au','schroecken','warth','riezlern'],
|
||||
desc:'Einsatz im Kleinwalsertal. Das Tal ist nur von Deutschland oder per Luft erreichbar — eine der anspruchsvollsten Routen Vorarlbergs.', reason:'Funktionale Exklave — Luftweg einzige österreichische Verbindung', region:'vlbg'},
|
||||
|
||||
// === TIROL-ROUTEN (31–60) ===
|
||||
// === TIROL-ROUTEN (31 – 60) ===
|
||||
// Von C1 Innsbruck
|
||||
{id:31, name:'Innsbruck → Sölden (Skiunfall)', start:'innsbruck_c1', end:'skiunfall_soelden', difficulty:'medium', region:'tirol',
|
||||
waypoints:['innsbruck_c1','telfs','oetz','soelden','skiunfall_soelden'],
|
||||
|
||||
@@ -1068,12 +1068,12 @@ const GLOSSAR = {
|
||||
co2: { title:'CO₂ (Kohlendioxid)', text:'Ein farbloses Gas, das beim Verbrennen von Kohle, Öl und Gas entsteht. Es verstärkt den Treibhauseffekt — der wichtigste Treiber des Klimawandels.', unit:'in ppm (parts per million)', link:'https://de.wikipedia.org/wiki/Kohlenstoffdioxid' },
|
||||
ppm: { title:'ppm (parts per million)', text:'Anteilseinheit: 1 ppm bedeutet ein Teilchen pro Million. Bei CO₂ misst man, wie viele CO₂-Moleküle pro Million Luftmoleküle in der Atmosphäre sind. Vorindustriell ~280 ppm, heute ~425 ppm.', unit:'1 ppm = 1 Teilchen / 1.000.000', link:'https://de.wikipedia.org/wiki/Parts_per_million' },
|
||||
megatonne: { title:'Megatonne (Mt)', text:'Eine Million Tonnen. Österreich stößt etwa 70 Mt CO₂ pro Jahr aus.', unit:'1 Mt = 1.000.000 Tonnen' },
|
||||
megawatt: { title:'Megawatt (MW)', text:'Einheit der elektrischen Leistung. 1 MW = 1 Million Watt. Reicht für ca. 1.000 Haushalte, je nach Verbrauch. Ein modernes Windrad liefert 3–5 MW, eine große Solaranlage 1 MW oder mehr.', unit:'1 MW = 1.000.000 Watt', link:'https://de.wikipedia.org/wiki/Watt_(Einheit)' },
|
||||
megawatt: { title:'Megawatt (MW)', text:'Einheit der elektrischen Leistung. 1 MW = 1 Million Watt. Reicht für ca. 1.000 Haushalte, je nach Verbrauch. Ein modernes Windrad liefert 3 – 5 MW, eine große Solaranlage 1 MW oder mehr.', unit:'1 MW = 1.000.000 Watt', link:'https://de.wikipedia.org/wiki/Watt_(Einheit)' },
|
||||
temperatur: { title:'Globale Durchschnittstemperatur', text:'Seit der Industrialisierung (~1850) ist sie um etwa 1,2 °C gestiegen. Das Pariser Abkommen will den Anstieg auf 1,5 °C begrenzen.', unit:'°C', link:'https://de.wikipedia.org/wiki/Globale_Erwärmung' },
|
||||
meeresspiegel:{ title:'Meeresspiegel', text:'Steigt durch schmelzendes Eis und die Ausdehnung warmen Wassers. Seit 1900 rund 20 cm. Bis 2100 möglicherweise über 1 m.', unit:'in cm über Startniveau', link:'https://de.wikipedia.org/wiki/Meeresspiegelanstieg' },
|
||||
ueberflutung: { title:'Überflutete Fläche', text:'Prozentanteil der Siedlungen, die unter Wasser stehen, sobald der Meeresspiegel den Schutz (Deiche etc.) überschreitet.', unit:'in %' },
|
||||
windpark: { title:'Windpark', text:'Gruppe von Windkraftanlagen. Rotoren wandeln Wind in elektrische Energie um. Oft an Küsten oder auf See (Offshore).', unit:'Leistung in MW', link:'https://de.wikipedia.org/wiki/Windpark' },
|
||||
solaranlage: { title:'Solaranlage', text:'Wandelt Sonnenlicht in Strom um (Photovoltaik). Dachanlage: 5–10 kW, Solarpark: mehrere MW.', unit:'Leistung in kW/MW', link:'https://de.wikipedia.org/wiki/Photovoltaikanlage' },
|
||||
solaranlage: { title:'Solaranlage', text:'Wandelt Sonnenlicht in Strom um (Photovoltaik). Dachanlage: 5 – 10 kW, Solarpark: mehrere MW.', unit:'Leistung in kW/MW', link:'https://de.wikipedia.org/wiki/Photovoltaikanlage' },
|
||||
deich: { title:'Deich', text:'Künstlicher Damm aus Erde oder Stein, der Siedlungen vor Hochwasser schützt. Wirkt sofort, braucht aber Pflege.', link:'https://de.wikipedia.org/wiki/Deich' },
|
||||
mangrove: { title:'Mangroven', text:'Salzwasser-verträgliche Bäume an tropischen Küsten. Binden CO₂ und schützen vor Erosion — Naturlösung gegen zwei Probleme.', link:'https://de.wikipedia.org/wiki/Mangroven' },
|
||||
co2_filter: { title:'CO₂-Filter (Carbon Capture)', text:'Technologie, die CO₂ aus der Luft filtert. Noch teuer und energieintensiv, wird als Ergänzung erforscht.', link:'https://de.wikipedia.org/wiki/CO2-Abscheidung_und_-Speicherung' },
|
||||
|
||||
@@ -1205,12 +1205,12 @@ const GLOSSAR = {
|
||||
co2: { title:'CO₂ (Kohlendioxid)', text:'Ein farbloses Gas, das beim Verbrennen von Kohle, Öl und Gas entsteht. Es verstärkt den Treibhauseffekt — der wichtigste Treiber des Klimawandels.', unit:'in ppm (parts per million)', link:'https://de.wikipedia.org/wiki/Kohlenstoffdioxid' },
|
||||
ppm: { title:'ppm (parts per million)', text:'Anteilseinheit: 1 ppm bedeutet ein Teilchen pro Million. Bei CO₂ misst man, wie viele CO₂-Moleküle pro Million Luftmoleküle in der Atmosphäre sind. Vorindustriell ~280 ppm, heute ~425 ppm.', unit:'1 ppm = 1 Teilchen / 1.000.000', link:'https://de.wikipedia.org/wiki/Parts_per_million' },
|
||||
megatonne: { title:'Megatonne (Mt)', text:'Eine Million Tonnen. Österreich stößt etwa 70 Mt CO₂ pro Jahr aus.', unit:'1 Mt = 1.000.000 Tonnen' },
|
||||
megawatt: { title:'Megawatt (MW)', text:'Einheit der elektrischen Leistung. 1 MW = 1 Million Watt. Reicht für ca. 1.000 Haushalte, je nach Verbrauch. Ein modernes Windrad liefert 3–5 MW, eine große Solaranlage 1 MW oder mehr.', unit:'1 MW = 1.000.000 Watt', link:'https://de.wikipedia.org/wiki/Watt_(Einheit)' },
|
||||
megawatt: { title:'Megawatt (MW)', text:'Einheit der elektrischen Leistung. 1 MW = 1 Million Watt. Reicht für ca. 1.000 Haushalte, je nach Verbrauch. Ein modernes Windrad liefert 3 – 5 MW, eine große Solaranlage 1 MW oder mehr.', unit:'1 MW = 1.000.000 Watt', link:'https://de.wikipedia.org/wiki/Watt_(Einheit)' },
|
||||
temperatur: { title:'Globale Durchschnittstemperatur', text:'Seit der Industrialisierung (~1850) ist sie um etwa 1,2 °C gestiegen. Das Pariser Abkommen will den Anstieg auf 1,5 °C begrenzen.', unit:'°C', link:'https://de.wikipedia.org/wiki/Globale_Erwärmung' },
|
||||
meeresspiegel:{ title:'Meeresspiegel', text:'Steigt durch schmelzendes Eis und die Ausdehnung warmen Wassers. Seit 1900 rund 20 cm. Bis 2100 möglicherweise über 1 m.', unit:'in cm über Startniveau', link:'https://de.wikipedia.org/wiki/Meeresspiegelanstieg' },
|
||||
ueberflutung: { title:'Überflutete Fläche', text:'Prozentanteil der Siedlungen, die unter Wasser stehen, sobald der Meeresspiegel den Schutz (Deiche etc.) überschreitet.', unit:'in %' },
|
||||
windpark: { title:'Windpark', text:'Gruppe von Windkraftanlagen. Rotoren wandeln Wind in elektrische Energie um. Oft an Küsten oder auf See (Offshore).', unit:'Leistung in MW', link:'https://de.wikipedia.org/wiki/Windpark' },
|
||||
solaranlage: { title:'Solaranlage', text:'Wandelt Sonnenlicht in Strom um (Photovoltaik). Dachanlage: 5–10 kW, Solarpark: mehrere MW.', unit:'Leistung in kW/MW', link:'https://de.wikipedia.org/wiki/Photovoltaikanlage' },
|
||||
solaranlage: { title:'Solaranlage', text:'Wandelt Sonnenlicht in Strom um (Photovoltaik). Dachanlage: 5 – 10 kW, Solarpark: mehrere MW.', unit:'Leistung in kW/MW', link:'https://de.wikipedia.org/wiki/Photovoltaikanlage' },
|
||||
deich: { title:'Deich', text:'Künstlicher Damm aus Erde oder Stein, der Siedlungen vor Hochwasser schützt. Wirkt sofort, braucht aber Pflege.', link:'https://de.wikipedia.org/wiki/Deich' },
|
||||
mangrove: { title:'Mangroven', text:'Salzwasser-verträgliche Bäume an tropischen Küsten. Binden CO₂ und schützen vor Erosion — Naturlösung gegen zwei Probleme.', link:'https://de.wikipedia.org/wiki/Mangroven' },
|
||||
co2_filter: { title:'CO₂-Filter (Carbon Capture)', text:'Technologie, die CO₂ aus der Luft filtert. Noch teuer und energieintensiv, wird als Ergänzung erforscht.', link:'https://de.wikipedia.org/wiki/CO2-Abscheidung_und_-Speicherung' },
|
||||
@@ -1295,7 +1295,7 @@ const INFO_TOPICS = {
|
||||
mangrove_info: {
|
||||
title: '🪸 Mangrovenwald',
|
||||
text: 'Mangroven sind salzwasser-verträgliche Bäume an tropischen Küsten. Sie binden CO₂ UND schützen das Land vor Wellen und Erosion — zwei Klimaschutz-Jobs in einem.\n\nIn Indonesien, Bangladesch und Vietnam retten Mangrovenwälder jedes Jahr Millionen von Menschen vor Sturmfluten.',
|
||||
hint: 'Kippen aber ab etwa 30–70 cm Meeresanstieg um: sie können dann nicht mehr schnell genug mitwachsen und ersticken.',
|
||||
hint: 'Kippen aber ab etwa 30 – 70 cm Meeresanstieg um: sie können dann nicht mehr schnell genug mitwachsen und ersticken.',
|
||||
},
|
||||
sand_fill_info: {
|
||||
title: '🏖 Sand-Aufschüttung',
|
||||
|
||||
@@ -1885,14 +1885,14 @@ const KD_FUNDSACHEN = [
|
||||
{ id:'adapter', emoji:'🔌', name:'Reiseadapter', info:
|
||||
'Steckdosen sind weltweit unterschiedlich geformt — Typ C in der EU, Typ G in Großbritannien, Typ A/B in den USA, Typ I in Australien. Ein '+_g('reiseadapter','Reiseadapter')+' macht aus deinem Stecker einen passenden für die fremde Steckdose. '+
|
||||
'<br><br>Achtung: Ein Adapter ändert nur die Form — nicht die '+_g('netzspannung','Spannung')+'. In den USA und Japan kommen nur 110 Volt aus der Steckdose, bei uns 230 Volt. '+
|
||||
'<br><br>Moderne Lade-Geräte (Handy, Laptop) sind meist universell („INPUT: 100–240V"). Alte Föhne oder Rasierer brauchen zusätzlich einen Spannungs-Wandler — sonst brennen sie durch.' },
|
||||
'<br><br>Moderne Lade-Geräte (Handy, Laptop) sind meist universell („INPUT: 100 – 240V"). Alte Föhne oder Rasierer brauchen zusätzlich einen Spannungs-Wandler — sonst brennen sie durch.' },
|
||||
{ id:'powerbank',emoji:'🔋', name:'Powerbank', info:
|
||||
'Powerbanks und Ersatz-Akkus müssen ins '+_g('akku-handgepaeck','Handgepäck')+' — nie in den aufgegebenen Koffer. Im Frachtraum eines Flugzeugs wäre ein Akkubrand zu spät zu bemerken; im Handgepäck kann das Personal sofort eingreifen. '+
|
||||
'<br><br>Regel weltweit (ICAO): Bis 100 Wattstunden problemlos erlaubt, 100–160 Wh nur mit Erlaubnis der Fluglinie, über 160 Wh komplett verboten. Eine typische 10.000-mAh-Powerbank hat 37 Wh — also kein Problem. '+
|
||||
'<br><br>Regel weltweit (ICAO): Bis 100 Wattstunden problemlos erlaubt, 100 – 160 Wh nur mit Erlaubnis der Fluglinie, über 160 Wh komplett verboten. Eine typische 10.000-mAh-Powerbank hat 37 Wh — also kein Problem. '+
|
||||
'<br><br>2010 sind drei UPS-Frachter wegen brennender Lithium-Akkus abgestürzt — daher die strengen Regeln. Lithium-Akkus in seltenen Fällen Feuer fangen.' },
|
||||
{ id:'sonnenbr', emoji:'🕶️', name:'Sonnenbrille', info:
|
||||
'Je näher am '+_g('aequator','Äquator')+' und je höher die Lage, desto stärker die '+_g('uv-strahlung','UV-Strahlung')+'. In Schnee- und Wüstenregionen reflektieren bis zu 80 Prozent der Strahlen — Sonnenbrille mit UV-400-Filter ist Pflicht. '+
|
||||
'<br><br>Die WHO veröffentlicht den UV-Index als Skala 1–11+. In Australien werden im Sommer regelmäßig Werte von 13–14 gemessen — die höchsten weltweit. '+
|
||||
'<br><br>Die WHO veröffentlicht den UV-Index als Skala 1 – 11+. In Australien werden im Sommer regelmäßig Werte von 13 – 14 gemessen — die höchsten weltweit. '+
|
||||
'<br><br>UV-Strahlung verursacht Sonnenbrand und auf Dauer auch Hautkrebs. Schutz vor allem mittags zwischen 11 und 15 Uhr ist wichtig — auch bei bewölktem Wetter.' },
|
||||
{ id:'kamera', emoji:'📷', name:'Reisekamera', info:
|
||||
'In manchen Ländern ist das '+_g('fotografie-verbot','Fotografieren')+' von Flughäfen, Grenzen, Militär oder Regierungsgebäuden streng verboten. Was bei uns selbstverständlich ist, kann woanders eine Geldstrafe oder Festnahme bedeuten. '+
|
||||
@@ -1916,7 +1916,7 @@ const KD_FUNDSACHEN = [
|
||||
'<br><br>Sicher: Flaschenwasser aus versiegelter Plastikflasche, abgekochtes Wasser (3 Min sprudelnd), Filter mit Aktivkohle. Auch Eiswürfel im Drink und ungeschältes Obst können belastet sein.' },
|
||||
{ id:'geld', emoji:'💶', name:'Reisegeld', info:
|
||||
'Viele Länder haben eine eigene Währung. Der '+_g('wechselkurs','Wechselkurs')+' sagt, wie viel deine Euro dort wert sind — und er ändert sich täglich. '+
|
||||
'<br><br>Am Flughafen tauschen ist meistens teurer (schlechter Kurs + Gebühren). Mit Bankkarte zahlen ist oft günstiger — viele Banken nehmen aber 1–2 % Auslandsgebühr. '+
|
||||
'<br><br>Am Flughafen tauschen ist meistens teurer (schlechter Kurs + Gebühren). Mit Bankkarte zahlen ist oft günstiger — viele Banken nehmen aber 1 – 2 % Auslandsgebühr. '+
|
||||
'<br><br>An Bankomaten im Ausland: immer in Lokalwährung wählen, nie in Euro abrechnen lassen („Dynamic Currency Conversion"). Die Konvertierung der lokalen Bank ist eigentlich immer schlechter.' },
|
||||
{ id:'karte_kred',emoji:'💳',name:'Bankkarte', info:
|
||||
'Mit Karte zahlst du oft auch im Ausland. Beim Abheben in fremder '+_g('waehrung','Währung')+' können Gebühren anfallen — vorher den '+_g('wechselkurs','Wechselkurs')+' und die Auslandskonditionen prüfen lohnt sich. '+
|
||||
@@ -1944,7 +1944,7 @@ const KD_FUNDSACHEN = [
|
||||
'<br><br>Tipp: Hut mit Sturmband oder Klemme verwenden — bei Wind am Strand oder im Wüstenwind verlierst du ihn sonst leicht.' },
|
||||
{ id:'jacke', emoji:'🧥', name:'Reisejacke', info:
|
||||
'Auf der '+_g('suedhalbkugel-jahreszeiten','Südhalbkugel')+' sind die Jahreszeiten umgekehrt: Ist bei uns Sommer, ist es in Australien, Argentinien oder Südafrika Winter. Kleidung also ans Reiseziel anpassen. '+
|
||||
'<br><br>Sydney im Juli: 8–15 °C, regnerisch. Buenos Aires im August: ähnlich. Kapstadt im Juni/Juli: kalt und nass. Wer ohne Jacke reist, friert sich schon im Flugzeug-Hotel an. '+
|
||||
'<br><br>Sydney im Juli: 8 – 15 °C, regnerisch. Buenos Aires im August: ähnlich. Kapstadt im Juni/Juli: kalt und nass. Wer ohne Jacke reist, friert sich schon im Flugzeug-Hotel an. '+
|
||||
'<br><br>Tipp: Multi-Layer-Prinzip — mehrere dünne Schichten statt einer dicken. Anpassbar an wechselndes Wetter, leichter im Gepäck.' },
|
||||
{ id:'schirm', emoji:'☂️', name:'Reiseschirm', info:
|
||||
'In der tropischen Regenzeit oder im '+_g('monsun','Monsun')+' fällt sehr viel Regen in sehr kurzer Zeit. Ein Schirm gehört dann ins Handgepäck. '+
|
||||
@@ -1980,7 +1980,7 @@ const KD_FUNDSACHEN = [
|
||||
'<br><br>Tipp: Kontaktlinsen-Träger:innen sollten neben Linsen und Reinigungslösung immer auch eine Brille mitnehmen. Im Flugzeug ist die Luft so trocken, dass Linsen oft nicht vertragen werden.' },
|
||||
{ id:'fotoapp', emoji:'🧳', name:'Kulturbeutel', info:
|
||||
'Im Kulturbeutel sammeln sich viele kleine Flüssigkeiten und Hygiene-Artikel: Zahnpasta, Shampoo, Duschgel, Sonnencreme. Alles über 100 ml besser in den aufgegebenen Koffer legen ('+_g('handgepaeck-fluessigkeit','100-ml-Regel')+'). '+
|
||||
'<br><br>Universal-Reisegröße: 50–100 ml. Viele Hotels stellen Shampoo und Duschgel — du sparst Platz im Koffer. '+
|
||||
'<br><br>Universal-Reisegröße: 50 – 100 ml. Viele Hotels stellen Shampoo und Duschgel — du sparst Platz im Koffer. '+
|
||||
'<br><br>Tipp: Kleine Umfüll-Flaschen kaufen (gibts in jeder Drogerie). Deine eigenen Produkte umfüllen statt teure Reisegrößen kaufen. Kulturbeutel mit Haken zum Aufhängen sind in jedem Hotel praktisch.' },
|
||||
{ id:'stift', emoji:'🖊️', name:'Kugelschreiber', info:
|
||||
'Praktisch fürs Ausfüllen von Einreise- und '+_g('zoll-einfuhr','Zollkarten')+', die man in vielen Ländern noch von Hand ausfüllt. Manche Länder verlangen ein Kugelschreiber-Original, kein Kopierer. '+
|
||||
|
||||
@@ -114,7 +114,7 @@ const PA = {
|
||||
this.timer = setTimeout(() => {
|
||||
if (S && !Sound.muted) Sound.playPA(this.POOL[this.idx++ % this.POOL.length], 0.32);
|
||||
next();
|
||||
}, 90000 + Math.random() * 120000); // alle 1,5–3,5 min
|
||||
}, 90000 + Math.random() * 120000); // alle 1,5 – 3,5 min
|
||||
};
|
||||
next();
|
||||
},
|
||||
@@ -816,7 +816,7 @@ const World = {
|
||||
const ox = -this.player.x * 0.0045 + t * 0.0006;
|
||||
skies.forEach(s => { s.tex.offset.x = ox; });
|
||||
}});
|
||||
// Überflug-Animation: alle 15–45 s quert eine Maschine ein Dachsegment
|
||||
// Überflug-Animation: alle 15 – 45 s quert eine Maschine ein Dachsegment
|
||||
let flyIdx = -1, flyX = 0, flyWait = 8;
|
||||
this.animated.push({ update: (dt) => {
|
||||
if (flyIdx < 0) {
|
||||
@@ -873,7 +873,7 @@ const World = {
|
||||
panoTex = new THREE.TextureLoader().load(BASE + 'assets/img/panorama-nacht.webp');
|
||||
panoTex.colorSpace = THREE.SRGBColorSpace;
|
||||
panoTex.wrapS = THREE.MirroredRepeatWrapping;
|
||||
// Bildzone so legen, dass Jet + Tower durchs Fensterband (y ≈ 1–7,5 m) sichtbar sind
|
||||
// Bildzone so legen, dass Jet + Tower durchs Fensterband (y ≈ 1 – 7,5 m) sichtbar sind
|
||||
panoTex.repeat.set(2, 0.7); panoTex.offset.y = 0.15;
|
||||
}
|
||||
const pano = new THREE.Mesh(new THREE.PlaneGeometry(240, 16),
|
||||
@@ -1012,7 +1012,7 @@ const World = {
|
||||
} catch (_) {}
|
||||
},
|
||||
|
||||
/* ============ Flughafen-Objekte (Sketchfab-Props, je 10–80 KB) ============
|
||||
/* ============ Flughafen-Objekte (Sketchfab-Props, je 10 – 80 KB) ============
|
||||
* Ersetzen die wichtigsten prozeduralen Möbel; Positionen handgesetzt.
|
||||
* mode: 'h' = auf Höhe normieren, 'long' = auf längste Seite normieren */
|
||||
PROP_DEFS: [
|
||||
@@ -1638,7 +1638,7 @@ const World = {
|
||||
this.addBox(x, 2.6, -25, 1.6, 1.0, 0.1, 0x0e1d2a, { emissive: 0x2a6a8a, emissiveIntensity: 0.8 });
|
||||
}
|
||||
}
|
||||
this.sign('Check-in 1–10', -35, 4.2, -29.4, 14, 1.8, 0, true);
|
||||
this.sign('Check-in 1 – 10', -35, 4.2, -29.4, 14, 1.8, 0, true);
|
||||
|
||||
// Gepäckkarusselle (stehen nach Dienstschluss still): flaches Band
|
||||
// mit Metall-Seitenwänden und Mittelinsel statt des alten „Donuts“
|
||||
@@ -1832,9 +1832,9 @@ const World = {
|
||||
// gap 0.27 rückt die Schilder vor/hinter die Säule (sonst verdeckt sie die Mitte)
|
||||
lines.forEach((txt, i) => this.sign(txt, x, 2.45 - i * 0.55, z, 2.6, 0.48, rotY, true, 0.27));
|
||||
};
|
||||
mk(4, 14, 0, ['→ Abflug · Gates 11–13', '← Gepäckausgabe']);
|
||||
mk(-26, 2, Math.PI / 2, ['→ Check-in 1–10', '← Eingangshalle']);
|
||||
mk(26, -8, -Math.PI / 2, ['→ Duty-free · Sicherheit', '← Gates 11–13']);
|
||||
mk(4, 14, 0, ['→ Abflug · Gates 11 – 13', '← Gepäckausgabe']);
|
||||
mk(-26, 2, Math.PI / 2, ['→ Check-in 1 – 10', '← Eingangshalle']);
|
||||
mk(26, -8, -Math.PI / 2, ['→ Duty-free · Sicherheit', '← Gates 11 – 13']);
|
||||
mk(-48, 4, Math.PI / 2, ['→ Gepäcksortierung', '← Gepäckausgabe']);
|
||||
},
|
||||
|
||||
@@ -2939,10 +2939,10 @@ const World = {
|
||||
this.addInfo(-64, -6, '⚙️', 'Gepäcksortierung',
|
||||
'Hinter den Kulissen laufen kilometerlange Förderanlagen. Scanner lesen die Barcodes der Anhänger und Weichen lenken jeden Koffer zum richtigen Flug — oft in unter 10 Minuten. Große Flughäfen sortieren so über 100.000 Gepäckstücke pro Tag.');
|
||||
this.addInfo(46, -2, '🛫', 'Gates & Boarding',
|
||||
'Am Gate wird die Bordkarte gescannt, dann geht es über die Fluggastbrücke ins Flugzeug. Die Gate-Nummer steht auf der Anzeigetafel — sie kann sich kurzfristig ändern, darum lohnt der Blick auf die Tafeln. „Boarding“ beginnt meist 30–45 Minuten vor dem Abflug.');
|
||||
'Am Gate wird die Bordkarte gescannt, dann geht es über die Fluggastbrücke ins Flugzeug. Die Gate-Nummer steht auf der Anzeigetafel — sie kann sich kurzfristig ändern, darum lohnt der Blick auf die Tafeln. „Boarding“ beginnt meist 30 – 45 Minuten vor dem Abflug.');
|
||||
this.addInfo(49, 24, '🗃️', 'Fundbüro',
|
||||
'Was im Flughafen liegen bleibt — vom Schal bis zum Laptop — landet hier. Fundstücke werden katalogisiert und mehrere Monate aufbewahrt. Gepäck von Flügen läuft getrennt über die Gepäckermittlung: genau dort arbeitest du heute.',
|
||||
'Allein an den Sicherheitskontrollen der USA bleiben jeden Monat rund 90.000–100.000 Gegenstände liegen. Nur etwa 15–20 % finden zu ihren Besitzern zurück; der Rest wird gespendet, versteigert oder entsorgt.',
|
||||
'Allein an den Sicherheitskontrollen der USA bleiben jeden Monat rund 90.000 – 100.000 Gegenstände liegen. Nur etwa 15 – 20 % finden zu ihren Besitzern zurück; der Rest wird gespendet, versteigert oder entsorgt.',
|
||||
'US-Transportation Security Administration (TSA)',
|
||||
'https://www.tsa.gov/contact/lost-and-found');
|
||||
this.addInfo(0, 0, '🖥️', 'Abflugtafel lesen',
|
||||
|
||||
@@ -470,7 +470,7 @@
|
||||
|
||||
/* ============================================================
|
||||
PLACEHOLDER / STUB FUNKTIONEN
|
||||
(Logistik-Instanz implementiert diese in Phase 1–7)
|
||||
(Logistik-Instanz implementiert diese in Phase 1 – 7)
|
||||
============================================================ */
|
||||
|
||||
/* ============================================================
|
||||
|
||||
@@ -867,9 +867,9 @@ window.LOGISTIK_GLOSSAR = window.LOGISTIK_GLOSSAR || {
|
||||
teu: { title: 'TEU (20-Fuß-Container)', text: 'TEU = „Twenty-foot Equivalent Unit" — der Standardcontainer. 20 Fuß ≈ 6,06 m lang, 8 Fuß ≈ 2,44 m breit, 8,5 Fuß ≈ 2,59 m hoch. Fasst ca. 33 m³ Ladung oder bis 28 Tonnen. Ein 40-Fuß-Container (FEU) = 2 TEU. In unserer Simulation zählt 1 Container = 1 TEU.' },
|
||||
intermodal: { title: 'Intermodaler Verkehr', text: 'Transport mit mindestens zwei verschiedenen Verkehrsträgern in einer Kette (z.B. Schiff → Bahn → LKW). Container werden umgeladen, bleiben aber dasselbe Stück.' },
|
||||
umschlag: { title: 'Umschlag', text: 'Das Umladen einer Ware von einem Transportmittel auf ein anderes. Findet an Häfen, Bahnterminals und Logistikzentren statt.' },
|
||||
luftlinie: { title: 'Luftlinie', text: 'Direkte gerade Linie zwischen zwei Punkten. Reale Straßen sind 20–40 % länger, weil sie Berge umgehen und Städte verbinden.' },
|
||||
luftlinie: { title: 'Luftlinie', text: 'Direkte gerade Linie zwischen zwei Punkten. Reale Straßen sind 20 – 40 % länger, weil sie Berge umgehen und Städte verbinden.' },
|
||||
disposition: { title: 'Disposition', text: 'Die Planung: Welcher Auftrag bekommt welches Fahrzeug? In welcher Reihenfolge wird gefahren? Ziel: keine Leerfahrten, alle Fristen halten.' },
|
||||
frist: { title: 'Frist', text: 'Spätester Zeitpunkt für die Ablieferung. Bei Überschreitung gibt es Strafkosten (in unserer Simulation 10–30 % vom Auftragswert pro Stunde).' },
|
||||
frist: { title: 'Frist', text: 'Spätester Zeitpunkt für die Ablieferung. Bei Überschreitung gibt es Strafkosten (in unserer Simulation 10 – 30 % vom Auftragswert pro Stunde).' },
|
||||
leerfahrt: { title: 'Leerfahrt', text: 'Fahrt ohne Ladung — z.B. wenn ein LKW zur nächsten Abholstelle fährt. Verursacht Kosten, bringt aber keinen Erlös. Gute Disposition vermeidet sie.' },
|
||||
standkosten: { title: 'Standkosten', text: 'Kosten, die anfallen, während Fahrzeug oder Container nicht bewegt werden — z.B. Container am Hafen, der auf Abholung wartet.' },
|
||||
bahnterminal: { title: 'Bahnterminal', text: 'Umschlagplatz für Container zwischen Bahn und LKW. Liegt an wichtigen Knotenpunkten (Wien, München, Hamburg).' },
|
||||
@@ -2706,7 +2706,7 @@ window.pickText = function(opts) {
|
||||
cost_per_100km = 100 × €/km + (100 / speedKmh) × €/h
|
||||
Wertebereich bei Defaults:
|
||||
TRUCK_SMALL ≈ 156 € · TRUCK_LARGE ≈ 325 € · TRAIN ≈ 967 €
|
||||
Per-100-km ist Kopfrechen-Anker für 13–15-jaehrige: Distanz/100 × Wert. */
|
||||
Per-100-km ist Kopfrechen-Anker für 13 – 15-jaehrige: Distanz/100 × Wert. */
|
||||
function vehicleCostPer100Km(mode) {
|
||||
const veh = (LogistikEngine.VEHICLE_DEFAULTS || {})[mode];
|
||||
if (!veh) return null;
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
}
|
||||
|
||||
/* =========================================================
|
||||
PFLICHTTESTS 1–7 aus Kickoff-Briefing §5.3
|
||||
PFLICHTTESTS 1 – 7 aus Kickoff-Briefing §5.3
|
||||
========================================================= */
|
||||
|
||||
group('Test 1 — Fahrkosten (travelCost)', (t) => {
|
||||
|
||||
@@ -331,7 +331,7 @@ body { overflow-y: auto; }
|
||||
<div class="perf-module-header">
|
||||
<span class="icon">🌍</span>
|
||||
<span class="name">Klimawächter</span>
|
||||
<span class="ggs-badge level-easy" style="margin-left:auto;">Level 1–3</span>
|
||||
<span class="ggs-badge level-easy" style="margin-left:auto;">Level 1 – 3</span>
|
||||
</div>
|
||||
<div class="perf-levels">
|
||||
<div class="perf-level">
|
||||
|
||||
@@ -252,7 +252,7 @@ function prepareWave(state, phase, opts = {}) {
|
||||
}
|
||||
waveCounts.push(`${n}× ${GROUPS[type].name}`);
|
||||
// Konvoi statt Streuung: Die Welle einer Gruppe kommt gebündelt kurz
|
||||
// hintereinander (alle 4–6 s) und nimmt dieselbe Route – so ist sie
|
||||
// hintereinander (alle 4 – 6 s) und nimmt dieselbe Route – so ist sie
|
||||
// als zusammengehörende Welle erkennbar.
|
||||
// Konvois innerhalb der Welle: Gruppe für Gruppe, eng beieinander
|
||||
const clusterStart = t0 + 1 + slot * (n * 1.2 + 9);
|
||||
|
||||
@@ -391,9 +391,9 @@ export class UI {
|
||||
}
|
||||
|
||||
// ---------- Zwei Verlaufs-Graphen in eigenen Feldern ----------
|
||||
// Feste 0–20-min-Zeitachse, sichtbare Bodenlinie, alle Daten bleiben.
|
||||
// Feste 0 – 20-min-Zeitachse, sichtbare Bodenlinie, alle Daten bleiben.
|
||||
// Links: Budget (€). Rechts: Zufriedenheits-Erfüllung in % (Ziel 100 %,
|
||||
// wie „zerstört" im Tower Defense) + Umweltwert auf derselben 0–100-Skala.
|
||||
// wie „zerstört" im Tower Defense) + Umweltwert auf derselben 0 – 100-Skala.
|
||||
drawGraph() {
|
||||
const hist = this.state.history;
|
||||
if (hist.budget.length < 2) return;
|
||||
|
||||
@@ -97,7 +97,7 @@ export const audio = {
|
||||
},
|
||||
|
||||
// ---------- Gelegentliche Naturlaute (statt Dauer-Ambience) ----------
|
||||
// Alle 10–25 s ein kurzer Laut passend zur Saison: Vögel, Kuhglocken,
|
||||
// Alle 10 – 25 s ein kurzer Laut passend zur Saison: Vögel, Kuhglocken,
|
||||
// ein Muhen – im Winter meist nur ein Windhauch.
|
||||
_ambTimer: null,
|
||||
|
||||
|
||||
@@ -226,7 +226,7 @@ export const SCENARIOS = {
|
||||
id: 'intro-klimawandel', icon: '🌡️', title: 'Die Schneegrenze steigt',
|
||||
text: 'Sommer 2035. Die Winter werden wärmer, Schnee ist keine '
|
||||
+ 'Selbstverständlichkeit mehr. Messdaten zeigen: In den Alpen '
|
||||
+ 'schmilzt der Schnee 5–9 Tage pro Jahrzehnt früher – seit 1970 ist '
|
||||
+ 'schmilzt der Schnee 5 – 9 Tage pro Jahrzehnt früher – seit 1970 ist '
|
||||
+ 'die Schneesaison rund einen Monat kürzer geworden.\n\n'
|
||||
+ 'Dein Tal muss sich neu erfinden: Ganzjahrestourismus! Wer sein '
|
||||
+ 'Sommerangebot konsequent ausbaut, dessen Sommernachfrage wächst '
|
||||
@@ -726,7 +726,7 @@ export const KOSTEN_CHECKS = [
|
||||
frage: 'Was kostet EIN Zimmer – mehr oder weniger als 500.000 €?',
|
||||
optionen: ['Mehr', 'Weniger'], richtig: 1,
|
||||
aufloesung: '220.000 bis 270.000 Euro pro Zimmer (4 Sterne; 3 Sterne: '
|
||||
+ '140.000–190.000 €). Ein Hotel wie deines mit 60 Betten (~30 Zimmer) '
|
||||
+ '140.000 – 190.000 €). Ein Hotel wie deines mit 60 Betten (~30 Zimmer) '
|
||||
+ 'kostet real also 7 bis 8 MILLIONEN Euro – fast tausendmal mehr als '
|
||||
+ 'im Spiel.',
|
||||
bonus: 2000,
|
||||
@@ -772,7 +772,7 @@ export const KNOWLEDGE = {
|
||||
lift: [
|
||||
{ term: 'Standortfaktor Höhenlage', text: 'Weiter oben ist es kälter, der Schnee bleibt länger – die Skisaison wird länger. Höhe ist ein Standortfaktor.' },
|
||||
{ term: 'Kapazität', text: 'Ein Lift befördert nur begrenzt viele Gäste pro Tag. Ist er voll, kommen trotz Nachfrage nicht mehr hinauf.' },
|
||||
{ term: 'Sommergeschäft der Bergbahnen', text: 'Real machen Seilbahnen nur 15–25 % ihres Umsatzes im Sommer. Fällt ein Wintergast aus, braucht die Bahn 1,3 bis 4,2 Sommergäste als Ersatz (Seilbahnen Schweiz).' },
|
||||
{ term: 'Sommergeschäft der Bergbahnen', text: 'Real machen Seilbahnen nur 15 – 25 % ihres Umsatzes im Sommer. Fällt ein Wintergast aus, braucht die Bahn 1,3 bis 4,2 Sommergäste als Ersatz (Seilbahnen Schweiz).' },
|
||||
],
|
||||
gondola: [
|
||||
{ term: 'Infrastruktur', text: 'Bahnen sind touristische Infrastruktur – die Grundausstattung, die eine Tourismusregion erst möglich macht.' },
|
||||
@@ -793,7 +793,7 @@ export const KNOWLEDGE = {
|
||||
],
|
||||
snow: [
|
||||
{ term: 'Klimawandel-Anpassung', text: 'Beschneiung sichert die Saison, wenn die Winter wärmer werden – braucht aber viel Wasser und Energie.' },
|
||||
{ term: 'Schneesaison wird kürzer', text: 'Messdaten: In den Alpen schmilzt der Schnee 5–9 Tage pro Jahrzehnt früher; seit 1970 ist die Schneesaison rund einen Monat kürzer (GeoSphere Austria, SLF Schweiz). Unterhalb von ca. 2.000 m trifft es Skigebiete am härtesten.' },
|
||||
{ term: 'Schneesaison wird kürzer', text: 'Messdaten: In den Alpen schmilzt der Schnee 5 – 9 Tage pro Jahrzehnt früher; seit 1970 ist die Schneesaison rund einen Monat kürzer (GeoSphere Austria, SLF Schweiz). Unterhalb von ca. 2.000 m trifft es Skigebiete am härtesten.' },
|
||||
{ term: 'Zielkonflikt Nachhaltigkeit', text: 'Kunstschnee kostet Ressourcen. Nachhaltiger Tourismus fragt: Wie lange lohnt sich das noch?' },
|
||||
],
|
||||
badesee: [
|
||||
@@ -812,7 +812,7 @@ export const KNOWLEDGE = {
|
||||
{ term: 'Standortfaktor Sicherheit', text: 'Ein gutes Rettungswesen macht eine Region attraktiver – Sicherheit ist ein weicher Standortfaktor.' },
|
||||
],
|
||||
bikepark: [
|
||||
{ term: 'Sommernutzung von Winter-Infrastruktur', text: 'Bikeparks nutzen die Lifte im Sommer weiter – so verdienen die teuren Bahnen ganzjährig. Real machen Seilbahnen 15–25 % ihres Umsatzes im Sommer, Tendenz steigend.' },
|
||||
{ term: 'Sommernutzung von Winter-Infrastruktur', text: 'Bikeparks nutzen die Lifte im Sommer weiter – so verdienen die teuren Bahnen ganzjährig. Real machen Seilbahnen 15 – 25 % ihres Umsatzes im Sommer, Tendenz steigend.' },
|
||||
{ term: 'Zielkonflikt', text: 'Trails bedeuten Eingriff in den Hang: Wer den Sommer ausbaut, muss den Naturwert im Blick behalten – wie beim Winterausbau auch.' },
|
||||
],
|
||||
ropes: [
|
||||
|
||||
@@ -940,7 +940,7 @@ export class IsoRenderer {
|
||||
const k = `${b.c},${b.r}`;
|
||||
if (!msg) { delete this._probNext[k]; continue; }
|
||||
if (!this._probNext[k]) {
|
||||
// erster Hinweis nach 15–35 s, danach im 3-Minuten-Takt
|
||||
// erster Hinweis nach 15 – 35 s, danach im 3-Minuten-Takt
|
||||
this._probNext[k] = now + 15000 + Math.random() * 20000;
|
||||
} else if (now >= this._probNext[k]) {
|
||||
this._probNext[k] = now + 180000;
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
<div id="info-panel">
|
||||
<div class="info-row"><span class="info-label">Magma-Art</span><span class="info-value" id="magma-type">BASALTISCH</span></div>
|
||||
<div class="info-row"><span class="info-label">Eruptionstyp</span><span class="info-value" id="eruption-type">EFFUSIV</span></div>
|
||||
<div class="info-row"><span class="info-label">Explosivität (VEI)</span><span class="info-value" id="vei">0–1</span></div>
|
||||
<div class="info-row"><span class="info-label">Explosivität (VEI)</span><span class="info-value" id="vei">0 – 1</span></div>
|
||||
<div id="expl-bar"><div id="expl-fill" style="width:15%"></div></div>
|
||||
</div>
|
||||
|
||||
@@ -2965,11 +2965,11 @@ function eruptionStyle(expl, water) {
|
||||
}
|
||||
function vei(expl) {
|
||||
if (expl < 0.10) return '0';
|
||||
if (expl < 0.25) return '1–2';
|
||||
if (expl < 0.45) return '2–3';
|
||||
if (expl < 0.65) return '3–4';
|
||||
if (expl < 0.85) return '4–5';
|
||||
return '5–6';
|
||||
if (expl < 0.25) return '1 – 2';
|
||||
if (expl < 0.45) return '2 – 3';
|
||||
if (expl < 0.65) return '3 – 4';
|
||||
if (expl < 0.85) return '4 – 5';
|
||||
return '5 – 6';
|
||||
}
|
||||
|
||||
function didactic() {
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"800 g festkochende Erdäpfel mit Schale weichkochen (etwa 20 min), kalt werden lassen, schälen, in 1 cm dicke Scheiben oder Würfel.",
|
||||
"200 g durchwachsenen Speck in eine große Pfanne geben (kein extra Fett), bei mittlerer Hitze knusprig auslassen, herausnehmen.",
|
||||
"2 mittelgroße Zwiebeln fein würfeln, im ausgelassenen Speckfett goldgelb dünsten.",
|
||||
"Die Erdäpfel zugeben, mit 1 EL Butterschmalz vermengen, 8–10 Minuten knusprig braten — nur 1–2 Mal vorsichtig wenden.",
|
||||
"Die Erdäpfel zugeben, mit 1 EL Butterschmalz vermengen, 8 – 10 Minuten knusprig braten — nur 1 – 2 Mal vorsichtig wenden.",
|
||||
"Mit Salz, frisch gemahlenem Pfeffer und 1 TL Majoran würzen. Speck wieder unterheben.",
|
||||
"Pro Portion 1 Spiegelei separat braten (Eigelb soll flüssig bleiben), auf das Gröstl setzen, mit reichlich Schnittlauchröllchen bestreuen."
|
||||
],
|
||||
@@ -93,10 +93,10 @@
|
||||
"steps": [
|
||||
"Teig: 300 g glattes Mehl, 1 Ei, 1 EL Öl, ca. 130 ml lauwarmes Wasser, eine Prise Salz zu einem geschmeidigen Teig kneten. 30 min ruhen lassen.",
|
||||
"Fülle: 200 g Kartoffeln weichkochen, schälen, durch die Presse drücken. Mit 250 g Topfen, 1 EL gehackter frischer Minze (oder Bohnenkraut), 1 EL Petersilie, Salz und Pfeffer verkneten.",
|
||||
"Den Teig hauchdünn ausrollen (1–2 mm), Kreise mit 10 cm Durchmesser ausstechen.",
|
||||
"Den Teig hauchdünn ausrollen (1 – 2 mm), Kreise mit 10 cm Durchmesser ausstechen.",
|
||||
"Auf jeden Kreis 1 TL Fülle setzen, zu einem Halbmond zusammenklappen, Rand fest andrücken.",
|
||||
"Den Rand mit dem ‚Krendeln' verzieren: mit Daumen und Zeigefinger eine geriffelte Wulst eindrehen — das ist die Kärntner Kunst!",
|
||||
"In siedendem Salzwasser 5–7 min ziehen lassen (nicht sprudelnd kochen!).",
|
||||
"In siedendem Salzwasser 5 – 7 min ziehen lassen (nicht sprudelnd kochen!).",
|
||||
"Mit zerlassener Butter überschwemmen und sofort servieren."
|
||||
],
|
||||
"tipp": "Das ‚Krendeln' braucht Übung — wer es nicht schafft, kann den Rand mit einer Gabel andrücken. Original aber: die geriffelte Wulst gehört dazu."
|
||||
@@ -269,7 +269,7 @@
|
||||
"8 reife Wachauer Marillen waschen, einen kleinen Schnitt machen, den Kern herausnehmen. Loch mit 1 Würfelzucker füllen.",
|
||||
"Teig: 300 g mehlige Erdäpfel weichkochen, schälen, durch die Presse drücken, abkühlen lassen. Mit 250 g Topfen, 1 Ei, 60 g griffigem Mehl, 60 g Grieß, einer Prise Salz zu einem geschmeidigen Teig verkneten.",
|
||||
"Den Teig in 8 Portionen teilen. Jede Portion zu einem Fladen drücken, eine Marille hineinwickeln, fest verschließen — kein Loch lassen, sonst läuft der Saft aus!",
|
||||
"In viel Salzwasser bei kleiner Hitze 12–14 min ziehen lassen — die Knödel müssen schwimmen, aber nicht sprudeln.",
|
||||
"In viel Salzwasser bei kleiner Hitze 12 – 14 min ziehen lassen — die Knödel müssen schwimmen, aber nicht sprudeln.",
|
||||
"150 g Butter in einer Pfanne zerlassen, 150 g Semmelbrösel darin goldbraun rösten.",
|
||||
"Knödel mit dem Schaumlöffel herausheben, in den Bröseln wälzen, mit reichlich Staubzucker bestreuen."
|
||||
],
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
"6 Eidotter einzeln einrühren. 130 g geschmolzene und ausgekühlte dunkle Schokolade unterheben.",
|
||||
"6 Eiklar mit 110 g Zucker zu festem Schnee schlagen. Drittelweise unter die Schokomasse heben — vorsichtig, sonst geht die Luft raus.",
|
||||
"130 g griffiges Mehl darüber sieben, locker unterheben. In die Form füllen, glattstreichen.",
|
||||
"Im Rohr 50–60 min backen. Stäbchenprobe: kommt sauber raus, ist die Torte fertig. In der Form 10 min ruhen, stürzen, kalt werden lassen.",
|
||||
"Im Rohr 50 – 60 min backen. Stäbchenprobe: kommt sauber raus, ist die Torte fertig. In der Form 10 min ruhen, stürzen, kalt werden lassen.",
|
||||
"Torte horizontal halbieren. 200 g Marillenmarmelade glatt rühren (oder kurz erwärmen), zwischen die Hälften streichen UND oben + außen dünn darauf streichen.",
|
||||
"Glasur: 200 g Zucker mit 125 ml Wasser zu Sirup kochen (5 min), kurz abkühlen, mit 150 g grob gehackter dunkler Schokolade verrühren — Glasur muss in einem Schwall über die Torte fließen, NICHT mit Messer streichen!",
|
||||
"12 h ruhen lassen. Mit Schlagobers servieren."
|
||||
@@ -116,7 +116,7 @@
|
||||
"eh": "Komplexes Mehlspeisen-Rezept — Klassiker zum Üben von Schaumbildung, Unterheben, Glasieren. Hoher Zuckergehalt — diskutiere ‚Anlassgebäck' vs. Alltagsessen.",
|
||||
"gw": "Kakao aus Westafrika, Marillen lokal — die Sachertorte ist ein Welt-vs-Region-Beispiel auf einem Teller. Wie weit ist die Kakaobohne gereist?",
|
||||
"bu": "Kakao-Anbau in Côte d'Ivoire/Ghana: Kinderarbeit, Regenwald-Rodung — kritische Auseinandersetzung mit fairem Handel.",
|
||||
"de": "Sachertorte vs. ‚Original Sacher-Torte' — Markenrechtsstreit Hotel Sacher vs. Demel (1934–1963). Was schützt eine Marke vs. ein Rezept?"
|
||||
"de": "Sachertorte vs. ‚Original Sacher-Torte' — Markenrechtsstreit Hotel Sacher vs. Demel (1934 – 1963). Was schützt eine Marke vs. ein Rezept?"
|
||||
},
|
||||
"fact": "Franz Sacher erfand das Rezept 1832 mit 16 Jahren als Lehrling für Fürst Metternich. Den Streit, ob die Marillenmarmelade in der Mitte ODER nur außen sein darf, haben Sacher und Demel über 30 Jahre lang vor Gericht geführt — verloren hat keiner: heute gibt es beide ‚Originale'.",
|
||||
"diff_note": "echtes Konditor-Handwerk — Eiklarschnee, Glasur in einem Schwall, kein Streichen"
|
||||
@@ -219,7 +219,7 @@
|
||||
"1 Pkg. Plunderteig (TK, aufgetaut) ausrollen, in 8 Quadrate à 10 cm schneiden.",
|
||||
"Auf jede Mitte 1 EL Topfenmasse setzen. Ecken zur Mitte einklappen und leicht andrücken — wie ein Geschenkpaket.",
|
||||
"Mit verquirltem Ei bestreichen.",
|
||||
"Im Rohr 18–20 min backen, bis sie goldbraun und aufgegangen sind.",
|
||||
"Im Rohr 18 – 20 min backen, bis sie goldbraun und aufgegangen sind.",
|
||||
"Lauwarm mit Staubzucker bestreut servieren."
|
||||
],
|
||||
"tipp": "Mit selbstgemachtem Plunderteig (Touren-Teig) noch luftiger — aber dauert 6 h. Mit TK-Teig sind sie in 50 min am Tisch."
|
||||
@@ -280,7 +280,7 @@
|
||||
"20 min auf einem Blech bei Raumtemperatur ‚abstehen lassen' — Oberfläche muss antrocknen.",
|
||||
"Lauge: 1 L kaltes Wasser mit 30 g Natriumhydroxid (Achtung: ätzend, Handschuhe!) ODER alternativ 30 g Natron in heißem Wasser für die einfache Variante.",
|
||||
"Brezeln kurz in Lauge tauchen (10 sec), abtropfen, mit grobem Salz bestreuen, in der Schmetterling-Form mit Messer einschneiden.",
|
||||
"Bei 220 °C 18–20 min backen, bis sie tief mahagoni-braun sind.",
|
||||
"Bei 220 °C 18 – 20 min backen, bis sie tief mahagoni-braun sind.",
|
||||
"Obatzda: 200 g reifer Camembert mit 100 g Frischkäse, 1 fein gehackter Zwiebel, 1 TL Paprika, Pfeffer, einem Schuss Bier glatt verrühren. Mit Schnittlauch servieren.",
|
||||
"Brezel kurz warm halten, mit Obatzda und Radieschen."
|
||||
],
|
||||
|
||||
@@ -32,15 +32,15 @@
|
||||
"time_min": 1800,
|
||||
"steps": [
|
||||
"Teig (24 h vorher): 500 g italienisches Tipo-00-Mehl mit 320 ml Wasser, 2 g frischer Hefe, 15 g Salz verkneten — 15 min lang per Hand.",
|
||||
"Teig 4 h bei Raumtemperatur gehen lassen, dann in 4 Kugeln teilen (Pizza-Bälle). 18–24 h im Kühlschrank reifen lassen.",
|
||||
"Ofen mit Pizzastein auf maximaler Hitze (250–300 °C) 1 h vorheizen.",
|
||||
"Teig 4 h bei Raumtemperatur gehen lassen, dann in 4 Kugeln teilen (Pizza-Bälle). 18 – 24 h im Kühlschrank reifen lassen.",
|
||||
"Ofen mit Pizzastein auf maximaler Hitze (250 – 300 °C) 1 h vorheizen.",
|
||||
"Teig auf bemehlter Fläche per Hand ausdrücken — niemals mit Nudelholz! Rand stehen lassen.",
|
||||
"Belag: 80 g zerdrückte San-Marzano-Tomaten (aus der Dose, NICHT gekocht) gleichmäßig verteilen. 100 g Mozzarella di Bufala in groben Stücken auflegen.",
|
||||
"5–6 frische Basilikum-Blätter darauf, 1 EL Olivenöl extra vergine im Spiralmuster.",
|
||||
"Auf den heißen Stein gleiten lassen — 60–90 Sekunden backen, bis der Rand schwarze Bläschen wirft.",
|
||||
"5 – 6 frische Basilikum-Blätter darauf, 1 EL Olivenöl extra vergine im Spiralmuster.",
|
||||
"Auf den heißen Stein gleiten lassen — 60 – 90 Sekunden backen, bis der Rand schwarze Bläschen wirft.",
|
||||
"Sofort essen — eine Pizza Margherita wartet auf niemanden."
|
||||
],
|
||||
"tipp": "Im Holzofen 60 sec, im Haushaltsofen mit Stein 4–5 min. Der Rand MUSS dunkle Bläschen haben (‚leoparding') — das ist das Qualitätsmerkmal."
|
||||
"tipp": "Im Holzofen 60 sec, im Haushaltsofen mit Stein 4 – 5 min. Der Rand MUSS dunkle Bläschen haben (‚leoparding') — das ist das Qualitätsmerkmal."
|
||||
},
|
||||
"nutrition": {
|
||||
"portion_g": 280,
|
||||
@@ -419,7 +419,7 @@
|
||||
"bu": "Lamm hat hohen Klima-Footprint. Diskussion: Festtagsgericht oder Alltagsessen?",
|
||||
"de": "‚Moussaka' kommt vom arabischen ‚musaqqa'a' = ‚gekühlt' — wurde traditionell auch kalt gegessen. Sprachwege durch die Mittelmeer-Geschichte."
|
||||
},
|
||||
"fact": "Die heutige Moussaka mit Béchamel ist eine Erfindung des griechischen Kochs Nikolaos Tselementes (1878–1958), der die griechische Küche im 1920er-Jahre nach französischen Vorbildern modernisierte. Vor ihm gab's Moussaka ohne die weiße Sauce.",
|
||||
"fact": "Die heutige Moussaka mit Béchamel ist eine Erfindung des griechischen Kochs Nikolaos Tselementes (1878 – 1958), der die griechische Küche im 1920er-Jahre nach französischen Vorbildern modernisierte. Vor ihm gab's Moussaka ohne die weiße Sauce.",
|
||||
"diff_note": "drei Komponenten (Aubergine, Ragout, Béchamel) + langes Backen — Marathon"
|
||||
},
|
||||
"kanelbulle": {
|
||||
@@ -460,7 +460,7 @@
|
||||
"Von der langen Seite eng aufrollen — wie Strudel. Mit scharfem Messer 16 gleich dicke Scheiben schneiden.",
|
||||
"Scheiben auf gefettetes Blech setzen, abgedeckt 45 min nachgehen lassen.",
|
||||
"Mit verquirltem Ei bestreichen, mit Hagelzucker bestreuen.",
|
||||
"Bei 220 °C 10–12 min backen — sie sollen goldbraun, aber innen noch saftig sein.",
|
||||
"Bei 220 °C 10 – 12 min backen — sie sollen goldbraun, aber innen noch saftig sein.",
|
||||
"Sofort essen — oder mit Tee am ‚Kanelbullens dag' (4. Oktober) feiern."
|
||||
],
|
||||
"tipp": "Kardamom ist die Geheimwaffe — er macht den Unterschied zwischen ‚schwedisch' und ‚nur Zimtschnecke'. Nicht weglassen!"
|
||||
@@ -518,7 +518,7 @@
|
||||
"Fülle: 400 g mehlige Erdäpfel weichkochen, schälen, durchpressen. Mit 200 g Magertopfen + 1 fein gehackter und in Butter glasiger Zwiebel + Salz + Pfeffer mischen.",
|
||||
"Teig hauchdünn ausrollen (2 mm), Kreise mit Glas (Ø 8 cm) ausstechen.",
|
||||
"Auf jeden Kreis 1 TL Fülle, zu Halbmond zusammenklappen, Rand fest andrücken — wie Kärntner Kasnudeln.",
|
||||
"In siedendem Salzwasser 4–5 min ziehen lassen, bis sie an die Oberfläche kommen.",
|
||||
"In siedendem Salzwasser 4 – 5 min ziehen lassen, bis sie an die Oberfläche kommen.",
|
||||
"TOPPING: 2 große Zwiebeln in feine Ringe, in 50 g Butter goldbraun rösten.",
|
||||
"Pierogi auf Tellern anrichten, mit den Röstzwiebeln + 2 EL Sahne pro Portion krönen. Mit Schnittlauch bestreuen."
|
||||
],
|
||||
@@ -535,7 +535,7 @@
|
||||
},
|
||||
"lehrplan": {
|
||||
"eh": "Teigtaschen-Familie: Maultaschen (DE), Kasnudeln (AT), Pierogi (PL), Ravioli (IT). Diskussion: warum gibt es DIESE Form so verbreitet?",
|
||||
"gw": "Polen + Westukraine — Grenzland-Küche. Historische Region ‚Galizien' (1772–1918 österreichisch). Wie Politik die Küche prägt.",
|
||||
"gw": "Polen + Westukraine — Grenzland-Küche. Historische Region ‚Galizien' (1772 – 1918 österreichisch). Wie Politik die Küche prägt.",
|
||||
"bu": "Hauptzutaten lokal: Erdäpfel, Topfen, Zwiebel. Klima-Footprint sehr niedrig — vegetarische Variante.",
|
||||
"de": "‚Pierogi' = Pluralform, Singular ist ‚pierog'. Im Deutschen oft falsch verwendet (‚ein Pierogi'). Sprachgebrauch in der Migration."
|
||||
},
|
||||
|
||||
@@ -239,8 +239,8 @@
|
||||
"FALAFEL-PASTE: Kichererbsen mit 1 großen Zwiebel + 4 Knoblauchzehen + 1 großem Bund Petersilie + ½ Bund Koriandergrün + 2 TL Kreuzkümmel + 1 TL Korianderpulver + 1 TL Salz fein im Cutter zerkleinern.",
|
||||
"1 TL Backpulver + 2 EL Mehl unterheben — macht innen luftig.",
|
||||
"Aus der Masse 16 walnussgroße Bällchen formen (oder mit Falafel-Form pressen). 15 min im Kühlschrank ruhen.",
|
||||
"FRITTIEREN: Öl auf 170 °C erhitzen. Falafel in 2 Portionen 4–5 min frittieren, bis sie tiefbraun und außen knusprig sind. Auf Küchenpapier abtropfen.",
|
||||
"HUMMUS: 1 Dose Kichererbsen (eingelegt) abgespült, mit 3 EL Tahini, 2 EL Zitronensaft, 1 Knoblauchzehe, 4 EL Olivenöl, ½ TL Kumin, 1 TL Salz, 4–6 EL Eiswasser zu cremiger Paste mixen — 4 min lang!",
|
||||
"FRITTIEREN: Öl auf 170 °C erhitzen. Falafel in 2 Portionen 4 – 5 min frittieren, bis sie tiefbraun und außen knusprig sind. Auf Küchenpapier abtropfen.",
|
||||
"HUMMUS: 1 Dose Kichererbsen (eingelegt) abgespült, mit 3 EL Tahini, 2 EL Zitronensaft, 1 Knoblauchzehe, 4 EL Olivenöl, ½ TL Kumin, 1 TL Salz, 4 – 6 EL Eiswasser zu cremiger Paste mixen — 4 min lang!",
|
||||
"Hummus in Schüssel anrichten, Vertiefung mit Olivenöl + Paprikapulver füllen.",
|
||||
"Falafel mit warmem Fladenbrot, Hummus, Tahini-Sauce, gehackten Tomaten/Gurken und Petersilie servieren."
|
||||
],
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"800 g festkochende Erdäpfel mit Schale weichkochen (etwa 20 min), kalt werden lassen, schälen, in 1 cm dicke Scheiben oder Würfel.",
|
||||
"200 g durchwachsenen Speck in eine große Pfanne geben (kein extra Fett), bei mittlerer Hitze knusprig auslassen, herausnehmen.",
|
||||
"2 mittelgroße Zwiebeln fein würfeln, im ausgelassenen Speckfett goldgelb dünsten.",
|
||||
"Die Erdäpfel zugeben, mit 1 EL Butterschmalz vermengen, 8–10 Minuten knusprig braten — nur 1–2 Mal vorsichtig wenden.",
|
||||
"Die Erdäpfel zugeben, mit 1 EL Butterschmalz vermengen, 8 – 10 Minuten knusprig braten — nur 1 – 2 Mal vorsichtig wenden.",
|
||||
"Mit Salz, frisch gemahlenem Pfeffer und 1 TL Majoran würzen. Speck wieder unterheben.",
|
||||
"Pro Portion 1 Spiegelei separat braten (Eigelb soll flüssig bleiben), auf das Gröstl setzen, mit reichlich Schnittlauchröllchen bestreuen."
|
||||
],
|
||||
@@ -96,10 +96,10 @@
|
||||
"steps": [
|
||||
"Teig: 300 g glattes Mehl, 1 Ei, 1 EL Öl, ca. 130 ml lauwarmes Wasser, eine Prise Salz zu einem geschmeidigen Teig kneten. 30 min ruhen lassen.",
|
||||
"Fülle: 200 g Kartoffeln weichkochen, schälen, durch die Presse drücken. Mit 250 g Topfen, 1 EL gehackter frischer Minze (oder Bohnenkraut), 1 EL Petersilie, Salz und Pfeffer verkneten.",
|
||||
"Den Teig hauchdünn ausrollen (1–2 mm), Kreise mit 10 cm Durchmesser ausstechen.",
|
||||
"Den Teig hauchdünn ausrollen (1 – 2 mm), Kreise mit 10 cm Durchmesser ausstechen.",
|
||||
"Auf jeden Kreis 1 TL Fülle setzen, zu einem Halbmond zusammenklappen, Rand fest andrücken.",
|
||||
"Den Rand mit dem ‚Krendeln' verzieren: mit Daumen und Zeigefinger eine geriffelte Wulst eindrehen — das ist die Kärntner Kunst!",
|
||||
"In siedendem Salzwasser 5–7 min ziehen lassen (nicht sprudelnd kochen!).",
|
||||
"In siedendem Salzwasser 5 – 7 min ziehen lassen (nicht sprudelnd kochen!).",
|
||||
"Mit zerlassener Butter überschwemmen und sofort servieren."
|
||||
],
|
||||
"tipp": "Das ‚Krendeln' braucht Übung — wer es nicht schafft, kann den Rand mit einer Gabel andrücken. Original aber: die geriffelte Wulst gehört dazu."
|
||||
@@ -266,7 +266,7 @@
|
||||
"8 reife Wachauer Marillen waschen, einen kleinen Schnitt machen, den Kern herausnehmen. Loch mit 1 Würfelzucker füllen.",
|
||||
"Topfenteig (ohne Erdäpfel): 250 g gut abgetropften Topfen mit 1 Ei, 40 g weicher Butter, einer Prise Salz und etwas abgeriebener Bio-Zitronenschale glatt rühren. 120 g griffiges Mehl und 60 g Grieß untermengen, rasch zu einem geschmeidigen Teig verkneten. 30 min kalt ruhen lassen — der Grieß quillt, dann lässt sich der Teig gut formen.",
|
||||
"Den Teig in 8 Portionen teilen. Jede Portion zu einem Fladen drücken, eine Marille hineinwickeln, fest verschließen — kein Loch lassen, sonst läuft der Saft aus!",
|
||||
"In viel Salzwasser bei kleiner Hitze 12–14 min ziehen lassen — die Knödel müssen schwimmen, aber nicht sprudeln.",
|
||||
"In viel Salzwasser bei kleiner Hitze 12 – 14 min ziehen lassen — die Knödel müssen schwimmen, aber nicht sprudeln.",
|
||||
"150 g Butter in einer Pfanne zerlassen, 150 g Semmelbrösel darin goldbraun rösten.",
|
||||
"Knödel mit dem Schaumlöffel herausheben, in den Bröseln wälzen, mit reichlich Staubzucker bestreuen."
|
||||
],
|
||||
@@ -384,7 +384,7 @@
|
||||
"6 Eidotter einzeln einrühren. 130 g geschmolzene und ausgekühlte dunkle Schokolade unterheben.",
|
||||
"6 Eiklar mit 110 g Zucker zu festem Schnee schlagen. Drittelweise unter die Schokomasse heben — vorsichtig, sonst geht die Luft raus.",
|
||||
"130 g griffiges Mehl darüber sieben, locker unterheben. In die Form füllen, glattstreichen.",
|
||||
"Im Rohr 50–60 min backen. Stäbchenprobe: kommt sauber raus, ist die Torte fertig. In der Form 10 min ruhen, stürzen, kalt werden lassen.",
|
||||
"Im Rohr 50 – 60 min backen. Stäbchenprobe: kommt sauber raus, ist die Torte fertig. In der Form 10 min ruhen, stürzen, kalt werden lassen.",
|
||||
"Torte horizontal halbieren. 200 g Marillenmarmelade glatt rühren (oder kurz erwärmen), zwischen die Hälften streichen UND oben + außen dünn darauf streichen.",
|
||||
"Glasur: 200 g Zucker mit 125 ml Wasser zu Sirup kochen (5 min), kurz abkühlen, mit 150 g grob gehackter dunkler Schokolade verrühren — Glasur muss in einem Schwall über die Torte fließen, NICHT mit Messer streichen!",
|
||||
"12 h ruhen lassen. Mit Schlagobers servieren."
|
||||
@@ -404,7 +404,7 @@
|
||||
"eh": "Komplexes Mehlspeisen-Rezept — Klassiker zum Üben von Schaumbildung, Unterheben, Glasieren. Hoher Zuckergehalt — diskutiere ‚Anlassgebäck' vs. Alltagsessen.",
|
||||
"gw": "Kakao aus Westafrika, Marillen lokal — die Sachertorte ist ein Welt-vs-Region-Beispiel auf einem Teller. Wie weit ist die Kakaobohne gereist?",
|
||||
"bu": "Kakao-Anbau in Côte d'Ivoire/Ghana: Kinderarbeit, Regenwald-Rodung — kritische Auseinandersetzung mit fairem Handel.",
|
||||
"de": "Sachertorte vs. ‚Original Sacher-Torte' — Markenrechtsstreit Hotel Sacher vs. Demel (1934–1963). Was schützt eine Marke vs. ein Rezept?"
|
||||
"de": "Sachertorte vs. ‚Original Sacher-Torte' — Markenrechtsstreit Hotel Sacher vs. Demel (1934 – 1963). Was schützt eine Marke vs. ein Rezept?"
|
||||
},
|
||||
"fact": "Franz Sacher erfand das Rezept 1832 mit 16 Jahren als Lehrling für Fürst Metternich. Den Streit, ob die Marillenmarmelade in der Mitte ODER nur außen sein darf, haben Sacher und Demel über 30 Jahre lang vor Gericht geführt — verloren hat keiner: heute gibt es beide ‚Originale'.",
|
||||
"diff_note": "echtes Konditor-Handwerk — Eiklarschnee, Glasur in einem Schwall, kein Streichen",
|
||||
@@ -504,7 +504,7 @@
|
||||
"1 Pkg. Plunderteig (TK, aufgetaut) ausrollen, in 8 Quadrate à 10 cm schneiden.",
|
||||
"Auf jede Mitte 1 EL Topfenmasse setzen. Ecken zur Mitte einklappen und leicht andrücken — wie ein Geschenkpaket.",
|
||||
"Mit verquirltem Ei bestreichen.",
|
||||
"Im Rohr 18–20 min backen, bis sie goldbraun und aufgegangen sind.",
|
||||
"Im Rohr 18 – 20 min backen, bis sie goldbraun und aufgegangen sind.",
|
||||
"Lauwarm mit Staubzucker bestreut servieren."
|
||||
],
|
||||
"tipp": "Mit selbstgemachtem Plunderteig (Touren-Teig) noch luftiger — aber dauert 6 h. Mit TK-Teig sind sie in 50 min am Tisch."
|
||||
@@ -561,7 +561,7 @@
|
||||
"20 min auf einem Blech bei Raumtemperatur ‚abstehen lassen' — Oberfläche muss antrocknen.",
|
||||
"Lauge: 1 L kaltes Wasser mit 30 g Natriumhydroxid (Achtung: ätzend, Handschuhe!) ODER alternativ 30 g Natron in heißem Wasser für die einfache Variante.",
|
||||
"Brezeln kurz in Lauge tauchen (10 sec), abtropfen, mit grobem Salz bestreuen, in der Schmetterling-Form mit Messer einschneiden.",
|
||||
"Bei 220 °C 18–20 min backen, bis sie tief mahagoni-braun sind.",
|
||||
"Bei 220 °C 18 – 20 min backen, bis sie tief mahagoni-braun sind.",
|
||||
"Obatzda: 200 g reifer Camembert mit 100 g Frischkäse, 1 fein gehackter Zwiebel, 1 TL Paprika, Pfeffer, einem Schuss Milch glatt verrühren. Mit Schnittlauch servieren.",
|
||||
"Brezel kurz warm halten, mit Obatzda und Radieschen."
|
||||
],
|
||||
@@ -900,15 +900,15 @@
|
||||
"time_min": 1800,
|
||||
"steps": [
|
||||
"Teig (24 h vorher): 500 g italienisches Tipo-00-Mehl mit 320 ml Wasser, 2 g frischer Hefe, 15 g Salz verkneten — 15 min lang per Hand.",
|
||||
"Teig 4 h bei Raumtemperatur gehen lassen, dann in 4 Kugeln teilen (Pizza-Bälle). 18–24 h im Kühlschrank reifen lassen.",
|
||||
"Ofen mit Pizzastein auf maximaler Hitze (250–300 °C) 1 h vorheizen.",
|
||||
"Teig 4 h bei Raumtemperatur gehen lassen, dann in 4 Kugeln teilen (Pizza-Bälle). 18 – 24 h im Kühlschrank reifen lassen.",
|
||||
"Ofen mit Pizzastein auf maximaler Hitze (250 – 300 °C) 1 h vorheizen.",
|
||||
"Teig auf bemehlter Fläche per Hand ausdrücken — niemals mit Nudelholz! Rand stehen lassen.",
|
||||
"Belag: 80 g zerdrückte San-Marzano-Tomaten (aus der Dose, NICHT gekocht) gleichmäßig verteilen. 100 g Mozzarella di Bufala in groben Stücken auflegen.",
|
||||
"5–6 frische Basilikum-Blätter darauf, 1 EL Olivenöl extra vergine im Spiralmuster.",
|
||||
"Auf den heißen Stein gleiten lassen — 60–90 Sekunden backen, bis der Rand schwarze Bläschen wirft.",
|
||||
"5 – 6 frische Basilikum-Blätter darauf, 1 EL Olivenöl extra vergine im Spiralmuster.",
|
||||
"Auf den heißen Stein gleiten lassen — 60 – 90 Sekunden backen, bis der Rand schwarze Bläschen wirft.",
|
||||
"Sofort essen — eine Pizza Margherita wartet auf niemanden."
|
||||
],
|
||||
"tipp": "Im Holzofen 60 sec, im Haushaltsofen mit Stein 4–5 min. Der Rand MUSS dunkle Bläschen haben (‚leoparding') — das ist das Qualitätsmerkmal."
|
||||
"tipp": "Im Holzofen 60 sec, im Haushaltsofen mit Stein 4 – 5 min. Der Rand MUSS dunkle Bläschen haben (‚leoparding') — das ist das Qualitätsmerkmal."
|
||||
},
|
||||
"nutrition": {
|
||||
"portion_g": 280,
|
||||
@@ -1278,7 +1278,7 @@
|
||||
"bu": "Lamm hat hohen Klima-Footprint. Diskussion: Festtagsgericht oder Alltagsessen?",
|
||||
"de": "‚Moussaka' kommt vom arabischen ‚musaqqa'a' = ‚gekühlt' — wurde traditionell auch kalt gegessen. Sprachwege durch die Mittelmeer-Geschichte."
|
||||
},
|
||||
"fact": "Die heutige Moussaka mit Béchamel ist eine Erfindung des griechischen Kochs Nikolaos Tselementes (1878–1958), der die griechische Küche im 1920er-Jahre nach französischen Vorbildern modernisierte. Vor ihm gab's Moussaka ohne die weiße Sauce.",
|
||||
"fact": "Die heutige Moussaka mit Béchamel ist eine Erfindung des griechischen Kochs Nikolaos Tselementes (1878 – 1958), der die griechische Küche im 1920er-Jahre nach französischen Vorbildern modernisierte. Vor ihm gab's Moussaka ohne die weiße Sauce.",
|
||||
"diff_note": "drei Komponenten (Aubergine, Ragout, Béchamel) + langes Backen — Marathon",
|
||||
"id": "moussaka",
|
||||
"heimat": "griechenland"
|
||||
@@ -1318,7 +1318,7 @@
|
||||
"Von der langen Seite eng aufrollen — wie Strudel. Mit scharfem Messer 16 gleich dicke Scheiben schneiden.",
|
||||
"Scheiben auf gefettetes Blech setzen, abgedeckt 45 min nachgehen lassen.",
|
||||
"Mit verquirltem Ei bestreichen, mit Hagelzucker bestreuen.",
|
||||
"Bei 220 °C 10–12 min backen — sie sollen goldbraun, aber innen noch saftig sein.",
|
||||
"Bei 220 °C 10 – 12 min backen — sie sollen goldbraun, aber innen noch saftig sein.",
|
||||
"Sofort essen — oder mit Tee am ‚Kanelbullens dag' (4. Oktober) feiern."
|
||||
],
|
||||
"tipp": "Kardamom ist die Geheimwaffe — er macht den Unterschied zwischen ‚schwedisch' und ‚nur Zimtschnecke'. Nicht weglassen!"
|
||||
@@ -1375,7 +1375,7 @@
|
||||
"Fülle: 400 g mehlige Erdäpfel weichkochen, schälen, durchpressen. Mit 200 g Magertopfen + 1 fein gehackter und in Butter glasiger Zwiebel + Salz + Pfeffer mischen.",
|
||||
"Teig hauchdünn ausrollen (2 mm), Kreise mit Glas (Ø 8 cm) ausstechen.",
|
||||
"Auf jeden Kreis 1 TL Fülle, zu Halbmond zusammenklappen, Rand fest andrücken — wie Kärntner Kasnudeln.",
|
||||
"In siedendem Salzwasser 4–5 min ziehen lassen, bis sie an die Oberfläche kommen.",
|
||||
"In siedendem Salzwasser 4 – 5 min ziehen lassen, bis sie an die Oberfläche kommen.",
|
||||
"TOPPING: 2 große Zwiebeln in feine Ringe, in 50 g Butter goldbraun rösten.",
|
||||
"Pierogi auf Tellern anrichten, mit den Röstzwiebeln + 2 EL Sahne pro Portion krönen. Mit Schnittlauch bestreuen."
|
||||
],
|
||||
@@ -1392,7 +1392,7 @@
|
||||
},
|
||||
"lehrplan": {
|
||||
"eh": "Teigtaschen-Familie: Maultaschen (DE), Kasnudeln (AT), Pierogi (PL), Ravioli (IT). Diskussion: warum gibt es DIESE Form so verbreitet?",
|
||||
"gw": "Polen + Westukraine — Grenzland-Küche. Historische Region ‚Galizien' (1772–1918 österreichisch). Wie Politik die Küche prägt.",
|
||||
"gw": "Polen + Westukraine — Grenzland-Küche. Historische Region ‚Galizien' (1772 – 1918 österreichisch). Wie Politik die Küche prägt.",
|
||||
"bu": "Hauptzutaten lokal: Erdäpfel, Topfen, Zwiebel. Klima-Footprint sehr niedrig — vegetarische Variante.",
|
||||
"de": "‚Pierogi' = Pluralform, Singular ist ‚pierog'. Im Deutschen oft falsch verwendet (‚ein Pierogi'). Sprachgebrauch in der Migration."
|
||||
},
|
||||
@@ -1683,8 +1683,8 @@
|
||||
"FALAFEL-PASTE: Kichererbsen mit 1 großen Zwiebel + 4 Knoblauchzehen + 1 großem Bund Petersilie + ½ Bund Koriandergrün + 2 TL Kreuzkümmel + 1 TL Korianderpulver + 1 TL Salz fein im Cutter zerkleinern.",
|
||||
"1 TL Backpulver + 2 EL Mehl unterheben — macht innen luftig.",
|
||||
"Aus der Masse 16 walnussgroße Bällchen formen (oder mit Falafel-Form pressen). 15 min im Kühlschrank ruhen.",
|
||||
"FRITTIEREN: Öl auf 170 °C erhitzen. Falafel in 2 Portionen 4–5 min frittieren, bis sie tiefbraun und außen knusprig sind. Auf Küchenpapier abtropfen.",
|
||||
"HUMMUS: 1 Dose Kichererbsen (eingelegt) abgespült, mit 3 EL Tahini, 2 EL Zitronensaft, 1 Knoblauchzehe, 4 EL Olivenöl, ½ TL Kumin, 1 TL Salz, 4–6 EL Eiswasser zu cremiger Paste mixen — 4 min lang!",
|
||||
"FRITTIEREN: Öl auf 170 °C erhitzen. Falafel in 2 Portionen 4 – 5 min frittieren, bis sie tiefbraun und außen knusprig sind. Auf Küchenpapier abtropfen.",
|
||||
"HUMMUS: 1 Dose Kichererbsen (eingelegt) abgespült, mit 3 EL Tahini, 2 EL Zitronensaft, 1 Knoblauchzehe, 4 EL Olivenöl, ½ TL Kumin, 1 TL Salz, 4 – 6 EL Eiswasser zu cremiger Paste mixen — 4 min lang!",
|
||||
"Hummus in Schüssel anrichten, Vertiefung mit Olivenöl + Paprikapulver füllen.",
|
||||
"Falafel mit warmem Fladenbrot, Hummus, Tahini-Sauce, gehackten Tomaten/Gurken und Petersilie servieren."
|
||||
],
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
"uganda",
|
||||
"tansania"
|
||||
],
|
||||
"fact": "Aus einer Kakaofrucht kommen ~30–40 Bohnen; für 100 g Schokolade braucht man rund 100 Bohnen."
|
||||
"fact": "Aus einer Kakaofrucht kommen ~30 – 40 Bohnen; für 100 g Schokolade braucht man rund 100 Bohnen."
|
||||
},
|
||||
"vanille": {
|
||||
"nm": "Vanille",
|
||||
|
||||
@@ -363,7 +363,7 @@ let C = {
|
||||
/* ====================== ZUTATEN-BAUSTEINE ====================== */
|
||||
let ING = {
|
||||
pfeffer:{nm:"Schwarzer Pfeffer",ic:"🧂",correct:["vietnam","indien"],choices:["vietnam","indien","island","kanada"],
|
||||
econ:{leader:"Vietnam",share:"~40 % des Welt-Pfefferexports",world:"~550.000 t / Jahr weltweit",price:"ca. 2–4 € / 100 g"},
|
||||
econ:{leader:"Vietnam",share:"~40 % des Welt-Pfefferexports",world:"~550.000 t / Jahr weltweit",price:"ca. 2 – 4 € / 100 g"},
|
||||
note:"Pfeffer ist eine tropische Kletterpflanze und wächst nur nahe am Äquator. In Island oder Kanada ist es viel zu kalt.",
|
||||
more:"Pfeffer war im Mittelalter so wertvoll, dass man ihn „schwarzes Gold“ nannte und damit sogar bezahlte."},
|
||||
olivenoel:{nm:"Olivenöl",ic:"🫒",correct:["spanien","italien"],choices:["spanien","italien","schweden","polen"],
|
||||
@@ -371,31 +371,31 @@ let ING = {
|
||||
note:"Olivenbäume lieben das milde Mittelmeerklima. In Schweden oder Polen sind die Winter zu kalt.",
|
||||
more:"Ein Olivenbaum kann über 1000 Jahre alt werden und trägt jedes Jahr aufs Neue Früchte."},
|
||||
hartweizen:{nm:"Hartweizen (Teig)",ic:"🌾",correct:["kanada","italien"],choices:["kanada","italien","norwegen","saudi"],
|
||||
econ:{leader:"Kanada",share:"weltgrößter Hartweizen-Exporteur (~50 % Welthandel)",world:"~770 Mio t Weizen / Jahr",price:"ca. 0,10–0,20 € / 100 g (Mehl)"},
|
||||
econ:{leader:"Kanada",share:"weltgrößter Hartweizen-Exporteur (~50 % Welthandel)",world:"~770 Mio t Weizen / Jahr",price:"ca. 0,10 – 0,20 € / 100 g (Mehl)"},
|
||||
note:"Weizen braucht gemäßigtes Klima mit genug Regen – nicht zu kalt wie Norwegen, nicht zu trocken wie Saudi-Arabien.",
|
||||
more:"Hartweizen (Durum) ist besonders eiweißreich – darum hält Pasta beim Kochen ihre Form."},
|
||||
tomaten:{nm:"Tomaten (Sauce)",ic:"🍅",correct:["italien","spanien"],choices:["italien","spanien","norwegen","island"],
|
||||
econ:{leader:"Italien & Spanien (EU)",share:"China ist weltweit Nr. 1, in Europa führen Italien & Spanien",world:"~190 Mio t Tomaten / Jahr",price:"ca. 0,15–0,25 € / 100 g (Dose)"},
|
||||
econ:{leader:"Italien & Spanien (EU)",share:"China ist weltweit Nr. 1, in Europa führen Italien & Spanien",world:"~190 Mio t Tomaten / Jahr",price:"ca. 0,15 – 0,25 € / 100 g (Dose)"},
|
||||
note:"Tomaten lieben Sonne und Wärme. Im hohen Norden wachsen sie nur im beheizten Gewächshaus.",
|
||||
more:"Die berühmten Pizza- und Pastasaucen kommen meist aus süditalienischen Tomaten, etwa aus der Gegend um Neapel."},
|
||||
kakao:{nm:"Kakao",ic:"🍫",correct:["elfenbein","ghana"],choices:["elfenbein","ghana","deutschland","kanada"],
|
||||
econ:{leader:"Elfenbeinküste",share:"~40 % der Weltproduktion (mit Ghana ~60 %)",world:"~5 Mio t Kakaobohnen / Jahr",price:"ca. 1–2 € / 100 g (Kakaopulver)"},
|
||||
econ:{leader:"Elfenbeinküste",share:"~40 % der Weltproduktion (mit Ghana ~60 %)",world:"~5 Mio t Kakaobohnen / Jahr",price:"ca. 1 – 2 € / 100 g (Kakaopulver)"},
|
||||
note:"Der Kakaobaum wächst nur in heißen, feuchten Gebieten nahe am Äquator – Deutschland und Kanada sind zu kalt.",
|
||||
more:"Aus einer Kakaofrucht kommen ~30–40 Bohnen; für 100 g Schokolade braucht man rund 100 Bohnen."},
|
||||
more:"Aus einer Kakaofrucht kommen ~30 – 40 Bohnen; für 100 g Schokolade braucht man rund 100 Bohnen."},
|
||||
rohrzucker:{nm:"Rohrzucker",ic:"🧊",correct:["brasilien","indien"],choices:["brasilien","indien","norwegen","finnland"],
|
||||
econ:{leader:"Brasilien",share:"weltgrößter Zucker-Exporteur",world:"~180 Mio t Zucker / Jahr",price:"ca. 0,10 € / 100 g"},
|
||||
note:"Zuckerrohr ist eine tropische Pflanze. (In Europa gewinnt man Zucker stattdessen aus Zuckerrüben.)",
|
||||
more:"Aus Zuckerrohr macht Brasilien auch Biosprit (Ethanol) für Autos."},
|
||||
vanille:{nm:"Vanille",ic:"🌼",correct:["madagaskar","indonesien"],choices:["madagaskar","indonesien","frankreich","japan"],
|
||||
econ:{leader:"Madagaskar",share:"~75–80 % der Weltproduktion",world:"weltweit nur ~7.000 t / Jahr",price:"ca. 30–60 € / 100 g (echte Schoten)"},
|
||||
econ:{leader:"Madagaskar",share:"~75 – 80 % der Weltproduktion",world:"weltweit nur ~7.000 t / Jahr",price:"ca. 30 – 60 € / 100 g (echte Schoten)"},
|
||||
note:"Vanille ist nach Safran das teuerste Gewürz der Welt – jede Blüte muss von Hand bestäubt werden.",
|
||||
more:"Die Vanille-Orchidee blüht nur einen einzigen Tag im Jahr – darum ist echte Vanille so selten."},
|
||||
reis:{nm:"Reis",ic:"🍚",correct:["indien","thailand"],choices:["indien","thailand","island","norwegen"],
|
||||
econ:{leader:"Indien",share:"weltgrößter Reis-Exporteur (~40 % Welthandel)",world:"~520 Mio t / Jahr",price:"ca. 0,15–0,30 € / 100 g"},
|
||||
econ:{leader:"Indien",share:"weltgrößter Reis-Exporteur (~40 % Welthandel)",world:"~520 Mio t / Jahr",price:"ca. 0,15 – 0,30 € / 100 g"},
|
||||
note:"Reis wächst auf warmen, überfluteten Feldern. Island und Norwegen sind dafür viel zu kalt.",
|
||||
more:"Für mehr als die Hälfte der Menschheit ist Reis das wichtigste Grundnahrungsmittel."},
|
||||
kurkuma:{nm:"Kurkuma",ic:"🟡",correct:["indien"],choices:["indien","schweden","kanada","russland"],
|
||||
econ:{leader:"Indien",share:"~75–80 % der Weltproduktion",world:"fast die ganze Welternte aus Südasien",price:"ca. 1–2 € / 100 g"},
|
||||
econ:{leader:"Indien",share:"~75 – 80 % der Weltproduktion",world:"fast die ganze Welternte aus Südasien",price:"ca. 1 – 2 € / 100 g"},
|
||||
note:"Kurkuma gibt dem Curry die gelbe Farbe und ist eine tropische Wurzel aus Südasien.",
|
||||
more:"Kurkuma färbt so stark, dass es auch als natürlicher Lebensmittelfarbstoff (E100) verwendet wird."},
|
||||
kokos:{nm:"Kokosmilch",ic:"🥥",correct:["indonesien","philippinen"],choices:["indonesien","philippinen","deutschland","russland"],
|
||||
@@ -403,35 +403,35 @@ let ING = {
|
||||
note:"Kokospalmen brauchen tropische Küsten: Sonne, Wärme und sandigen Boden.",
|
||||
more:"Eine Kokospalme trägt bis zu 100 Nüsse pro Jahr – über viele Jahrzehnte hinweg."},
|
||||
ingwer:{nm:"Ingwer",ic:"🫚",correct:["indien","china"],choices:["indien","china","norwegen","island"],
|
||||
econ:{leader:"Indien",share:"Indien & China sind die größten Produzenten",world:"~4 Mio t / Jahr",price:"ca. 0,60–1,00 € / 100 g"},
|
||||
econ:{leader:"Indien",share:"Indien & China sind die größten Produzenten",world:"~4 Mio t / Jahr",price:"ca. 0,60 – 1,00 € / 100 g"},
|
||||
note:"Ingwer ist eine tropische Wurzel und braucht Wärme und Feuchtigkeit zum Wachsen.",
|
||||
more:"Ingwer wird seit über 3000 Jahren als Gewürz und Heilmittel verwendet."},
|
||||
zimt:{nm:"Zimt",ic:"🪵",correct:["srilanka","indonesien"],choices:["srilanka","indonesien","schweden","deutschland"],
|
||||
econ:{leader:"Sri Lanka",share:"Heimat des echten Ceylon-Zimts",world:"~250.000 t Zimt / Jahr",price:"ca. 2–4 € / 100 g"},
|
||||
econ:{leader:"Sri Lanka",share:"Heimat des echten Ceylon-Zimts",world:"~250.000 t Zimt / Jahr",price:"ca. 2 – 4 € / 100 g"},
|
||||
note:"Überraschung: Im schwedischen Klassiker steckt KEIN schwedischer Zimt – er kommt aus Sri Lanka, vom anderen Ende der Welt!",
|
||||
more:"Zimt ist die getrocknete, gerollte Rinde eines Baumes – die typischen „Stangen“ sind eingerollte Rindenstücke."},
|
||||
kardamom:{nm:"Kardamom",ic:"🫛",correct:["guatemala","indien"],choices:["guatemala","indien","norwegen","italien"],
|
||||
econ:{leader:"Guatemala",share:"weltgrößter Kardamom-Exporteur",world:"~40.000 t / Jahr",price:"ca. 5–10 € / 100 g"},
|
||||
econ:{leader:"Guatemala",share:"weltgrößter Kardamom-Exporteur",world:"~40.000 t / Jahr",price:"ca. 5 – 10 € / 100 g"},
|
||||
note:"Kardamom ist eines der teuersten Gewürze der Welt (Platz 3 nach Safran und Vanille).",
|
||||
more:"Kardamom kam erst um 1900 nach Guatemala – heute exportiert das Land mehr davon als die Ursprungsregion Indien."},
|
||||
banane:{nm:"Banane",ic:"🍌",correct:["ecuador","philippinen"],choices:["ecuador","philippinen","deutschland","kanada"],
|
||||
econ:{leader:"Ecuador",share:"weltgrößter Bananen-Exporteur (~25–30 %)",world:"~135 Mio t Bananen / Jahr",price:"ca. 0,15–0,25 € / 100 g"},
|
||||
econ:{leader:"Ecuador",share:"weltgrößter Bananen-Exporteur (~25 – 30 %)",world:"~135 Mio t Bananen / Jahr",price:"ca. 0,15 – 0,25 € / 100 g"},
|
||||
note:"Bananen brauchen ganzjährig tropische Wärme – deshalb reisen sie tausende Kilometer zu uns.",
|
||||
more:"Bananen werden grün geerntet und reifen auf dem langen Schiffsweg nach Europa nach."},
|
||||
mandeln:{nm:"Mandeln",ic:"🌰",correct:["usa","spanien"],choices:["usa","spanien","norwegen","russland"],
|
||||
econ:{leader:"USA",share:"Kalifornien: ~75–80 % der Weltproduktion",world:"~1,4 Mio t Mandeln / Jahr",price:"ca. 1,50–2,50 € / 100 g"},
|
||||
econ:{leader:"USA",share:"Kalifornien: ~75 – 80 % der Weltproduktion",world:"~1,4 Mio t Mandeln / Jahr",price:"ca. 1,50 – 2,50 € / 100 g"},
|
||||
note:"Fast alle Mandeln wachsen im sonnigen Kalifornien und rund ums Mittelmeer.",
|
||||
more:"Mandelbäume brauchen Bienen zur Bestäubung – in Kalifornien werden dafür Milliarden Bienen herangekarrt."},
|
||||
kaffee:{nm:"Kaffee",ic:"☕",correct:["brasilien","vietnam"],choices:["brasilien","vietnam","uk","schweden"],
|
||||
econ:{leader:"Brasilien",share:"~35 % der Weltproduktion (Vietnam Nr. 2)",world:"~10 Mio t Rohkaffee / Jahr",price:"ca. 1–2 € / 100 g (Bohnen)"},
|
||||
econ:{leader:"Brasilien",share:"~35 % der Weltproduktion (Vietnam Nr. 2)",world:"~10 Mio t Rohkaffee / Jahr",price:"ca. 1 – 2 € / 100 g (Bohnen)"},
|
||||
note:"Lustig: Schweden trinkt am meisten Kaffee pro Kopf – angebaut wird dort aber keine einzige Bohne.",
|
||||
more:"Kaffee ist nach Erdöl eine der meistgehandelten Rohstoff-Waren der Welt."},
|
||||
orange:{nm:"Orangensaft",ic:"🍊",correct:["brasilien","spanien"],choices:["brasilien","spanien","norwegen","island"],
|
||||
econ:{leader:"Brasilien",share:"weltgrößter Orangen-Produzent; in Europa führt Spanien",world:"~75 Mio t Orangen / Jahr",price:"ca. 0,15–0,30 € / 100 ml (Saft)"},
|
||||
econ:{leader:"Brasilien",share:"weltgrößter Orangen-Produzent; in Europa führt Spanien",world:"~75 Mio t Orangen / Jahr",price:"ca. 0,15 – 0,30 € / 100 ml (Saft)"},
|
||||
note:"Orangen sind Zitrusfrüchte – sie brauchen warmes, frostfreies Klima.",
|
||||
more:"Fast die Hälfte aller Orangen wird zu Saft verarbeitet; Brasilien ist der größte Saft-Exporteur."},
|
||||
sesam:{nm:"Sesam",ic:"⚪",correct:["indien","sudan"],choices:["indien","sudan","island","norwegen"],
|
||||
econ:{leader:"Sudan / Indien",share:"gehören zu den größten Produzenten weltweit",world:"~6,5 Mio t Sesam / Jahr",price:"ca. 0,80–1,50 € / 100 g"},
|
||||
econ:{leader:"Sudan / Indien",share:"gehören zu den größten Produzenten weltweit",world:"~6,5 Mio t Sesam / Jahr",price:"ca. 0,80 – 1,50 € / 100 g"},
|
||||
note:"Sesam liebt Hitze und Trockenheit – deshalb wächst er in Afrika und Asien, nicht im kalten Norden.",
|
||||
more:"Aus Sesam wird die Paste Tahini gemacht – Grundzutat von Hummus."},
|
||||
soja:{nm:"Sojabohnen (Sojasauce)",ic:"🫘",correct:["usa","brasilien"],choices:["usa","brasilien","island","saudi"],
|
||||
@@ -439,39 +439,39 @@ let ING = {
|
||||
note:"Soja braucht viel Fläche und mildes bis warmes Klima – Island ist zu kalt, Saudi-Arabien zu trocken.",
|
||||
more:"Der größte Teil der Welt-Sojaernte wird gar nicht von Menschen gegessen, sondern als Tierfutter verwendet."},
|
||||
nori:{nm:"Nori (Seetang)",ic:"🟢",correct:["japan","suedkorea"],choices:["japan","suedkorea","oesterreich","schweiz"],
|
||||
econ:{leader:"Japan / Südkorea",share:"fast die gesamte Welt-Noriproduktion",world:"Millionen Tonnen Algen / Jahr",price:"ca. 5–10 € / 100 g (Noriblätter)"},
|
||||
econ:{leader:"Japan / Südkorea",share:"fast die gesamte Welt-Noriproduktion",world:"Millionen Tonnen Algen / Jahr",price:"ca. 5 – 10 € / 100 g (Noriblätter)"},
|
||||
note:"Nori ist eine Meeresalge. Österreich und die Schweiz sind Binnenländer ohne Meer – dort kann gar kein Seetang wachsen!",
|
||||
more:"Nori wird auf Netzen im flachen Küstenwasser „angebaut“ und wie Gemüse geerntet."},
|
||||
avocado:{nm:"Avocado",ic:"🥑",correct:["mexiko"],choices:["mexiko","norwegen","island","polen"],
|
||||
econ:{leader:"Mexiko",share:"~30 % der Weltproduktion, weltgrößter Exporteur",world:"~9 Mio t / Jahr",price:"ca. 0,80–1,20 € / 100 g"},
|
||||
econ:{leader:"Mexiko",share:"~30 % der Weltproduktion, weltgrößter Exporteur",world:"~9 Mio t / Jahr",price:"ca. 0,80 – 1,20 € / 100 g"},
|
||||
note:"Avocados wachsen in warmen, frostfreien Regionen – Mexiko ist das Avocado-Land Nr. 1.",
|
||||
more:"Avocadobäume brauchen sehr viel Wasser – in trockenen Anbaugebieten ist das ein Umweltproblem."},
|
||||
limette:{nm:"Limette",ic:"🟢",correct:["mexiko","indien"],choices:["mexiko","indien","norwegen","finnland"],
|
||||
econ:{leader:"Mexiko / Indien",share:"größte Produzenten von Limetten & Zitronen",world:"~20 Mio t Limetten & Zitronen / Jahr",price:"ca. 0,30–0,50 € / 100 g"},
|
||||
econ:{leader:"Mexiko / Indien",share:"größte Produzenten von Limetten & Zitronen",world:"~20 Mio t Limetten & Zitronen / Jahr",price:"ca. 0,30 – 0,50 € / 100 g"},
|
||||
note:"Wie alle Zitrusfrüchte braucht die Limette Wärme und verträgt keinen Frost.",
|
||||
more:"Limettensaft hält angeschnittene Avocado grün – die Säure bremst das Braunwerden."},
|
||||
mais:{nm:"Mais (Tortilla)",ic:"🌽",correct:["usa","brasilien"],choices:["usa","brasilien","island","saudi"],
|
||||
econ:{leader:"USA",share:"USA & Brasilien sind große Mais-Exporteure",world:"~1,2 Mrd t Mais / Jahr",price:"ca. 0,10–0,20 € / 100 g (Mehl)"},
|
||||
econ:{leader:"USA",share:"USA & Brasilien sind große Mais-Exporteure",world:"~1,2 Mrd t Mais / Jahr",price:"ca. 0,10 – 0,20 € / 100 g (Mehl)"},
|
||||
note:"Mais stammt ursprünglich aus Mexiko, wächst heute aber weltweit – nur nicht im ewigen Eis oder in der reinen Wüste.",
|
||||
more:"Mais ist mengenmäßig das meistangebaute Getreide der Welt – noch vor Weizen und Reis."},
|
||||
erdnuss:{nm:"Erdnüsse",ic:"🥜",correct:["china","indien"],choices:["china","indien","norwegen","island"],
|
||||
econ:{leader:"China",share:"China & Indien sind die größten Produzenten",world:"~50 Mio t / Jahr",price:"ca. 0,40–0,80 € / 100 g"},
|
||||
econ:{leader:"China",share:"China & Indien sind die größten Produzenten",world:"~50 Mio t / Jahr",price:"ca. 0,40 – 0,80 € / 100 g"},
|
||||
note:"Erdnüsse reifen UNTER der Erde und brauchen warmen, lockeren Boden.",
|
||||
more:"Botanisch sind Erdnüsse keine Nüsse, sondern Hülsenfrüchte – verwandt mit Erbsen und Bohnen."},
|
||||
chili:{nm:"Chili",ic:"🌶️",correct:["indien","china"],choices:["indien","china","norwegen","finnland"],
|
||||
econ:{leader:"Indien",share:"Indien ist weltgrößter Chili-Produzent und -Exporteur",world:"~40 Mio t Chilis & Paprika / Jahr",price:"ca. 1–3 € / 100 g (getrocknet)"},
|
||||
econ:{leader:"Indien",share:"Indien ist weltgrößter Chili-Produzent und -Exporteur",world:"~40 Mio t Chilis & Paprika / Jahr",price:"ca. 1 – 3 € / 100 g (getrocknet)"},
|
||||
note:"Chilis lieben Hitze – im kühlen Norden reifen sie kaum aus.",
|
||||
more:"Die Schärfe kommt vom Stoff Capsaicin; gemessen wird sie in Scoville-Einheiten."},
|
||||
kichererbsen:{nm:"Kichererbsen",ic:"🟤",correct:["indien"],choices:["indien","norwegen","island","schweden"],
|
||||
econ:{leader:"Indien",share:"~70 % der Weltproduktion",world:"~15 Mio t / Jahr",price:"ca. 0,20–0,40 € / 100 g"},
|
||||
econ:{leader:"Indien",share:"~70 % der Weltproduktion",world:"~15 Mio t / Jahr",price:"ca. 0,20 – 0,40 € / 100 g"},
|
||||
note:"Kichererbsen mögen Wärme und Trockenheit – im nassen, kalten Norden gedeihen sie schlecht.",
|
||||
more:"Aus Kichererbsen werden Hummus und Falafel gemacht – Grundnahrung im Nahen Osten."},
|
||||
kumin:{nm:"Kreuzkümmel",ic:"🌿",correct:["indien"],choices:["indien","norwegen","kanada","polen"],
|
||||
econ:{leader:"Indien",share:"größter Produzent und Exporteur",world:"Hauptanbau in Indien & Vorderasien",price:"ca. 1–2 € / 100 g"},
|
||||
econ:{leader:"Indien",share:"größter Produzent und Exporteur",world:"Hauptanbau in Indien & Vorderasien",price:"ca. 1 – 2 € / 100 g"},
|
||||
note:"Kreuzkümmel braucht ein heißes, trockenes Klima zum Reifen.",
|
||||
more:"Vorsicht: Kreuzkümmel wird oft mit Kümmel verwechselt – schmeckt aber ganz anders."},
|
||||
apfel:{nm:"Äpfel",ic:"🍎",correct:["oesterreich","polen"],choices:["oesterreich","polen","saudi","island"],
|
||||
econ:{leader:"Polen (EU) / China (Welt)",share:"China ist weltweit Nr. 1, Polen größter EU-Produzent",world:"~95 Mio t Äpfel / Jahr",price:"ca. 0,15–0,30 € / 100 g"},
|
||||
econ:{leader:"Polen (EU) / China (Welt)",share:"China ist weltweit Nr. 1, Polen größter EU-Produzent",world:"~95 Mio t Äpfel / Jahr",price:"ca. 0,15 – 0,30 € / 100 g"},
|
||||
note:"Äpfel mögen es gemäßigt, mit kühlem Winter. In der Wüste oder Arktis wachsen sie nicht.",
|
||||
more:"Ein heimischer Apfel reist oft nur wenige Kilometer – ganz anders als Vanille oder Kakao vom anderen Ende der Welt."},
|
||||
};
|
||||
@@ -583,10 +583,10 @@ function climateImpactBlock(dish) {
|
||||
if (!imp.details.length) return '';
|
||||
const modeIcon = { schiff: '🚢', bahn: '🚂', lkw: '🚚', flugzeug: '✈️' };
|
||||
let categoryRef = '';
|
||||
if (dish.category === 'regional-at') categoryRef = '🏔 typischer AT-regionaler Wert: <b>30–80 g</b>';
|
||||
else if (dish.category === 'dach') categoryRef = '🏘 typischer DACH-Wert: <b>80–200 g</b>';
|
||||
else if (dish.category === 'europa') categoryRef = '🇪🇺 typischer Europa-Wert: <b>200–500 g</b>';
|
||||
else if (dish.category === 'exotisch') categoryRef = '🌍 typischer Exotik-Wert: <b>500–1500 g</b>';
|
||||
if (dish.category === 'regional-at') categoryRef = '🏔 typischer AT-regionaler Wert: <b>30 – 80 g</b>';
|
||||
else if (dish.category === 'dach') categoryRef = '🏘 typischer DACH-Wert: <b>80 – 200 g</b>';
|
||||
else if (dish.category === 'europa') categoryRef = '🇪🇺 typischer Europa-Wert: <b>200 – 500 g</b>';
|
||||
else if (dish.category === 'exotisch') categoryRef = '🌍 typischer Exotik-Wert: <b>500 – 1500 g</b>';
|
||||
// Bewertung
|
||||
let badge = '🌱', verdict = 'sehr klimafreundlich';
|
||||
if (imp.total >= 500) { badge = '🔥'; verdict = 'klimaintensiv — viel Welthandel'; }
|
||||
@@ -612,7 +612,7 @@ function climateImpactBlock(dish) {
|
||||
</div>
|
||||
${dish.category === 'exotisch' || imp.total > 300 ? `<div style="margin-top:10px;background:#fff;border-radius:10px;padding:10px 12px;font-size:.84rem">
|
||||
<b>💭 Was meinst du?</b> Lokale Küche hat winzigen CO₂-Fußabdruck, aber begrenzte Vielfalt.
|
||||
Globale Küche bringt Vitamin-/Geschmacksvielfalt — kostet aber 10–30× mehr Klima.
|
||||
Globale Küche bringt Vitamin-/Geschmacksvielfalt — kostet aber 10 – 30× mehr Klima.
|
||||
Wo ist deine Balance?
|
||||
</div>` : ''}
|
||||
</div>`;
|
||||
@@ -1548,7 +1548,7 @@ function explainChoice(ingKey, key, isCorrect){
|
||||
return {cls:'no', badge:'✗', text:`Klimatisch oder logistisch kein Lieferant für uns — wächst hier nicht im relevanten Umfang oder gelangt nicht in unsere Märkte.`};
|
||||
}
|
||||
|
||||
/* Volltabelle: jede der 4–5 Karten-Optionen kriegt einen erklärenden Satz.
|
||||
/* Volltabelle: jede der 4 – 5 Karten-Optionen kriegt einen erklärenden Satz.
|
||||
* Schüler:innen sehen so auch, was sie NICHT angeklickt haben (Lerngewinn:
|
||||
* was wäre theoretisch möglich gewesen, was wäre falsch gewesen). */
|
||||
function allChoicesHTML(ingKey, task, attempted){
|
||||
|
||||
Reference in New Issue
Block a user