/** * @author kcf */ 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 */ function eingang_web() : void { document.addEventListener ( "DOMContentLoaded", event => {haupt();} ) ; }