diff --git a/App/sims/weltkueche/game.html b/App/sims/weltkueche/game.html index c7860c9..39ef881 100644 --- a/App/sims/weltkueche/game.html +++ b/App/sims/weltkueche/game.html @@ -1033,12 +1033,13 @@ function buildTaskFor(ingKey) { const sourcePool = euRelevant.length >= 2 ? euRelevant : allProducers; const climatePossible = (ing.climate_possible || []).filter(c => C[c]); - // Die 2 tatsächlichen HAUPTLIEFERANTEN — nicht mehr gewürfelt, sondern nach - // echter Menge, damit die Antwort logisch nachvollziehbar ist (schwarzer - // Pfeffer → Vietnam + Brasilien, nicht Sri Lanka + Kambodscha). Wer unseren - // Markt beliefert (eu/global), kommt vor „Big Player, der bei uns selten - // ankommt" (world-far); innerhalb einer Stufe zählt die Tonnage. - const MARKET_TIER = { 'eu': 0, 'global': 0, 'world-far': 1 }; + // Die tatsächlichen HAUPTLIEFERANTEN für UNSEREN Markt — nicht gewürfelt. + // Stufenfolge: EU-Nachbar (kurzer Weg, kein Zoll → für uns der Hauptweg) VOR + // fernem Welt-Lieferant (nur wo es hier nicht wächst, z. B. Pfeffer) VOR + // „Big Player, der bei uns kaum ankommt". Innerhalb einer Stufe zählt die + // Menge. So bleibt DACH/EU priorisiert; Pfeffer (kein EU-Produzent) → die + // zwei größten Welt-Lieferanten Vietnam + Brasilien. + const MARKET_TIER = { 'eu': 0, 'global': 1, 'world-far': 2 }; const rankedPool = [...sourcePool].sort((a, b) => ((MARKET_TIER[a.market] ?? 2) - (MARKET_TIER[b.market] ?? 2)) || (((ing.producers[b.key] || {}).t || 0) - ((ing.producers[a.key] || {}).t || 0))); @@ -1298,13 +1299,19 @@ function explainChoice(ingKey, key, isCorrect){ if (info && info.market === 'off-season'){ return {cls:'ok', badge:'✓', text:`Off-Season-Lieferant für unseren Winter (${amount}).`}; } + if (info && info.market === 'eu'){ + return {cls:'ok', badge:'✓', text:`Hauptlieferant für uns${amount?' (' + amount + ')':''} – aus dem EU-Binnenmarkt: kurzer Weg, kein Zoll. Deshalb kommt die Ware meist von hier, auch wenn anderswo mehr wächst.`}; + } return {cls:'ok', badge:'✓', text:`Hauptlieferant für uns${amount?' (' + amount + ')':''}.`}; } // Falsch: weitere Klassifizierung if (info){ const m = info.market || 'global'; + if (m === 'world-far'){ + return {cls:'mid', badge:'🌐', text:`Weltweit großer Produzent (${amount}) – im EU-Handel aber kaum vertreten, du bekommst die Ware fast nie von dort.`}; + } if (m === 'eu' || m === 'global'){ - return {cls:'mid', badge:'⚠️', text:`Auch echter Lieferant (${amount}) — in dieser Runde aber nicht der Hauptweg zu uns.`}; + return {cls:'mid', badge:'⚠️', text:`Auch ein echter Lieferant (${amount}) – aber nicht der Hauptweg zu unserem Markt.`}; } if (m === 'local'){ return {cls:'mid', badge:'🏠', text:`Produziert ${amount}${animal?' — Tiere werden aber überwiegend für den lokalen Markt gehalten':' — fast alles bleibt im eigenen Land'}.`}; @@ -1316,7 +1323,7 @@ function explainChoice(ingKey, key, isCorrect){ return {cls:'mid', badge:'🌐', text:`Geht in regionale Märkte Asiens — landet praktisch nicht in unseren Supermärkten.`}; } if (m === 'off-season'){ - return {cls:'mid', badge:'🌍', text:`Süd-Hemisphäre — liefert nur im EU-Winter, in dieser Runde aber nicht der Hauptweg.`}; + return {cls:'mid', badge:'🌍', text:`Süd-Hemisphäre — liefert nur im EU-Winter, sonst nicht der Hauptweg zu uns.`}; } } if (ing && ing.climate_possible && ing.climate_possible.includes(key)){ @@ -1448,7 +1455,7 @@ function showWrong(key, kind, ingKey){ card.className="result-card mid show"; const info = ing.producers[key]; const amount = info && info.t ? fmtTonnes(info.t) : 'verbreitet'; - head = `⚠️ ${c.f} ${c.n} ist auch ein echter EU-Lieferant (${amount}) — aber in dieser Runde sind zwei andere Länder gefragt.`; + head = `⚠️ ${c.f} ${c.n} ist auch ein echter Lieferant (${amount}) — aber nicht der Hauptweg zu unserem Markt.`; note = c.info + '

🔎 Such weiter — du hast eines der gesuchten Herkunftsländer noch nicht entdeckt.'; } else if (kind === 'producer-local') { // Produziert, aber bleibt im Inland / regionaler Markt