Tourismusregion: Komplett-Integration (zweite neue Sim, beta)
Wellenbasierte Routen-Sim (DefensegeograSimMac) nach dem Tourismustal- Playbook integriert: Sim nach App/sims/tourismusregion (game.html, Sprites 47MB->9.5MB, ohne Eigen-Backend/Editor/Dashboard/Keys), Plattform-Hooks (GGS_LIVE_STATE mit Welle/Budget/Umwelt/Sterne/Lenkung, Submit bei Partie-Ende mit fertigem 0-100-Score, GGS_TUTORIAL, Home- Button, Musik leise). Wrapper + Modul-Detailseite. SQL: module_info (beta, Karte), Glossar-Kernbegriff Besucherlenkung (+Bild, Leichte Sprache) + 12 Zuordnungen, Lehrplan-Mapping auf tourismus- raumentwicklung (primaer) + verkehrserziehung/systemisches-denken. LEHRPLAN.md mit Schwerpunkt Besucherlenkung & Mobilitaet. Lehrer- Backend: Benchmark (Sim-Score direkt), Live-Cockpit-Spalten, needsHelp, Highlights. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -592,6 +592,38 @@ function _liveBar(val, min, max, goodWhen) {
|
||||
}
|
||||
|
||||
var LIVE_PRIMARY_FIELDS = {
|
||||
'tourismusregion': [
|
||||
{k:'mapId', label:'Karte', align:'left', fmt:function(v){
|
||||
return {talschleife:'🏞 Talschleife', seerunde:'🚣 Seerunde', serpentinen:'⛰ Serpentinen',
|
||||
kreuzung:'✚ Kreuzung', passstrasse:'🛣 Passstraße'}[v] || v || '—';
|
||||
}},
|
||||
{k:'wave', label:'Welle', fmt:function(v, row){
|
||||
var s = row.state || {};
|
||||
if (v === undefined) return '—';
|
||||
var status = s.waveStatus === 'pause' ? ' <span style="color:#8a8a8a">⏸ Baupause</span>' : '';
|
||||
return v + '<span style="color:#8a8a8a"> / ' + (s.waveTotal || 8) + '</span>' + status;
|
||||
}},
|
||||
{k:'season', label:'Saison', align:'center'},
|
||||
{k:'budget', label:'Budget', fmt:function(v){
|
||||
if (v === undefined) return '—';
|
||||
var color = v < 0 ? '#c0392b' : '#5a8a5e';
|
||||
return '<span style="color:'+color+';font-weight:700">'+Number(v).toLocaleString('de-AT')+' €</span>';
|
||||
}},
|
||||
{k:'revenue', label:'Wertsch.', unit:'€'},
|
||||
{k:'avgStars', label:'Ø ★', fmt:function(v){
|
||||
if (v === undefined) return '—';
|
||||
var color = v >= 3.5 ? '#5a8a5e' : v >= 2.5 ? '#c9913a' : '#c07a6b';
|
||||
return '<span style="color:'+color+';font-weight:700">'+v.toFixed(2)+'</span>';
|
||||
}},
|
||||
{k:'env', label:'Umwelt', fmt:function(v){ return _liveBar(v, 0, 100, 'high'); }},
|
||||
{k:'visitors', label:'Gäste'},
|
||||
{k:'goalsDone', label:'Ziele', fmt:function(v, row){
|
||||
var s = row.state || {};
|
||||
if (v === undefined || !s.goalsTotal) return '—';
|
||||
var color = v === s.goalsTotal ? '#5a8a5e' : v >= 2 ? '#c9913a' : '#8a8a8a';
|
||||
return '<span style="color:'+color+';font-weight:700">'+v+'/'+s.goalsTotal+'</span>';
|
||||
}},
|
||||
],
|
||||
'tourismustal': [
|
||||
{k:'scene', label:'Szene', align:'left', fmt:function(v){
|
||||
return {pionierzeit:'⛏️ 1975', boom:'📈 Boom 2000', klimawandel:'🌡️ 2035'}[v] || v || '—';
|
||||
|
||||
Reference in New Issue
Block a user