97 lines
2.4 KiB
TypeScript
97 lines
2.4 KiB
TypeScript
|
|
|
||
|
|
/**
|
||
|
|
* @author kcf <vidofnir@folksprak.org>
|
||
|
|
*/
|
||
|
|
function haupt() : void
|
||
|
|
{
|
||
|
|
let darstellung_aktualisieren = function (aufbau : mod_vtm_aufbau.klasse_welt, dom_zeichenflaeche : Element) : void
|
||
|
|
{
|
||
|
|
let darstellung_steuerung : mod_vtm_darstellung_steuerung.klasse_web_welt = new mod_vtm_darstellung_steuerung.klasse_web_welt(aufbau);
|
||
|
|
let xmlknoten : mod_vtm_helfer.schnittstelle_xmlknoten = mod_vtm_darstellung_steuerung.svg_wurzel
|
||
|
|
(
|
||
|
|
-4, -4,
|
||
|
|
+4, +4,
|
||
|
|
800, 800,
|
||
|
|
[darstellung_steuerung.darstellen()]
|
||
|
|
)
|
||
|
|
;
|
||
|
|
dom_zeichenflaeche.innerHTML = xmlknoten.darstellen();
|
||
|
|
}
|
||
|
|
;
|
||
|
|
|
||
|
|
let aufbau : mod_vtm_aufbau.klasse_welt = mod_vtm_aufbau.klasse_welt.blanko();
|
||
|
|
let dom_zeichenflaeche : Element = document.querySelector("#zeichenflaeche")
|
||
|
|
// initiale Darstellung
|
||
|
|
darstellung_aktualisieren(aufbau, dom_zeichenflaeche);
|
||
|
|
// Steuerung
|
||
|
|
{
|
||
|
|
dom_zeichenflaeche.addEventListener
|
||
|
|
(
|
||
|
|
"click",
|
||
|
|
event =>
|
||
|
|
{
|
||
|
|
event.preventDefault();
|
||
|
|
let dom_feld : Element = event.target["closest"](".feld");
|
||
|
|
if (dom_feld == null)
|
||
|
|
{
|
||
|
|
console.info("-- kein Feld");
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
let rel : string = dom_feld.getAttribute("rel")
|
||
|
|
let stelle : mod_vtm_aufbau.typ_stelle = mod_vtm_aufbau.stelle_von_hash(rel);
|
||
|
|
aufbau.feld_wechseln(stelle);
|
||
|
|
darstellung_aktualisieren(aufbau, dom_zeichenflaeche);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
)
|
||
|
|
;
|
||
|
|
dom_zeichenflaeche.addEventListener
|
||
|
|
(
|
||
|
|
"contextmenu",
|
||
|
|
event =>
|
||
|
|
{
|
||
|
|
event.preventDefault();
|
||
|
|
let dom_feld : Element = event.target["closest"](".feld");
|
||
|
|
if (dom_feld == null)
|
||
|
|
{
|
||
|
|
console.info("-- kein Feld");
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
let rel : string = dom_feld.getAttribute("rel")
|
||
|
|
let stelle : mod_vtm_aufbau.typ_stelle = mod_vtm_aufbau.stelle_von_hash(rel);
|
||
|
|
aufbau.feld_drehen(stelle);
|
||
|
|
darstellung_aktualisieren(aufbau, dom_zeichenflaeche);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
)
|
||
|
|
;
|
||
|
|
document.querySelector("#knopf_fortfahren").addEventListener
|
||
|
|
(
|
||
|
|
"click",
|
||
|
|
event =>
|
||
|
|
{
|
||
|
|
aufbau.fortfahren();
|
||
|
|
darstellung_aktualisieren(aufbau, dom_zeichenflaeche);
|
||
|
|
}
|
||
|
|
)
|
||
|
|
;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @author kcf <vidofnir@folksprak.org>
|
||
|
|
*/
|
||
|
|
function eingang_web() : void
|
||
|
|
{
|
||
|
|
document.addEventListener
|
||
|
|
(
|
||
|
|
"DOMContentLoaded",
|
||
|
|
event => {haupt();}
|
||
|
|
)
|
||
|
|
;
|
||
|
|
}
|
||
|
|
|