eigentlich fertig :)
This commit is contained in:
parent
c5282e424c
commit
250b58aa1b
8
makefile
8
makefile
|
|
@ -46,12 +46,8 @@ ${dir_erzeugnis}/vtm.js: \
|
||||||
${dir_quelldatein}/helfer/typen.ts \
|
${dir_quelldatein}/helfer/typen.ts \
|
||||||
${dir_quelldatein}/helfer/aufruf.ts \
|
${dir_quelldatein}/helfer/aufruf.ts \
|
||||||
${dir_quelldatein}/helfer/brauch.ts \
|
${dir_quelldatein}/helfer/brauch.ts \
|
||||||
${dir_quelldatein}/helfer/fehlermonade/_fehlermonade.ts \
|
${dir_quelldatein}/helfer/fehlermonade.ts \
|
||||||
${dir_quelldatein}/helfer/fehlermonade/nichts.ts \
|
${dir_quelldatein}/helfer/xml.ts \
|
||||||
${dir_quelldatein}/helfer/fehlermonade/schlicht.ts \
|
|
||||||
${dir_quelldatein}/helfer/xmlknoten/_xmlknoten.ts \
|
|
||||||
${dir_quelldatein}/helfer/xmlknoten/text.ts \
|
|
||||||
${dir_quelldatein}/helfer/xmlknoten/normal.ts \
|
|
||||||
${dir_quelldatein}/helfer/verschiedenes.ts \
|
${dir_quelldatein}/helfer/verschiedenes.ts \
|
||||||
${dir_quelldatein}/helfer/mathematik.ts \
|
${dir_quelldatein}/helfer/mathematik.ts \
|
||||||
${dir_quelldatein}/helfer/vektor.ts \
|
${dir_quelldatein}/helfer/vektor.ts \
|
||||||
|
|
|
||||||
|
|
@ -134,11 +134,11 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
if (figur.band.length <= 0)
|
if (figur.band.length <= 0)
|
||||||
{
|
{
|
||||||
return (lib_fehlermonade.mod_nichts.erstellen<mod_symbol.typ_symbol>());
|
return (lib_fehlermonade.erstellen_nichts<mod_symbol.typ_symbol>());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return (lib_fehlermonade.mod_schlicht.erstellen<mod_symbol.typ_symbol>(figur.band[0]));
|
return (lib_fehlermonade.erstellen_schlicht<mod_symbol.typ_symbol>(figur.band[0]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,13 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function lauschen(partie : typ_partie, ereignis : string, prozedur : (angaben ?: any)=>void) : void
|
export function lauschen
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
ereignis : string,
|
||||||
|
prozedur : (angaben ?: any)=>void
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
if (ereignis in partie.lauscher)
|
if (ereignis in partie.lauscher)
|
||||||
{
|
{
|
||||||
|
|
@ -89,7 +95,12 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
function benachrichtigen(partie : typ_partie, ereignis : string, angaben : any = {}) : void
|
function benachrichtigen
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
ereignis : string,
|
||||||
|
angaben : any = {}
|
||||||
|
) : void
|
||||||
{
|
{
|
||||||
if (ereignis in partie.lauscher)
|
if (ereignis in partie.lauscher)
|
||||||
{
|
{
|
||||||
|
|
@ -113,10 +124,15 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function zuruecksetzen(partie : typ_partie, bescheid_geben : boolean = true) : void
|
export function zuruecksetzen
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
bescheid_geben : boolean = true
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
partie.figur = (lib_fehlermonade.mod_nichts.erstellen<mod_figur.typ_figur>());
|
partie.figur = (lib_fehlermonade.erstellen_nichts<mod_figur.typ_figur>());
|
||||||
partie.testindex = (lib_fehlermonade.mod_nichts.erstellen<int>());
|
partie.testindex = (lib_fehlermonade.erstellen_nichts<int>());
|
||||||
partie.modus = mod_modus.initial;
|
partie.modus = mod_modus.initial;
|
||||||
if (bescheid_geben)
|
if (bescheid_geben)
|
||||||
{
|
{
|
||||||
|
|
@ -133,7 +149,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function aufgabe_lesen(partie : typ_partie) : mod_aufgabe.typ_aufgabe
|
export function aufgabe_lesen
|
||||||
|
(
|
||||||
|
partie : typ_partie
|
||||||
|
)
|
||||||
|
: mod_aufgabe.typ_aufgabe
|
||||||
{
|
{
|
||||||
return partie.aufgabe;
|
return partie.aufgabe;
|
||||||
}
|
}
|
||||||
|
|
@ -142,7 +162,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function aufgabe_setzen(partie : typ_partie, aufgabe : mod_aufgabe.typ_aufgabe) : void
|
export function aufgabe_setzen
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
aufgabe : mod_aufgabe.typ_aufgabe
|
||||||
|
) : void
|
||||||
{
|
{
|
||||||
partie.aufgabe = aufgabe;
|
partie.aufgabe = aufgabe;
|
||||||
// partie.welt_leeren();
|
// partie.welt_leeren();
|
||||||
|
|
@ -154,7 +178,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function welt_lesen(partie : typ_partie) : mod_welt.typ_welt
|
export function welt_lesen
|
||||||
|
(
|
||||||
|
partie : typ_partie
|
||||||
|
)
|
||||||
|
: mod_welt.typ_welt
|
||||||
{
|
{
|
||||||
return partie.welt;
|
return partie.welt;
|
||||||
}
|
}
|
||||||
|
|
@ -163,7 +191,13 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function welt_setzen(partie : typ_partie, welt : mod_welt.typ_welt, bescheid_geben : boolean = true) : void
|
export function welt_setzen
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
welt : mod_welt.typ_welt,
|
||||||
|
bescheid_geben : boolean = true
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
partie.welt = welt;
|
partie.welt = welt;
|
||||||
if (bescheid_geben)
|
if (bescheid_geben)
|
||||||
|
|
@ -180,7 +214,12 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function welt_leeren(partie : typ_partie, bescheid_geben : boolean = true) : void
|
export function welt_leeren
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
bescheid_geben : boolean = true
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
partie.welt = mod_welt.blanko();
|
partie.welt = mod_welt.blanko();
|
||||||
if (bescheid_geben)
|
if (bescheid_geben)
|
||||||
|
|
@ -197,7 +236,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function figur_lesen(partie : typ_partie) : lib_fehlermonade.typ_fehlermonade<mod_figur.typ_figur>
|
export function figur_lesen
|
||||||
|
(
|
||||||
|
partie : typ_partie
|
||||||
|
)
|
||||||
|
: lib_fehlermonade.typ_fehlermonade<mod_figur.typ_figur>
|
||||||
{
|
{
|
||||||
return partie.figur;
|
return partie.figur;
|
||||||
}
|
}
|
||||||
|
|
@ -206,7 +249,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function modus_lesen(partie : typ_partie) : mod_modus.typ_modus
|
export function modus_lesen
|
||||||
|
(
|
||||||
|
partie : typ_partie
|
||||||
|
)
|
||||||
|
: mod_modus.typ_modus
|
||||||
{
|
{
|
||||||
return partie.modus;
|
return partie.modus;
|
||||||
}
|
}
|
||||||
|
|
@ -215,7 +262,13 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function welt_feld_wechseln(partie : typ_partie, stelle : mod_stelle.typ_stelle, umgekehrt : boolean = false) : void
|
export function welt_feld_wechseln
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
stelle : mod_stelle.typ_stelle,
|
||||||
|
umgekehrt : boolean = false
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
if (! (partie.modus === mod_modus.initial))
|
if (! (partie.modus === mod_modus.initial))
|
||||||
{
|
{
|
||||||
|
|
@ -246,7 +299,13 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function welt_feld_drehen(partie : typ_partie, stelle : mod_stelle.typ_stelle, inkrement : int = +1) : void
|
export function welt_feld_drehen
|
||||||
|
(
|
||||||
|
partie : typ_partie,
|
||||||
|
stelle : mod_stelle.typ_stelle,
|
||||||
|
inkrement : int = +1
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
if (! (partie.modus === mod_modus.initial))
|
if (! (partie.modus === mod_modus.initial))
|
||||||
{
|
{
|
||||||
|
|
@ -263,26 +322,30 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function fortfahren(partie : typ_partie) : void
|
export function fortfahren
|
||||||
|
(
|
||||||
|
partie : typ_partie
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
switch (partie.modus)
|
switch (partie.modus)
|
||||||
{
|
{
|
||||||
case mod_modus.initial:
|
case mod_modus.initial:
|
||||||
{
|
{
|
||||||
partie.modus = mod_modus.ungewiss;
|
partie.modus = mod_modus.ungewiss;
|
||||||
partie.testindex = (lib_fehlermonade.mod_schlicht.erstellen<int>(0));
|
partie.testindex = (lib_fehlermonade.erstellen_schlicht<int>(0));
|
||||||
benachrichtigen(partie, "aenderung_modus", {});
|
benachrichtigen(partie, "aenderung_modus", {});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case mod_modus.ungewiss:
|
case mod_modus.ungewiss:
|
||||||
{
|
{
|
||||||
if (! lib_fehlermonade.voll(partie.figur))
|
if (! lib_fehlermonade.voll<mod_figur.typ_figur>(partie.figur))
|
||||||
{
|
{
|
||||||
let test : mod_test.typ_test = mod_aufgabe.tests(partie.aufgabe)[lib_fehlermonade.lesen(partie.testindex)];
|
let test : mod_test.typ_test = mod_aufgabe.tests(partie.aufgabe)[lib_fehlermonade.lesen<int>(partie.testindex)];
|
||||||
let band : Array<mod_symbol.typ_symbol> = mod_vtm.mod_helfer.liste_kopieren<mod_symbol.typ_symbol>(mod_test.eingabe(test));
|
let band : Array<mod_symbol.typ_symbol> = mod_vtm.mod_helfer.liste_kopieren<mod_symbol.typ_symbol>(mod_test.eingabe(test));
|
||||||
let stelle : mod_stelle.typ_stelle = mod_welt.erzeuger_finden(partie.welt);
|
let stelle : mod_stelle.typ_stelle = mod_welt.erzeuger_finden(partie.welt);
|
||||||
partie.figur = (
|
partie.figur = (
|
||||||
lib_fehlermonade.mod_schlicht.erstellen<mod_figur.typ_figur>
|
lib_fehlermonade.erstellen_schlicht<mod_figur.typ_figur>
|
||||||
(
|
(
|
||||||
mod_figur.erstellen
|
mod_figur.erstellen
|
||||||
(
|
(
|
||||||
|
|
@ -294,12 +357,12 @@ module mod_vtm
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
let figur : mod_figur.typ_figur = lib_fehlermonade.lesen(partie.figur);
|
let figur : mod_figur.typ_figur = lib_fehlermonade.lesen<mod_figur.typ_figur>(partie.figur);
|
||||||
let stelle : mod_stelle.typ_stelle = mod_figur.stelle_lesen(figur);
|
let stelle : mod_stelle.typ_stelle = mod_figur.stelle_lesen(figur);
|
||||||
let aktor_ : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor> = mod_welt.feld_holen(partie.welt, stelle);
|
let aktor_ : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor> = mod_welt.feld_holen(partie.welt, stelle);
|
||||||
let aktor : mod_aktor.typ_aktor = (
|
let aktor : mod_aktor.typ_aktor = (
|
||||||
lib_fehlermonade.voll(aktor_)
|
lib_fehlermonade.voll<mod_aktor.typ_aktor>(aktor_)
|
||||||
? lib_fehlermonade.lesen(aktor_)
|
? lib_fehlermonade.lesen<mod_aktor.typ_aktor>(aktor_)
|
||||||
: mod_aktor.mod_verwerfer.erstellen_aktor()
|
: mod_aktor.mod_verwerfer.erstellen_aktor()
|
||||||
);
|
);
|
||||||
mod_aktor.verwenden(aktor, figur);
|
mod_aktor.verwenden(aktor, figur);
|
||||||
|
|
@ -312,8 +375,8 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
let angenommen : boolean = (zustand === mod_zustand.angenommen);
|
let angenommen : boolean = (zustand === mod_zustand.angenommen);
|
||||||
let ausgabe : Array<mod_symbol.typ_symbol> = mod_figur.band_lesen(figur);
|
let ausgabe : Array<mod_symbol.typ_symbol> = mod_figur.band_lesen(figur);
|
||||||
partie.figur = (lib_fehlermonade.mod_nichts.erstellen<mod_figur.typ_figur>());
|
partie.figur = (lib_fehlermonade.erstellen_nichts<mod_figur.typ_figur>());
|
||||||
let testindex : int = lib_fehlermonade.lesen(partie.testindex);
|
let testindex : int = lib_fehlermonade.lesen<int>(partie.testindex);
|
||||||
let tests : Array<mod_test.typ_test> = mod_aufgabe.tests(partie.aufgabe);
|
let tests : Array<mod_test.typ_test> = mod_aufgabe.tests(partie.aufgabe);
|
||||||
let test : mod_test.typ_test = tests[testindex];
|
let test : mod_test.typ_test = tests[testindex];
|
||||||
if (! mod_test.pruefen(test, angenommen, ausgabe))
|
if (! mod_test.pruefen(test, angenommen, ausgabe))
|
||||||
|
|
@ -327,12 +390,12 @@ module mod_vtm
|
||||||
if (testindex < tests.length)
|
if (testindex < tests.length)
|
||||||
{
|
{
|
||||||
// nächsten Test auswählen
|
// nächsten Test auswählen
|
||||||
partie.testindex = (lib_fehlermonade.mod_schlicht.erstellen<int>(testindex));
|
partie.testindex = (lib_fehlermonade.erstellen_schlicht<int>(testindex));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// auf Modus "korrekt" wechseln
|
// auf Modus "korrekt" wechseln
|
||||||
partie.testindex = (lib_fehlermonade.mod_nichts.erstellen<int>());
|
partie.testindex = (lib_fehlermonade.erstellen_nichts<int>());
|
||||||
partie.modus = mod_modus.korrekt;
|
partie.modus = mod_modus.korrekt;
|
||||||
benachrichtigen(partie, "aenderung_modus", {});
|
benachrichtigen(partie, "aenderung_modus", {});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function felder_lesen(welt : typ_welt) : Array<{stelle : mod_stelle.typ_stelle; aktor : mod_aktor.typ_aktor;}>
|
export function felder_lesen
|
||||||
|
(
|
||||||
|
welt : typ_welt
|
||||||
|
)
|
||||||
|
: Array<{stelle : mod_stelle.typ_stelle; aktor : mod_aktor.typ_aktor;}>
|
||||||
{
|
{
|
||||||
let felder : Array<{stelle : mod_stelle.typ_stelle; aktor : mod_aktor.typ_aktor;}> = [];
|
let felder : Array<{stelle : mod_stelle.typ_stelle; aktor : mod_aktor.typ_aktor;}> = [];
|
||||||
lib_hashmap.iterieren
|
lib_hashmap.iterieren
|
||||||
|
|
@ -69,7 +73,12 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function feld_holen(welt : typ_welt, stelle : mod_stelle.typ_stelle) : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor>
|
export function feld_holen
|
||||||
|
(
|
||||||
|
welt : typ_welt,
|
||||||
|
stelle : mod_stelle.typ_stelle
|
||||||
|
)
|
||||||
|
: lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor>
|
||||||
{
|
{
|
||||||
return lib_hashmap.holen(welt.felder, stelle);
|
return lib_hashmap.holen(welt.felder, stelle);
|
||||||
}
|
}
|
||||||
|
|
@ -78,7 +87,13 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function feld_setzen(welt : typ_welt, stelle : mod_stelle.typ_stelle, aktor : mod_aktor.typ_aktor) : void
|
export function feld_setzen
|
||||||
|
(
|
||||||
|
welt : typ_welt,
|
||||||
|
stelle : mod_stelle.typ_stelle,
|
||||||
|
aktor : mod_aktor.typ_aktor
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
lib_hashmap.setzen(welt.felder, stelle, aktor);
|
lib_hashmap.setzen(welt.felder, stelle, aktor);
|
||||||
}
|
}
|
||||||
|
|
@ -87,7 +102,13 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function feld_wechseln(welt : typ_welt, stelle : mod_stelle.typ_stelle, umgekehrt : boolean = false) : void
|
export function feld_wechseln
|
||||||
|
(
|
||||||
|
welt : typ_welt,
|
||||||
|
stelle : mod_stelle.typ_stelle,
|
||||||
|
umgekehrt : boolean = false
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
let erweitert : boolean = true;
|
let erweitert : boolean = true;
|
||||||
let liste : Array<{pruefer : (aktor : mod_aktor.typ_aktor)=>boolean; ersteller : ()=>mod_aktor.typ_aktor;}> = (
|
let liste : Array<{pruefer : (aktor : mod_aktor.typ_aktor)=>boolean; ersteller : ()=>mod_aktor.typ_aktor;}> = (
|
||||||
|
|
@ -168,7 +189,7 @@ module mod_vtm
|
||||||
);
|
);
|
||||||
let index_alt : lib_fehlermonade.typ_fehlermonade<int>;
|
let index_alt : lib_fehlermonade.typ_fehlermonade<int>;
|
||||||
let aktor_alt_ : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor> = lib_hashmap.holen(welt.felder, stelle);
|
let aktor_alt_ : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor> = lib_hashmap.holen(welt.felder, stelle);
|
||||||
if (lib_fehlermonade.voll(aktor_alt_))
|
if (lib_fehlermonade.voll<mod_aktor.typ_aktor>(aktor_alt_))
|
||||||
{
|
{
|
||||||
let aktor_alt : mod_aktor.typ_aktor = lib_fehlermonade.lesen(aktor_alt_);
|
let aktor_alt : mod_aktor.typ_aktor = lib_fehlermonade.lesen(aktor_alt_);
|
||||||
let gefunden : boolean = (
|
let gefunden : boolean = (
|
||||||
|
|
@ -178,7 +199,7 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
if (eintrag.pruefer(aktor_alt))
|
if (eintrag.pruefer(aktor_alt))
|
||||||
{
|
{
|
||||||
index_alt = (lib_fehlermonade.mod_schlicht.erstellen<int>(index));
|
index_alt = (lib_fehlermonade.erstellen_schlicht<int>(index));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -190,7 +211,7 @@ module mod_vtm
|
||||||
);
|
);
|
||||||
if (! gefunden)
|
if (! gefunden)
|
||||||
{
|
{
|
||||||
index_alt = (lib_fehlermonade.mod_nichts.erstellen<int>());
|
index_alt = (lib_fehlermonade.erstellen_nichts<int>());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -201,11 +222,11 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
let meldung : string = "kein Aktor gesetzt";
|
let meldung : string = "kein Aktor gesetzt";
|
||||||
// console.warn(meldung);
|
// console.warn(meldung);
|
||||||
index_alt = (lib_fehlermonade.mod_schlicht.erstellen<int>(0));
|
index_alt = (lib_fehlermonade.erstellen_schlicht<int>(0));
|
||||||
}
|
}
|
||||||
if (lib_fehlermonade.voll(index_alt))
|
if (lib_fehlermonade.voll<int>(index_alt))
|
||||||
{
|
{
|
||||||
let index_neu : int = lib_mathematik.mod(lib_fehlermonade.lesen(index_alt) + (umgekehrt ? -1 : +1), liste.length);
|
let index_neu : int = lib_mathematik.mod(lib_fehlermonade.lesen<int>(index_alt) + (umgekehrt ? -1 : +1), liste.length);
|
||||||
let aktor_neu : mod_aktor.typ_aktor = liste[index_neu].ersteller();
|
let aktor_neu : mod_aktor.typ_aktor = liste[index_neu].ersteller();
|
||||||
feld_setzen(welt, stelle, aktor_neu);
|
feld_setzen(welt, stelle, aktor_neu);
|
||||||
}
|
}
|
||||||
|
|
@ -221,12 +242,18 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function feld_drehen(welt : typ_welt, stelle : mod_stelle.typ_stelle, inkrement : int = +1) : void
|
export function feld_drehen
|
||||||
|
(
|
||||||
|
welt : typ_welt,
|
||||||
|
stelle : mod_stelle.typ_stelle,
|
||||||
|
inkrement : int = +1
|
||||||
|
)
|
||||||
|
: void
|
||||||
{
|
{
|
||||||
let aktor_ : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor> = lib_hashmap.holen(welt.felder, stelle);
|
let aktor_ : lib_fehlermonade.typ_fehlermonade<mod_aktor.typ_aktor> = lib_hashmap.holen(welt.felder, stelle);
|
||||||
if (lib_fehlermonade.voll(aktor_))
|
if (lib_fehlermonade.voll<mod_aktor.typ_aktor>(aktor_))
|
||||||
{
|
{
|
||||||
mod_aktor.drehen(lib_fehlermonade.lesen(aktor_), inkrement);
|
mod_aktor.drehen(lib_fehlermonade.lesen<mod_aktor.typ_aktor>(aktor_), inkrement);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -239,9 +266,13 @@ module mod_vtm
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
* @throws {Error}
|
* @throws {Error}
|
||||||
*/
|
*/
|
||||||
export function erzeuger_finden(welt : typ_welt) : mod_stelle.typ_stelle
|
export function erzeuger_finden
|
||||||
|
(
|
||||||
|
welt : typ_welt
|
||||||
|
)
|
||||||
|
: mod_stelle.typ_stelle
|
||||||
{
|
{
|
||||||
let stelle : lib_fehlermonade.typ_fehlermonade<mod_stelle.typ_stelle> = (lib_fehlermonade.mod_nichts.erstellen<mod_stelle.typ_stelle>());
|
let stelle : lib_fehlermonade.typ_fehlermonade<mod_stelle.typ_stelle> = (lib_fehlermonade.erstellen_nichts<mod_stelle.typ_stelle>());
|
||||||
lib_hashmap.iterieren
|
lib_hashmap.iterieren
|
||||||
(
|
(
|
||||||
welt.felder,
|
welt.felder,
|
||||||
|
|
@ -249,22 +280,22 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
if (aktor.art === "erzeuger")
|
if (aktor.art === "erzeuger")
|
||||||
{
|
{
|
||||||
if (lib_fehlermonade.voll(stelle))
|
if (lib_fehlermonade.voll<mod_stelle.typ_stelle>(stelle))
|
||||||
{
|
{
|
||||||
let meldung : string = "mehrere Erzeuger gefunden";
|
let meldung : string = "mehrere Erzeuger gefunden";
|
||||||
throw (new Error(meldung));
|
throw (new Error(meldung));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
stelle = (lib_fehlermonade.mod_schlicht.erstellen<mod_stelle.typ_stelle>(stelle_));
|
stelle = (lib_fehlermonade.erstellen_schlicht<mod_stelle.typ_stelle>(stelle_));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
if (lib_fehlermonade.voll(stelle))
|
if (lib_fehlermonade.voll<mod_stelle.typ_stelle>(stelle))
|
||||||
{
|
{
|
||||||
return lib_fehlermonade.lesen(stelle);
|
return lib_fehlermonade.lesen<mod_stelle.typ_stelle>(stelle);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -277,7 +308,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function blanko(groesse : int = 3) : typ_welt
|
export function blanko
|
||||||
|
(
|
||||||
|
groesse : int = 3
|
||||||
|
)
|
||||||
|
: typ_welt
|
||||||
{
|
{
|
||||||
let welt : typ_welt = erstellen();
|
let welt : typ_welt = erstellen();
|
||||||
for (let u : int = -groesse; u <= +groesse; u += 1)
|
for (let u : int = -groesse; u <= +groesse; u += 1)
|
||||||
|
|
@ -311,7 +346,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function exportieren(welt : typ_welt) : any
|
export function exportieren
|
||||||
|
(
|
||||||
|
welt : typ_welt
|
||||||
|
)
|
||||||
|
: any
|
||||||
{
|
{
|
||||||
let roh : any = {};
|
let roh : any = {};
|
||||||
roh["felder"] = {};
|
roh["felder"] = {};
|
||||||
|
|
@ -333,7 +372,11 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
export function importieren(roh : any) : typ_welt
|
export function importieren
|
||||||
|
(
|
||||||
|
roh : any
|
||||||
|
)
|
||||||
|
: typ_welt
|
||||||
{
|
{
|
||||||
let felder : lib_hashmap.typ_hashmap<mod_stelle.typ_stelle, mod_aktor.typ_aktor> = (lib_hashmap.erstellen<mod_stelle.typ_stelle, mod_aktor.typ_aktor>(mod_stelle.hash));
|
let felder : lib_hashmap.typ_hashmap<mod_stelle.typ_stelle, mod_aktor.typ_aktor> = (lib_hashmap.erstellen<mod_stelle.typ_stelle, mod_aktor.typ_aktor>(mod_stelle.hash));
|
||||||
for (let stelle_ in roh["felder"])
|
for (let stelle_ in roh["felder"])
|
||||||
|
|
|
||||||
|
|
@ -44,11 +44,11 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
if (schluessel in _speicher)
|
if (schluessel in _speicher)
|
||||||
{
|
{
|
||||||
return (lib_fehlermonade.mod_schlicht.erstellen<any>(_speicher[schluessel]));
|
return (lib_fehlermonade.erstellen_schlicht<any>(_speicher[schluessel]));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return (lib_fehlermonade.mod_nichts.erstellen<any>());
|
return (lib_fehlermonade.erstellen_nichts<any>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@ module mod_vtm
|
||||||
mod_aufbau.mod_stelle.null_()
|
mod_aufbau.mod_stelle.null_()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
let xmlknoten : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let xmlknoten : lib_xml.typ_knoten = (
|
||||||
mod_manifestation.mod_svg.wurzel
|
mod_manifestation.mod_svg.wurzel
|
||||||
(
|
(
|
||||||
von_x, von_y,
|
von_x, von_y,
|
||||||
|
|
@ -162,7 +162,7 @@ module mod_vtm
|
||||||
[mod_manifestation.darstellen(manifestation)]
|
[mod_manifestation.darstellen(manifestation)]
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
eintrag.bereich.querySelector(".hilfe_aktoren_aktor_bild").innerHTML = mod_vtm.mod_helfer.mod_xml.darstellen(xmlknoten);
|
eintrag.bereich.querySelector(".hilfe_aktoren_aktor_bild").innerHTML = lib_xml.darstellen(xmlknoten);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
|
|
|
||||||
135
quelldatein/helfer/fehlermonade.ts
Normal file
135
quelldatein/helfer/fehlermonade.ts
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
/*
|
||||||
|
* Verrückte Turing-Maschinen — A turing complete game
|
||||||
|
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
module lib_fehlermonade
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export type typ_fehlermonade<typ_wert> = lib_aufruf.typ_komplex<any>;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function erstellen_nichts<typ_wert>
|
||||||
|
(
|
||||||
|
)
|
||||||
|
: typ_fehlermonade<typ_wert>
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.einpacken<any>
|
||||||
|
(
|
||||||
|
"nichts",
|
||||||
|
{
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function erstellen_schlicht<typ_wert>
|
||||||
|
(
|
||||||
|
wert : typ_wert
|
||||||
|
)
|
||||||
|
: typ_fehlermonade<typ_wert>
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.einpacken<any>
|
||||||
|
(
|
||||||
|
"schlicht",
|
||||||
|
{
|
||||||
|
"wert": wert
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function voll<typ_wert>
|
||||||
|
(
|
||||||
|
fehlermonade : typ_fehlermonade<typ_wert>
|
||||||
|
)
|
||||||
|
: boolean
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.fallunterscheidung<any>
|
||||||
|
(
|
||||||
|
fehlermonade,
|
||||||
|
{
|
||||||
|
"nichts": ({}) => false,
|
||||||
|
"schlicht": ({"wert": wert}) => true,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function lesen<typ_wert>
|
||||||
|
(
|
||||||
|
fehlermonade : typ_fehlermonade<typ_wert>
|
||||||
|
)
|
||||||
|
: typ_wert
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.fallunterscheidung<any>
|
||||||
|
(
|
||||||
|
fehlermonade,
|
||||||
|
{
|
||||||
|
"nichts": ({}) => {throw (new Error("lesen von nichts"));},
|
||||||
|
"schlicht": ({"wert": wert}) => wert,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function fortfuehren<typ_wert1, typ_wert2>
|
||||||
|
(
|
||||||
|
fehlermonade : typ_fehlermonade<typ_wert1>,
|
||||||
|
funktion : (wert1 : typ_wert1)=>typ_fehlermonade<typ_wert2>
|
||||||
|
)
|
||||||
|
: typ_fehlermonade<typ_wert2>
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.fallunterscheidung<any>
|
||||||
|
(
|
||||||
|
fehlermonade,
|
||||||
|
{
|
||||||
|
"nichts": ({}) => erstellen_nichts<typ_wert2>(),
|
||||||
|
"schlicht": ({"wert": wert1}) => funktion(wert1),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
/*
|
|
||||||
* Verrückte Turing-Maschinen — A turing complete game
|
|
||||||
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
module lib_fehlermonade
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export type typ_fehlermonade<typ_wert> = lib_aufruf.typ_komplex<typ_wert>;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export type signatur_fehlermonade<typ_wert> =
|
|
||||||
{
|
|
||||||
voll : (fehlermonade : typ_fehlermonade<typ_wert>)=>boolean;
|
|
||||||
lesen : (fehlermonade : typ_fehlermonade<typ_wert>)=>typ_wert;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export var brauch_fehlermonade : lib_brauch.typ_brauch<signatur_fehlermonade<any>> = lib_brauch.erstellen<signatur_fehlermonade<any>>();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function voll<typ_wert>(fehlermonade : typ_fehlermonade<typ_wert>) : boolean
|
|
||||||
{
|
|
||||||
return lib_brauch.anwenden(brauch_fehlermonade, fehlermonade.art)["voll"](fehlermonade);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function lesen<typ_wert>(fehlermonade : typ_fehlermonade<typ_wert>) : typ_wert
|
|
||||||
{
|
|
||||||
return lib_brauch.anwenden(brauch_fehlermonade, fehlermonade.art)["lesen"](fehlermonade);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
/*
|
|
||||||
* Verrückte Turing-Maschinen — A turing complete game
|
|
||||||
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
module lib_fehlermonade
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_nichts
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function erstellen<typ_wert>() : typ_fehlermonade<typ_wert>
|
|
||||||
{
|
|
||||||
return lib_aufruf.einpacken<any>("nichts", {});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
lib_brauch.umsetzen<signatur_fehlermonade<any>>
|
|
||||||
(
|
|
||||||
brauch_fehlermonade,
|
|
||||||
"nichts",
|
|
||||||
{
|
|
||||||
"voll": (fehlermonade) => false,
|
|
||||||
"lesen": (fehlermonade) => {throw (new Error("lesen von nichts"));},
|
|
||||||
}
|
|
||||||
)
|
|
||||||
;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
/*
|
|
||||||
* Verrückte Turing-Maschinen — A turing complete game
|
|
||||||
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
module lib_fehlermonade
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_schlicht
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function erstellen<typ_wert>(wert : typ_wert) : typ_fehlermonade<typ_wert>
|
|
||||||
{
|
|
||||||
return lib_aufruf.einpacken<any>("schlicht", {"wert": wert});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
lib_brauch.umsetzen<signatur_fehlermonade<any>>
|
|
||||||
(
|
|
||||||
brauch_fehlermonade,
|
|
||||||
"schlicht",
|
|
||||||
{
|
|
||||||
"voll": (fehlermonade) => true,
|
|
||||||
"lesen": (fehlermonade) => lib_aufruf.auspacken<any>(fehlermonade).wert,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -76,11 +76,11 @@ module lib_hashmap
|
||||||
if (hashwert in hashmap.speicher)
|
if (hashwert in hashmap.speicher)
|
||||||
{
|
{
|
||||||
let wert : typ_wert = hashmap.speicher[hashwert].wert;
|
let wert : typ_wert = hashmap.speicher[hashwert].wert;
|
||||||
return (lib_fehlermonade.mod_schlicht.erstellen<typ_wert>(wert));
|
return (lib_fehlermonade.erstellen_schlicht<typ_wert>(wert));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return (lib_fehlermonade.mod_nichts.erstellen<typ_wert>());
|
return (lib_fehlermonade.erstellen_nichts<typ_wert>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,20 +74,20 @@ module lib_uebersetzung
|
||||||
let satz : {[schluessel : string] : string} = _daten[sprache];
|
let satz : {[schluessel : string] : string} = _daten[sprache];
|
||||||
if (schluessel in satz)
|
if (schluessel in satz)
|
||||||
{
|
{
|
||||||
return (lib_fehlermonade.mod_schlicht.erstellen<string>(satz[schluessel]));
|
return (lib_fehlermonade.erstellen_schlicht<string>(satz[schluessel]));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
let meldung : string = ("keine Zeichenketten für Schlüssel '" + schluessel + "' in Sprache '" + sprache + "'");
|
let meldung : string = ("keine Zeichenketten für Schlüssel '" + schluessel + "' in Sprache '" + sprache + "'");
|
||||||
console.warn(meldung);
|
console.warn(meldung);
|
||||||
return (lib_fehlermonade.mod_nichts.erstellen<string>());
|
return (lib_fehlermonade.erstellen_nichts<string>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
let meldung : string = ("keine Zeichenketten für Sprache '" + sprache + "'");
|
let meldung : string = ("keine Zeichenketten für Sprache '" + sprache + "'");
|
||||||
console.warn(meldung);
|
console.warn(meldung);
|
||||||
return (lib_fehlermonade.mod_nichts.erstellen<string>());
|
return (lib_fehlermonade.erstellen_nichts<string>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,7 +97,7 @@ module lib_uebersetzung
|
||||||
*/
|
*/
|
||||||
export function holen(schluessel : string, vars : {[name : string] : string} = {}) : string
|
export function holen(schluessel : string, vars : {[name : string] : string} = {}) : string
|
||||||
{
|
{
|
||||||
let ergebnis : lib_fehlermonade.typ_fehlermonade<string> = (lib_fehlermonade.mod_nichts.erstellen<string>());
|
let ergebnis : lib_fehlermonade.typ_fehlermonade<string> = (lib_fehlermonade.erstellen_nichts<string>());
|
||||||
let gefunden : boolean = (
|
let gefunden : boolean = (
|
||||||
_sprachstapel
|
_sprachstapel
|
||||||
.some
|
.some
|
||||||
|
|
|
||||||
156
quelldatein/helfer/xml.ts
Normal file
156
quelldatein/helfer/xml.ts
Normal file
|
|
@ -0,0 +1,156 @@
|
||||||
|
/*
|
||||||
|
* Verrückte Turing-Maschinen — A turing complete game
|
||||||
|
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
module lib_xml
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
function einrueckung
|
||||||
|
(
|
||||||
|
tiefe : int,
|
||||||
|
zeichen : string = "\t"
|
||||||
|
)
|
||||||
|
: string
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
(tiefe === 0)
|
||||||
|
? ""
|
||||||
|
: (zeichen + einrueckung(tiefe-1))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export type typ_knoten = lib_aufruf.typ_komplex<any>;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function erstellen_text
|
||||||
|
(
|
||||||
|
inhalt : string
|
||||||
|
)
|
||||||
|
: typ_knoten
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.einpacken
|
||||||
|
(
|
||||||
|
"text",
|
||||||
|
{
|
||||||
|
"inhalt": inhalt
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function erstellen_normal
|
||||||
|
(
|
||||||
|
name : string,
|
||||||
|
attribute : {[schluessel : string] : string} = {},
|
||||||
|
kinder : Array<typ_knoten> = []
|
||||||
|
)
|
||||||
|
: typ_knoten
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.einpacken
|
||||||
|
(
|
||||||
|
"normal",
|
||||||
|
{
|
||||||
|
"name": name,
|
||||||
|
"attribute": attribute,
|
||||||
|
"kinder": kinder
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
|
*/
|
||||||
|
export function darstellen
|
||||||
|
(
|
||||||
|
knoten : typ_knoten,
|
||||||
|
tiefe : int = 0
|
||||||
|
)
|
||||||
|
: string
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
lib_aufruf.fallunterscheidung<any>
|
||||||
|
(
|
||||||
|
knoten,
|
||||||
|
{
|
||||||
|
"text": ({"inhalt": inhalt}) =>
|
||||||
|
{
|
||||||
|
return inhalt;
|
||||||
|
}
|
||||||
|
,
|
||||||
|
"normal": ({"name": name, "attribute": attribute, "kinder": kinder}) =>
|
||||||
|
{
|
||||||
|
let str : string = "";
|
||||||
|
// anfang
|
||||||
|
{
|
||||||
|
let str_anfang : string = "";
|
||||||
|
str_anfang += name;
|
||||||
|
// attribute
|
||||||
|
{
|
||||||
|
let str_attribute : string = "";
|
||||||
|
Object.keys(attribute).forEach
|
||||||
|
(
|
||||||
|
schluessel =>
|
||||||
|
{
|
||||||
|
let wert : string = attribute[schluessel];
|
||||||
|
str_attribute += (" " + schluessel + "=" + ("\"" + wert + "\""));
|
||||||
|
}
|
||||||
|
)
|
||||||
|
;
|
||||||
|
str_anfang += str_attribute;
|
||||||
|
}
|
||||||
|
str_anfang = (einrueckung(tiefe) + "<" + str_anfang + ">" + "\n");
|
||||||
|
str += str_anfang;
|
||||||
|
}
|
||||||
|
// kinder
|
||||||
|
{
|
||||||
|
kinder.forEach(kind => (str += darstellen(kind, tiefe+1)));
|
||||||
|
}
|
||||||
|
// ende
|
||||||
|
{
|
||||||
|
let str_ende : string = "";
|
||||||
|
str_ende += name;
|
||||||
|
str_ende = (einrueckung(tiefe) + "<" + "/" + str_ende + ">" + "\n");
|
||||||
|
str += str_ende;
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
/*
|
|
||||||
* Verrückte Turing-Maschinen — A turing complete game
|
|
||||||
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
module mod_vtm
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_helfer
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_xml
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export type typ_knoten = lib_aufruf.typ_komplex<any>;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export type signatur_knoten =
|
|
||||||
{
|
|
||||||
darstellen : (knoten : typ_knoten, tiefe : int)=>string;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export var brauch_knoten : lib_brauch.typ_brauch<signatur_knoten> = lib_brauch.erstellen<signatur_knoten>();
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function darstellen(knoten : typ_knoten, tiefe : int = 0) : string
|
|
||||||
{
|
|
||||||
return lib_brauch.anwenden(brauch_knoten, knoten.art)["darstellen"](knoten, tiefe);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,153 +0,0 @@
|
||||||
/*
|
|
||||||
* Verrückte Turing-Maschinen — A turing complete game
|
|
||||||
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
module mod_vtm
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_helfer
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_xml
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_normal
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
function einrueckung(tiefe : int, zeichen : string = "\t") : string
|
|
||||||
{
|
|
||||||
return ((tiefe === 0) ? "" : (zeichen + einrueckung(tiefe-1)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export type typ_normal =
|
|
||||||
{
|
|
||||||
name : string;
|
|
||||||
attribute : {[schluessel : string] : string};
|
|
||||||
kinder : Array<typ_knoten>;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
function erstellen
|
|
||||||
(
|
|
||||||
name : string,
|
|
||||||
attribute : {[schluessel : string] : string} = {},
|
|
||||||
kinder : Array<typ_knoten> = []
|
|
||||||
)
|
|
||||||
: typ_normal
|
|
||||||
{
|
|
||||||
return {
|
|
||||||
"name": name,
|
|
||||||
"attribute": attribute,
|
|
||||||
"kinder": kinder
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function erstellen_erweitert
|
|
||||||
(
|
|
||||||
name : string,
|
|
||||||
attribute : {[schluessel : string] : string} = {},
|
|
||||||
kinder : Array<typ_knoten> = []
|
|
||||||
)
|
|
||||||
: typ_knoten
|
|
||||||
{
|
|
||||||
return lib_aufruf.einpacken("normal", erstellen(name, attribute, kinder));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
function darstellen
|
|
||||||
(
|
|
||||||
normal : typ_normal,
|
|
||||||
tiefe : int
|
|
||||||
)
|
|
||||||
: string
|
|
||||||
{
|
|
||||||
let str : string = "";
|
|
||||||
// anfang
|
|
||||||
{
|
|
||||||
let str_anfang : string = "";
|
|
||||||
str_anfang += normal.name;
|
|
||||||
// attribute
|
|
||||||
{
|
|
||||||
let str_attribute : string = "";
|
|
||||||
Object.keys(normal.attribute).forEach
|
|
||||||
(
|
|
||||||
schluessel =>
|
|
||||||
{
|
|
||||||
let wert : string = normal.attribute[schluessel];
|
|
||||||
str_attribute += (" " + schluessel + "=" + ("\"" + wert + "\""));
|
|
||||||
}
|
|
||||||
)
|
|
||||||
;
|
|
||||||
str_anfang += str_attribute;
|
|
||||||
}
|
|
||||||
str_anfang = (einrueckung(tiefe) + "<" + str_anfang + ">" + "\n");
|
|
||||||
str += str_anfang;
|
|
||||||
}
|
|
||||||
// kinder
|
|
||||||
{
|
|
||||||
normal.kinder.forEach(kind => (str += mod_xml.darstellen(kind, tiefe+1)));
|
|
||||||
}
|
|
||||||
// ende
|
|
||||||
{
|
|
||||||
let str_ende : string = "";
|
|
||||||
str_ende += normal.name;
|
|
||||||
str_ende = (einrueckung(tiefe) + "<" + "/" + str_ende + ">" + "\n");
|
|
||||||
str += str_ende;
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
lib_brauch.umsetzen<signatur_knoten>
|
|
||||||
(
|
|
||||||
brauch_knoten,
|
|
||||||
"normal",
|
|
||||||
{
|
|
||||||
"darstellen": (knoten, tiefe) => darstellen(knoten.angaben, tiefe),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,103 +0,0 @@
|
||||||
/*
|
|
||||||
* Verrückte Turing-Maschinen — A turing complete game
|
|
||||||
* Copyright (C) 2016 Christian Fraß <vidofnir@folksprak.org>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
module mod_vtm
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_helfer
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_xml
|
|
||||||
{
|
|
||||||
|
|
||||||
export module mod_text
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export type typ_text =
|
|
||||||
{
|
|
||||||
inhalt : string
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
function erstellen
|
|
||||||
(
|
|
||||||
inhalt : string
|
|
||||||
)
|
|
||||||
: typ_text
|
|
||||||
{
|
|
||||||
return {
|
|
||||||
"inhalt": inhalt
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
export function erstellen_erweitert
|
|
||||||
(
|
|
||||||
inhalt : string
|
|
||||||
)
|
|
||||||
: typ_knoten
|
|
||||||
{
|
|
||||||
return lib_aufruf.einpacken("text", erstellen(inhalt));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
function darstellen
|
|
||||||
(
|
|
||||||
knoten : typ_text,
|
|
||||||
tiefe : int
|
|
||||||
)
|
|
||||||
: string
|
|
||||||
{
|
|
||||||
return knoten.inhalt;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
|
||||||
*/
|
|
||||||
lib_brauch.umsetzen<signatur_knoten>
|
|
||||||
(
|
|
||||||
brauch_knoten,
|
|
||||||
"text",
|
|
||||||
{
|
|
||||||
"darstellen": (knoten, tiefe) => darstellen(knoten.angaben, tiefe),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -76,10 +76,10 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
function darstellen(aktor_ : typ_aktor) : mod_vtm.mod_helfer.mod_xml.typ_knoten
|
function darstellen(aktor_ : typ_aktor) : lib_xml.typ_knoten
|
||||||
{
|
{
|
||||||
let aktor : mod_vtm.mod_aufbau.mod_aktor.typ_aktor = aktor_.aufbau;
|
let aktor : mod_vtm.mod_aufbau.mod_aktor.typ_aktor = aktor_.aufbau;
|
||||||
let knoten_rahmen = function () : mod_vtm.mod_helfer.mod_xml.typ_knoten
|
let knoten_rahmen = function () : lib_xml.typ_knoten
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
pfad
|
pfad
|
||||||
|
|
@ -93,7 +93,7 @@ module mod_vtm
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
let kinder_feld : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = [];
|
let kinder_feld : Array<lib_xml.typ_knoten> = [];
|
||||||
lib_aufruf.fallunterscheidung<void>
|
lib_aufruf.fallunterscheidung<void>
|
||||||
(
|
(
|
||||||
aktor,
|
aktor,
|
||||||
|
|
@ -102,8 +102,8 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
kinder_feld.push(knoten_rahmen());
|
kinder_feld.push(knoten_rahmen());
|
||||||
let richtung : mod_vtm.mod_aufbau.mod_richtung.typ_richtung = mod_vtm.mod_aufbau.mod_aktor.mod_erzeuger.richtung_lesen(angaben);
|
let richtung : mod_vtm.mod_aufbau.mod_richtung.typ_richtung = mod_vtm.mod_aufbau.mod_aktor.mod_erzeuger.richtung_lesen(angaben);
|
||||||
let knoten_pfeil : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_pfeil : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"path",
|
"path",
|
||||||
{
|
{
|
||||||
|
|
@ -131,8 +131,8 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
kinder_feld.push(knoten_rahmen());
|
kinder_feld.push(knoten_rahmen());
|
||||||
let richtung : mod_vtm.mod_aufbau.mod_richtung.typ_richtung = mod_vtm.mod_aufbau.mod_aktor.mod_befoerderer.richtung_lesen(angaben);
|
let richtung : mod_vtm.mod_aufbau.mod_richtung.typ_richtung = mod_vtm.mod_aufbau.mod_aktor.mod_befoerderer.richtung_lesen(angaben);
|
||||||
let knoten_pfeil : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_pfeil : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"path",
|
"path",
|
||||||
{
|
{
|
||||||
|
|
@ -161,8 +161,8 @@ module mod_vtm
|
||||||
kinder_feld.push(knoten_rahmen());
|
kinder_feld.push(knoten_rahmen());
|
||||||
let richtung : mod_vtm.mod_aufbau.mod_richtung.typ_richtung = mod_vtm.mod_aufbau.mod_aktor.mod_schreiber.richtung_lesen(angaben);
|
let richtung : mod_vtm.mod_aufbau.mod_richtung.typ_richtung = mod_vtm.mod_aufbau.mod_aktor.mod_schreiber.richtung_lesen(angaben);
|
||||||
let symbol : mod_vtm.mod_aufbau.mod_symbol.typ_symbol = mod_vtm.mod_aufbau.mod_aktor.mod_schreiber.symbol_lesen(angaben);
|
let symbol : mod_vtm.mod_aufbau.mod_symbol.typ_symbol = mod_vtm.mod_aufbau.mod_aktor.mod_schreiber.symbol_lesen(angaben);
|
||||||
let knoten_pfeil : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_pfeil : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"path",
|
"path",
|
||||||
{
|
{
|
||||||
|
|
@ -196,15 +196,15 @@ module mod_vtm
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"summand": 0,
|
"summand": 0,
|
||||||
"symbol": lib_fehlermonade.mod_nichts.erstellen<mod_vtm.mod_aufbau.mod_symbol.typ_symbol>(),
|
"symbol": lib_fehlermonade.erstellen_nichts<mod_vtm.mod_aufbau.mod_symbol.typ_symbol>(),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"summand": +2,
|
"summand": +2,
|
||||||
"symbol": lib_fehlermonade.mod_schlicht.erstellen<mod_vtm.mod_aufbau.mod_symbol.typ_symbol>(symbol_links),
|
"symbol": lib_fehlermonade.erstellen_schlicht<mod_vtm.mod_aufbau.mod_symbol.typ_symbol>(symbol_links),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"summand": -2,
|
"summand": -2,
|
||||||
"symbol": lib_fehlermonade.mod_schlicht.erstellen<mod_vtm.mod_aufbau.mod_symbol.typ_symbol>(symbol_rechts),
|
"symbol": lib_fehlermonade.erstellen_schlicht<mod_vtm.mod_aufbau.mod_symbol.typ_symbol>(symbol_rechts),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
;
|
;
|
||||||
|
|
@ -213,8 +213,8 @@ module mod_vtm
|
||||||
eintrag =>
|
eintrag =>
|
||||||
{
|
{
|
||||||
let winkel : float = ((mod_vtm.mod_aufbau.mod_richtung.addieren(richtung, eintrag.summand) / 6) * 360);
|
let winkel : float = ((mod_vtm.mod_aufbau.mod_richtung.addieren(richtung, eintrag.summand) / 6) * 360);
|
||||||
let knoten_pfeil : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_pfeil : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"path",
|
"path",
|
||||||
{
|
{
|
||||||
|
|
@ -223,8 +223,8 @@ module mod_vtm
|
||||||
[
|
[
|
||||||
"pfeil",
|
"pfeil",
|
||||||
(
|
(
|
||||||
lib_fehlermonade.voll(eintrag.symbol)
|
lib_fehlermonade.voll<mod_aufbau.mod_symbol.typ_symbol>(eintrag.symbol)
|
||||||
? "symbol_" + lib_fehlermonade.lesen(eintrag.symbol).toFixed(0)
|
? "symbol_" + lib_fehlermonade.lesen<mod_aufbau.mod_symbol.typ_symbol>(eintrag.symbol).toFixed(0)
|
||||||
: "neutral"
|
: "neutral"
|
||||||
),
|
),
|
||||||
].join(" ")
|
].join(" ")
|
||||||
|
|
@ -249,8 +249,8 @@ module mod_vtm
|
||||||
"verwerfer": (angaben) =>
|
"verwerfer": (angaben) =>
|
||||||
{
|
{
|
||||||
kinder_feld.push(knoten_rahmen());
|
kinder_feld.push(knoten_rahmen());
|
||||||
let knoten_kreis : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_kreis : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"circle",
|
"circle",
|
||||||
{
|
{
|
||||||
|
|
@ -272,8 +272,8 @@ module mod_vtm
|
||||||
"annehmer": (angaben) =>
|
"annehmer": (angaben) =>
|
||||||
{
|
{
|
||||||
kinder_feld.push(knoten_rahmen());
|
kinder_feld.push(knoten_rahmen());
|
||||||
let knoten_kreis : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_kreis : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"circle",
|
"circle",
|
||||||
{
|
{
|
||||||
|
|
@ -296,8 +296,8 @@ module mod_vtm
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
let position : mod_position.typ_position = mod_position.von_stelle(aktor_.stelle);
|
let position : mod_position.typ_position = mod_position.von_stelle(aktor_.stelle);
|
||||||
let knoten_feld : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_feld : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"g",
|
"g",
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -76,14 +76,14 @@ module mod_vtm
|
||||||
(
|
(
|
||||||
figur_ : typ_figur
|
figur_ : typ_figur
|
||||||
)
|
)
|
||||||
: mod_vtm.mod_helfer.mod_xml.typ_knoten
|
: lib_xml.typ_knoten
|
||||||
{
|
{
|
||||||
let figur : mod_vtm.mod_aufbau.mod_figur.typ_figur = figur_.aufbau;
|
let figur : mod_vtm.mod_aufbau.mod_figur.typ_figur = figur_.aufbau;
|
||||||
let kinder_figur : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = [];
|
let kinder_figur : Array<lib_xml.typ_knoten> = [];
|
||||||
// Stein
|
// Stein
|
||||||
{
|
{
|
||||||
let knoten_stein : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_stein : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"circle",
|
"circle",
|
||||||
{
|
{
|
||||||
|
|
@ -99,7 +99,7 @@ module mod_vtm
|
||||||
// Band
|
// Band
|
||||||
{
|
{
|
||||||
let band : Array<mod_vtm.mod_aufbau.mod_symbol.typ_symbol> = mod_vtm.mod_aufbau.mod_figur.band_lesen(figur);
|
let band : Array<mod_vtm.mod_aufbau.mod_symbol.typ_symbol> = mod_vtm.mod_aufbau.mod_figur.band_lesen(figur);
|
||||||
let kinder_band : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = [];
|
let kinder_band : Array<lib_xml.typ_knoten> = [];
|
||||||
band.forEach
|
band.forEach
|
||||||
(
|
(
|
||||||
(symbol, index) =>
|
(symbol, index) =>
|
||||||
|
|
@ -107,8 +107,8 @@ module mod_vtm
|
||||||
let r : float = 0.06125;
|
let r : float = 0.06125;
|
||||||
let x : float = (+0.1+(2*r*1.25)*index);
|
let x : float = (+0.1+(2*r*1.25)*index);
|
||||||
let y : float = (-0.1);
|
let y : float = (-0.1);
|
||||||
let knoten_eintrag : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_eintrag : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"circle",
|
"circle",
|
||||||
{
|
{
|
||||||
|
|
@ -135,7 +135,7 @@ module mod_vtm
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
let knoten_band = (
|
let knoten_band = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"g",
|
"g",
|
||||||
{
|
{
|
||||||
|
|
@ -148,7 +148,7 @@ module mod_vtm
|
||||||
}
|
}
|
||||||
let position : mod_position.typ_position = mod_position.von_stelle(mod_vtm.mod_aufbau.mod_figur.stelle_lesen(figur));
|
let position : mod_position.typ_position = mod_position.von_stelle(mod_vtm.mod_aufbau.mod_figur.stelle_lesen(figur));
|
||||||
let knoten_figur = (
|
let knoten_figur = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"g",
|
"g",
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -64,27 +64,27 @@ module mod_vtm
|
||||||
/**
|
/**
|
||||||
* @author kcf <vidofnir@folksprak.org>
|
* @author kcf <vidofnir@folksprak.org>
|
||||||
*/
|
*/
|
||||||
function darstellen(partie : typ_partie) : mod_vtm.mod_helfer.mod_xml.typ_knoten
|
function darstellen(partie : typ_partie) : lib_xml.typ_knoten
|
||||||
{
|
{
|
||||||
let kinder_partie : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = [];
|
let kinder_partie : Array<lib_xml.typ_knoten> = [];
|
||||||
// Welt
|
// Welt
|
||||||
{
|
{
|
||||||
let kinder_welt : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = [];
|
let kinder_welt : Array<lib_xml.typ_knoten> = [];
|
||||||
// Felder
|
// Felder
|
||||||
{
|
{
|
||||||
let kinder_felder : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = [];
|
let kinder_felder : Array<lib_xml.typ_knoten> = [];
|
||||||
mod_vtm.mod_aufbau.mod_welt.felder_lesen(mod_vtm.mod_aufbau.mod_partie.welt_lesen(partie.aufbau)).forEach
|
mod_vtm.mod_aufbau.mod_welt.felder_lesen(mod_vtm.mod_aufbau.mod_partie.welt_lesen(partie.aufbau)).forEach
|
||||||
(
|
(
|
||||||
({"stelle": stelle, "aktor": aktor}) =>
|
({"stelle": stelle, "aktor": aktor}) =>
|
||||||
{
|
{
|
||||||
let manifestation_feld : typ_manifestation<mod_vtm.mod_aufbau.mod_aktor.typ_aktor> = mod_aktor.erstellen_manifestation(aktor, stelle);
|
let manifestation_feld : typ_manifestation<mod_vtm.mod_aufbau.mod_aktor.typ_aktor> = mod_aktor.erstellen_manifestation(aktor, stelle);
|
||||||
let knoten_feld : mod_vtm.mod_helfer.mod_xml.typ_knoten = mod_manifestation.darstellen(manifestation_feld);
|
let knoten_feld : lib_xml.typ_knoten = mod_manifestation.darstellen(manifestation_feld);
|
||||||
kinder_felder.push(knoten_feld);
|
kinder_felder.push(knoten_feld);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
let knoten_felder : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_felder : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"g",
|
"g",
|
||||||
{
|
{
|
||||||
|
|
@ -96,8 +96,8 @@ module mod_vtm
|
||||||
);
|
);
|
||||||
kinder_welt.push(knoten_felder);
|
kinder_welt.push(knoten_felder);
|
||||||
}
|
}
|
||||||
let knoten_welt : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_welt : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"g",
|
"g",
|
||||||
{
|
{
|
||||||
|
|
@ -115,7 +115,7 @@ module mod_vtm
|
||||||
{
|
{
|
||||||
let figur : mod_vtm.mod_aufbau.mod_figur.typ_figur = lib_fehlermonade.lesen(figur_);
|
let figur : mod_vtm.mod_aufbau.mod_figur.typ_figur = lib_fehlermonade.lesen(figur_);
|
||||||
let manifestation_figur : typ_manifestation<mod_vtm.mod_aufbau.mod_figur.typ_figur> = mod_figur.erstellen_manifestation(figur);
|
let manifestation_figur : typ_manifestation<mod_vtm.mod_aufbau.mod_figur.typ_figur> = mod_figur.erstellen_manifestation(figur);
|
||||||
let knoten_figur : mod_vtm.mod_helfer.mod_xml.typ_knoten = mod_manifestation.darstellen(manifestation_figur);
|
let knoten_figur : lib_xml.typ_knoten = mod_manifestation.darstellen(manifestation_figur);
|
||||||
kinder_partie.push(knoten_figur);
|
kinder_partie.push(knoten_figur);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -123,8 +123,8 @@ module mod_vtm
|
||||||
// nichts tun
|
// nichts tun
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let knoten_partie : mod_vtm.mod_helfer.mod_xml.typ_knoten = (
|
let knoten_partie : lib_xml.typ_knoten = (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"g",
|
"g",
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ module mod_vtm
|
||||||
schliessen : boolean = true,
|
schliessen : boolean = true,
|
||||||
attribute : {[schlussel : string] : string} = {},
|
attribute : {[schlussel : string] : string} = {},
|
||||||
)
|
)
|
||||||
: mod_vtm.mod_helfer.mod_xml.typ_knoten
|
: lib_xml.typ_knoten
|
||||||
{
|
{
|
||||||
let d : string = "";
|
let d : string = "";
|
||||||
vertices.forEach
|
vertices.forEach
|
||||||
|
|
@ -63,7 +63,7 @@ module mod_vtm
|
||||||
if (schliessen)
|
if (schliessen)
|
||||||
d += "Z";
|
d += "Z";
|
||||||
attribute["d"] = d;
|
attribute["d"] = d;
|
||||||
return (mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert("path", attribute));
|
return (lib_xml.erstellen_normal("path", attribute));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -78,12 +78,12 @@ module mod_vtm
|
||||||
bis_y : float,
|
bis_y : float,
|
||||||
hoehe : int = 500,
|
hoehe : int = 500,
|
||||||
breite : int = 500,
|
breite : int = 500,
|
||||||
kinder : Array<mod_vtm.mod_helfer.mod_xml.typ_knoten> = []
|
kinder : Array<lib_xml.typ_knoten> = []
|
||||||
)
|
)
|
||||||
: mod_vtm.mod_helfer.mod_xml.typ_knoten
|
: lib_xml.typ_knoten
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
mod_vtm.mod_helfer.mod_xml.mod_normal.erstellen_erweitert
|
lib_xml.erstellen_normal
|
||||||
(
|
(
|
||||||
"svg",
|
"svg",
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ module mod_vtm
|
||||||
return {
|
return {
|
||||||
"aufbau": aufbau,
|
"aufbau": aufbau,
|
||||||
"bereich": bereich,
|
"bereich": bereich,
|
||||||
"intervall": (lib_fehlermonade.mod_nichts.erstellen<any>()),
|
"intervall": (lib_fehlermonade.erstellen_nichts<any>()),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,7 +107,7 @@ module mod_vtm
|
||||||
*/
|
*/
|
||||||
function erneuern_welt(partie : typ_partie) : void
|
function erneuern_welt(partie : typ_partie) : void
|
||||||
{
|
{
|
||||||
let knoten_svg : mod_vtm.mod_helfer.mod_xml.typ_knoten = mod_svg.wurzel
|
let knoten_svg : lib_xml.typ_knoten = mod_svg.wurzel
|
||||||
(
|
(
|
||||||
-4, -4,
|
-4, -4,
|
||||||
+4, +4,
|
+4, +4,
|
||||||
|
|
@ -115,7 +115,7 @@ module mod_vtm
|
||||||
[mod_manifestation.darstellen(mod_svg.mod_partie.erstellen_manifestation(partie.aufbau))]
|
[mod_manifestation.darstellen(mod_svg.mod_partie.erstellen_manifestation(partie.aufbau))]
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
partie.bereich.innerHTML = mod_vtm.mod_helfer.mod_xml.darstellen(knoten_svg);
|
partie.bereich.innerHTML = lib_xml.darstellen(knoten_svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -124,7 +124,7 @@ module mod_vtm
|
||||||
*/
|
*/
|
||||||
function erneuern_figur(partie : typ_partie) : void
|
function erneuern_figur(partie : typ_partie) : void
|
||||||
{
|
{
|
||||||
let knoten_svg : mod_vtm.mod_helfer.mod_xml.typ_knoten = mod_svg.wurzel
|
let knoten_svg : lib_xml.typ_knoten = mod_svg.wurzel
|
||||||
(
|
(
|
||||||
-4, -4,
|
-4, -4,
|
||||||
+4, +4,
|
+4, +4,
|
||||||
|
|
@ -132,7 +132,7 @@ module mod_vtm
|
||||||
[mod_manifestation.darstellen(mod_svg.mod_partie.erstellen_manifestation(partie.aufbau))]
|
[mod_manifestation.darstellen(mod_svg.mod_partie.erstellen_manifestation(partie.aufbau))]
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
partie.bereich.innerHTML = mod_vtm.mod_helfer.mod_xml.darstellen(knoten_svg);
|
partie.bereich.innerHTML = lib_xml.darstellen(knoten_svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -192,7 +192,7 @@ module mod_vtm
|
||||||
case mod_vtm.mod_aufbau.mod_modus.ungewiss:
|
case mod_vtm.mod_aufbau.mod_modus.ungewiss:
|
||||||
{
|
{
|
||||||
klasse = (
|
klasse = (
|
||||||
lib_fehlermonade.lesen(partie.intervall)
|
lib_fehlermonade.voll<any>(partie.intervall)
|
||||||
? "ungewiss_laufend"
|
? "ungewiss_laufend"
|
||||||
: "ungewiss_stehend"
|
: "ungewiss_stehend"
|
||||||
);
|
);
|
||||||
|
|
@ -235,7 +235,7 @@ module mod_vtm
|
||||||
if (lib_fehlermonade.voll(partie.intervall))
|
if (lib_fehlermonade.voll(partie.intervall))
|
||||||
{
|
{
|
||||||
clearInterval(lib_fehlermonade.lesen(partie.intervall));
|
clearInterval(lib_fehlermonade.lesen(partie.intervall));
|
||||||
partie.intervall = (lib_fehlermonade.mod_nichts.erstellen<any>());
|
partie.intervall = (lib_fehlermonade.erstellen_nichts<any>());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -271,7 +271,7 @@ module mod_vtm
|
||||||
function testen(partie : typ_partie) : void
|
function testen(partie : typ_partie) : void
|
||||||
{
|
{
|
||||||
let handle : any = setInterval(() => fortfahren(partie), 500);
|
let handle : any = setInterval(() => fortfahren(partie), 500);
|
||||||
partie.intervall = (lib_fehlermonade.mod_schlicht.erstellen<any>(handle));
|
partie.intervall = (lib_fehlermonade.erstellen_schlicht<any>(handle));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -306,12 +306,12 @@ module mod_vtm
|
||||||
let dom_feld : Element = target["closest"](".feld");
|
let dom_feld : Element = target["closest"](".feld");
|
||||||
if (dom_feld == null)
|
if (dom_feld == null)
|
||||||
{
|
{
|
||||||
stelle = (lib_fehlermonade.mod_nichts.erstellen<mod_vtm.mod_aufbau.mod_stelle.typ_stelle>());
|
stelle = (lib_fehlermonade.erstellen_nichts<mod_vtm.mod_aufbau.mod_stelle.typ_stelle>());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
let rel : string = dom_feld.getAttribute("rel")
|
let rel : string = dom_feld.getAttribute("rel")
|
||||||
stelle = (lib_fehlermonade.mod_schlicht.erstellen<mod_vtm.mod_aufbau.mod_stelle.typ_stelle>(mod_vtm.mod_aufbau.mod_stelle.von_hash(rel)));
|
stelle = (lib_fehlermonade.erstellen_schlicht<mod_vtm.mod_aufbau.mod_stelle.typ_stelle>(mod_vtm.mod_aufbau.mod_stelle.von_hash(rel)));
|
||||||
}
|
}
|
||||||
return stelle;
|
return stelle;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
s:mod_aktor_annehmer:mod_aktor.mod_annehmer:g
|
|
||||||
s:mod_aktor_verwerfer:mod_aktor.mod_verwerfer:g
|
|
||||||
s:mod_aktor_erzeuger:mod_aktor.mod_erzeuger:g
|
|
||||||
s:mod_aktor_schreiber:mod_aktor.mod_schreiber:g
|
|
||||||
s:mod_aktor_leser:mod_aktor.mod_leser:g
|
|
||||||
s:mod_aktor_befoerderer:mod_aktor.mod_befoerderer:g
|
|
||||||
|
|
||||||
Loading…
Reference in a new issue