zwischenspeicherung

This commit is contained in:
Christian Fraß 2018-03-26 22:14:10 +02:00
parent 494d9822ba
commit e97b65c856
11 changed files with 218 additions and 192 deletions

View file

@ -279,7 +279,7 @@ module mod_vtm
if (! partie.figur.ist_schlicht()) if (! partie.figur.ist_schlicht())
{ {
let test : mod_test.typ_test = mod_aufgabe.tests(partie.aufgabe)[partie.testindex.lesen()]; let test : mod_test.typ_test = mod_aufgabe.tests(partie.aufgabe)[partie.testindex.lesen()];
let band : Array<mod_symbol.typ_symbol> = mod_vtm_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 = (
new klasse_schlicht<mod_figur.typ_figur> new klasse_schlicht<mod_figur.typ_figur>

View file

@ -36,7 +36,7 @@ module mod_vtm
*/ */
export function addieren(richtung1 : typ_richtung, richtung2 : typ_richtung) : typ_richtung export function addieren(richtung1 : typ_richtung, richtung2 : typ_richtung) : typ_richtung
{ {
return mod_vtm_helfer.mod(richtung1 + richtung2, 6); return mod_vtm.mod_helfer.mod_mathematik.mod(richtung1 + richtung2, 6);
} }

View file

@ -102,7 +102,7 @@ module mod_vtm
) )
.concat .concat
( (
mod_vtm_helfer.sequenz(erweitert ? 4 : 2).map mod_vtm.mod_helfer.sequenz(erweitert ? 4 : 2).map
( (
symbol => ( symbol => (
{ {
@ -125,7 +125,7 @@ module mod_vtm
) )
.concat .concat
( (
mod_vtm_helfer.sequenz(erweitert ? 2 : 1).map mod_vtm.mod_helfer.sequenz(erweitert ? 2 : 1).map
( (
index => index =>
{ {
@ -204,7 +204,7 @@ module mod_vtm
} }
if (index_alt.ist_schlicht()) if (index_alt.ist_schlicht())
{ {
let index_neu : int = mod_vtm_helfer.mod(index_alt.lesen() + (umgekehrt ? -1 : +1), liste.length); let index_neu : int = mod_vtm.mod_helfer.mod_mathematik.mod(index_alt.lesen() + (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);
} }

View file

@ -42,8 +42,8 @@ module mod_vtm
{ {
let praefix : string = ( let praefix : string = (
{ {
"akzeptor": mod_vtm_helfer.uebersetzung_holen("aufbau.aufgaben.arten.akzeptor.kuerzel"), "akzeptor": mod_vtm.mod_helfer.mod_uebersetzung.holen("aufbau.aufgaben.arten.akzeptor.kuerzel"),
"transduktor": mod_vtm_helfer.uebersetzung_holen("aufbau.aufgaben.arten.transduktor.kuerzel"), "transduktor": mod_vtm.mod_helfer.mod_uebersetzung.holen("aufbau.aufgaben.arten.transduktor.kuerzel"),
}[aufgabe_roh["art"]] }[aufgabe_roh["art"]]
); );
let titel : string = ("[" + praefix + "]" + " " + aufgabe_roh["parameter"]["titel"]); let titel : string = ("[" + praefix + "]" + " " + aufgabe_roh["parameter"]["titel"]);
@ -87,15 +87,15 @@ module mod_vtm
let sprache_nativ : string = "de"; let sprache_nativ : string = "de";
if (! sprachen[""+"includes"](sprache_nativ)) if (! sprachen[""+"includes"](sprache_nativ))
sprachen.push(sprache_nativ); sprachen.push(sprache_nativ);
mod_vtm_helfer.uebersetzung_einrichten(sprachen); mod_vtm.mod_helfer.mod_uebersetzung.einrichten(sprachen);
mod_vtm_helfer.uebersetzung_anwenden(document); mod_vtm.mod_helfer.mod_uebersetzung.anwenden(document);
} }
// Hilfe // Hilfe
{ {
// Einleitung // Einleitung
{ {
document.querySelector("#hilfe_einleitung").innerHTML = ( document.querySelector("#hilfe_einleitung").innerHTML = (
mod_vtm_helfer.uebersetzung_holen mod_vtm.mod_helfer.mod_uebersetzung.holen
( (
"hilfe.einleitung", "hilfe.einleitung",
{ {

View file

@ -16,7 +16,13 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
module mod_vtm_helfer module mod_vtm
{
export module mod_helfer
{
export module mod_mathematik
{ {
/** /**
@ -37,4 +43,6 @@ module mod_vtm_helfer
} }
} }
}
}

View file

@ -16,27 +16,33 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
module mod_vtm_helfer module mod_vtm
{
export module mod_helfer
{
export module mod_uebersetzung
{ {
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
var _uebersetzung_sprachstapel : Array<string>; var _sprachstapel : Array<string>;
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
export var _uebersetzung_daten : {[sprache : string] : {[schluessel : string] : string}} = {}; var _daten : {[sprache : string] : {[schluessel : string] : string}} = {};
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
export function uebersetzung_einrichten(sprachen : Array<string>) : void export function einrichten(sprachen : Array<string>) : void
{ {
_uebersetzung_sprachstapel = []; _sprachstapel = [];
sprachen.forEach sprachen.forEach
( (
sprache => sprache =>
@ -45,12 +51,12 @@ module mod_vtm_helfer
if (zeichenketten_roh_.ist_schlicht()) if (zeichenketten_roh_.ist_schlicht())
{ {
let zeichenketten_roh : {[schluessel : string] : string} = (<{[schluessel : string] : string}>(zeichenketten_roh_.lesen())); let zeichenketten_roh : {[schluessel : string] : string} = (<{[schluessel : string] : string}>(zeichenketten_roh_.lesen()));
_uebersetzung_daten[sprache] = {}; _daten[sprache] = {};
for (let schluessel in zeichenketten_roh) for (let schluessel in zeichenketten_roh)
{ {
_uebersetzung_daten[sprache][schluessel] = (<string>(zeichenketten_roh[schluessel])); _daten[sprache][schluessel] = (<string>(zeichenketten_roh[schluessel]));
} }
_uebersetzung_sprachstapel.push(sprache); _sprachstapel.push(sprache);
} }
else else
{ {
@ -66,11 +72,11 @@ module mod_vtm_helfer
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
function uebersetzung_lesen(sprache : string, schluessel : string) : schnittstelle_fehlermonade<string> function lesen(sprache : string, schluessel : string) : schnittstelle_fehlermonade<string>
{ {
if (sprache in _uebersetzung_daten) if (sprache in _daten)
{ {
let satz : {[schluessel : string] : string} = _uebersetzung_daten[sprache]; let satz : {[schluessel : string] : string} = _daten[sprache];
if (schluessel in satz) if (schluessel in satz)
{ {
return (new klasse_schlicht<string>(satz[schluessel])); return (new klasse_schlicht<string>(satz[schluessel]));
@ -94,16 +100,16 @@ module mod_vtm_helfer
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
export function uebersetzung_holen(schluessel : string, vars : {[name : string] : string} = {}) : string export function holen(schluessel : string, vars : {[name : string] : string} = {}) : string
{ {
let ergebnis : schnittstelle_fehlermonade<string> = (new klasse_nichts<string>()); let ergebnis : schnittstelle_fehlermonade<string> = (new klasse_nichts<string>());
let gefunden : boolean = ( let gefunden : boolean = (
_uebersetzung_sprachstapel _sprachstapel
.some .some
( (
sprache => sprache =>
{ {
let ergebnis_ : schnittstelle_fehlermonade<string> = uebersetzung_lesen(sprache, schluessel); let ergebnis_ : schnittstelle_fehlermonade<string> = lesen(sprache, schluessel);
if (ergebnis_.ist_schlicht()) if (ergebnis_.ist_schlicht())
{ {
ergebnis = ergebnis_; ergebnis = ergebnis_;
@ -137,7 +143,7 @@ module mod_vtm_helfer
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
export function uebersetzung_anwenden(kontext : DocumentFragment) : void export function anwenden(kontext : DocumentFragment) : void
{ {
let muster : RegExp = (new RegExp("^!translate:([a-z0-9\.]*)$")); let muster : RegExp = (new RegExp("^!translate:([a-z0-9\.]*)$"));
document.querySelectorAll("*")[""+"forEach"] document.querySelectorAll("*")[""+"forEach"]
@ -151,7 +157,7 @@ module mod_vtm_helfer
if (fund != null) if (fund != null)
{ {
let schluessel : string = fund[1]; let schluessel : string = fund[1];
let inhalt_ : string = uebersetzung_holen(schluessel); let inhalt_ : string = holen(schluessel);
element.textContent = inhalt_; element.textContent = inhalt_;
} }
else else
@ -170,3 +176,7 @@ module mod_vtm_helfer
} }
}
}

View file

@ -16,7 +16,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
module mod_vtm_helfer module mod_vtm
{
export module mod_helfer
{ {
/** /**
@ -48,3 +51,5 @@ module mod_vtm_helfer
} }
}

View file

@ -28,14 +28,14 @@ module mod_vtm
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
export type typ_position = mod_vtm_helfer.typ_vektor; export type typ_position = mod_vtm.mod_helfer.mod_vektor.typ_vektor;
/** /**
* @author kcf <vidofnir@folksprak.org> * @author kcf <vidofnir@folksprak.org>
*/ */
var basis1 : typ_position = mod_vtm_helfer.vektor_polar((0/6) * (2*Math.PI)); var basis1 : typ_position = mod_vtm.mod_helfer.mod_vektor.polar((0/6) * (2*Math.PI));
var basis2 : typ_position = mod_vtm_helfer.vektor_polar((2/6) * (2*Math.PI)); var basis2 : typ_position = mod_vtm.mod_helfer.mod_vektor.polar((2/6) * (2*Math.PI));
/** /**
@ -44,10 +44,10 @@ module mod_vtm
export function von_stelle(stelle : mod_vtm.mod_aufbau.mod_stelle.typ_stelle) : typ_position export function von_stelle(stelle : mod_vtm.mod_aufbau.mod_stelle.typ_stelle) : typ_position
{ {
return ( return (
mod_vtm_helfer.vektor_addieren mod_vtm.mod_helfer.mod_vektor.addieren
( (
mod_vtm_helfer.vektor_skalieren(basis1, stelle.u), mod_vtm.mod_helfer.mod_vektor.skalieren(basis1, stelle.u),
mod_vtm_helfer.vektor_skalieren(basis2, stelle.v) mod_vtm.mod_helfer.mod_vektor.skalieren(basis2, stelle.v)
) )
); );
} }

View file

@ -84,7 +84,7 @@ module mod_vtm
return ( return (
pfad pfad
( (
mod_vtm_helfer.sequenz(6).map(i => mod_vtm_helfer.vektor_polar(((i+0.5)/6) * (2*Math.PI), 0.5)), mod_vtm.mod_helfer.sequenz(6).map(i => mod_vtm.mod_helfer.mod_vektor.polar(((i+0.5)/6) * (2*Math.PI), 0.5)),
true, true,
{ {
"class": "rahmen" "class": "rahmen"

View file

@ -42,7 +42,7 @@ module mod_vtm
*/ */
export function pfad export function pfad
( (
vertices : Array<mod_vtm_helfer.typ_vektor>, vertices : Array<mod_vtm.mod_helfer.mod_vektor.typ_vektor>,
schliessen : boolean = true, schliessen : boolean = true,
attribute : {[schlussel : string] : string} = {}, attribute : {[schlussel : string] : string} = {},
) )

3
werkzeuge/anpassen.sed Normal file
View file

@ -0,0 +1,3 @@
s:mod_vtm_helfer.sequenz:mod_vtm.mod_helfer.sequenz:g
s:mod_vtm_helfer.liste_kopieren:mod_vtm.mod_helfer.liste_kopieren:g