korrekturen

This commit is contained in:
Christian Fraß 2017-11-10 00:05:15 +01:00
parent da3cf639bd
commit c3dd314751
11 changed files with 74 additions and 79 deletions

View file

@ -49,7 +49,7 @@ erzeugnis/vtm.js: \
quelldatein/aufbau/partie.ts \
quelldatein/manifestation/manifestation.ts \
quelldatein/manifestation/position.ts \
quelldatein/manifestation/svg.ts \
quelldatein/manifestation/svg/svg.ts \
quelldatein/manifestation/svg/figur.ts \
quelldatein/manifestation/svg/aktor.ts \
quelldatein/manifestation/svg/partie.ts \
@ -91,7 +91,7 @@ erzeugnis/vtm.js: \
quelldatein/aufbau/partie.ts \
quelldatein/manifestation/manifestation.ts \
quelldatein/manifestation/position.ts \
quelldatein/manifestation/svg.ts \
quelldatein/manifestation/svg/svg.ts \
quelldatein/manifestation/svg/figur.ts \
quelldatein/manifestation/svg/aktor.ts \
quelldatein/manifestation/svg/partie.ts \

View file

@ -134,6 +134,19 @@ module mod_vtm_aufbau
}
/**
* @author kcf <vidofnir@folksprak.org>
*/
public aufgabe_setzen(aufgabe : schnittstelle_aufgabe) : void
{
this.aufgabe = aufgabe;
this.welt = klasse_welt.blanko();
this.benachrichtigen("aenderung_aufgabe", {});
this.benachrichtigen("aenderung_welt", {});
this.zuruecksetzen();
}
/**
* @author kcf <vidofnir@folksprak.org>
*/
@ -226,21 +239,19 @@ module mod_vtm_aufbau
{
if (! this.figur.ist_schlicht())
{
let tests : Array<schnittstelle_test> = this.aufgabe.tests();
let testindex : int = this.testindex.lesen();
let test : schnittstelle_test = tests[testindex];
let test : schnittstelle_test = this.aufgabe.tests()[this.testindex.lesen()];
let band : Array<typ_symbol> = mod_vtm_helfer.liste_kopieren<typ_symbol>(test.eingabe());
let stelle : typ_stelle = this.welt.erzeuger_finden();
this.figur = (
new klasse_schlicht<klasse_figur>
(
new klasse_figur
(
mod_vtm_helfer.liste_kopieren<typ_symbol>(test.eingabe()),
band,
stelle
)
)
);
this.benachrichtigen("aenderung_figur", {});
}
else
{
@ -259,8 +270,8 @@ module mod_vtm_aufbau
let angenommen : boolean = (zustand === zustand_angenommen);
let ausgabe : Array<typ_symbol> = figur.band_lesen();
this.figur = (new klasse_nichts<klasse_figur>());
let tests : Array<schnittstelle_test> = this.aufgabe.tests();
let testindex : int = this.testindex.lesen();
let tests : Array<schnittstelle_test> = this.aufgabe.tests();
let test : schnittstelle_test = tests[testindex];
if (! test.pruefen(angenommen, ausgabe))
{
@ -270,18 +281,18 @@ module mod_vtm_aufbau
else
{
testindex += 1;
if (testindex >= tests.length)
if (testindex < tests.length)
{
// nächsten Test auswählen
this.testindex = (new klasse_schlicht<int>(testindex));
}
else
{
// auf Modus "korrekt" wechseln
this.testindex = (new klasse_nichts<int>());
this.modus = modus_korrekt;
this.benachrichtigen("aenderung_modus", {});
}
else
{
// nächsten Test auswählen
this.testindex = (new klasse_schlicht<int>(testindex));
}
}
}
else
@ -289,8 +300,8 @@ module mod_vtm_aufbau
let meldung : string = "unbehandelter Zustand";
throw (new Error(meldung));
}
this.benachrichtigen("aenderung_figur", {});
}
this.benachrichtigen("aenderung_figur", {});
break;
}
case modus_fehlerhaft:

View file

@ -139,9 +139,9 @@ jsonp_behandlung(
"ausgabe": [1,1,1,1]
},
{
"eingabe": [0,1,1,0,0,1,0,1,1,1,0,1,0,0,1,1,1,1,1,1,0,1,0,1],
"ausgabe": [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
}
"eingabe": [0,0,0,0,1,0,1,1,0],
"ausgabe": [1,1,1]
},
]
}
},
@ -162,31 +162,6 @@ jsonp_behandlung(
]
}
},
{
"art": "akzeptor",
"parameter": {
"titel": "ungerade Zahlen",
"text": "Mit ${s0} als 0 und ${s1} als 1, nur ungerade Zahlen",
"tests": [
{
"eingabe": [],
"annehmen": false
},
{
"eingabe": [],
"annehmen": false
},
{
"eingabe": [],
"annehmen": false
},
{
"eingabe": [],
"annehmen": false
}
]
}
},
{
"art": "akzeptor",
"parameter": {

View file

@ -79,17 +79,10 @@ function aufgaben_eintragen(behandler : (aufgabe : mod_vtm_aufbau.schnittstelle_
function haupt() : void
{
let aufbau : mod_vtm_aufbau.klasse_partie;
let aufgabe_laden = function (aufgabe : mod_vtm_aufbau.schnittstelle_aufgabe) : void
{
aufbau = (new mod_vtm_aufbau.klasse_partie(aufgabe));
let manifestation : mod_vtm_manifestation.klasse_manifestation<mod_vtm_aufbau.klasse_partie, void> = (
new mod_vtm_manifestation.klasse_web_partie(aufbau, document.querySelector("#bereich_mitte"))
);
manifestation.einrichten();
}
;
let aufgabe_laden = function (aufgabe : mod_vtm_aufbau.schnittstelle_aufgabe) : void {aufbau.aufgabe_setzen(aufgabe);};
aufgaben_eintragen(aufgabe_laden);
aufgabe_laden(mod_vtm_aufbau.aufgabe_holen(0));
aufbau = (new mod_vtm_aufbau.klasse_partie(mod_vtm_aufbau.aufgabe_holen(0)));
(new mod_vtm_manifestation.klasse_web_partie(aufbau, document.querySelector("#bereich_mitte"))).einrichten();
}

View file

@ -63,9 +63,9 @@ module mod_vtm_manifestation
{
let band : Array<mod_vtm_aufbau.typ_symbol> = figur.band_lesen();
let kinder_band : Array<mod_vtm_helfer.schnittstelle_xmlknoten> = [];
band.reduceRight
band.forEach
(
(dummy, symbol, index) =>
(symbol, index) =>
{
let r : float = 0.06125;
let x : float = (+0.1+(2*r*1.25)*index);
@ -94,10 +94,7 @@ module mod_vtm_manifestation
)
);
kinder_band.push(knoten_eintrag);
return null;
}
,
null
)
;
let knoten_band = (

View file

@ -71,21 +71,6 @@ module mod_vtm_manifestation
);
kinder_welt.push(knoten_felder);
}
// Figur
{
let figur_ : schnittstelle_fehlermonade<mod_vtm_aufbau.klasse_figur> = this.aufbau.figur_lesen();
if (figur_.ist_schlicht())
{
let figur : mod_vtm_aufbau.klasse_figur = figur_.lesen();
let manifestation_figur : klasse_manifestation<mod_vtm_aufbau.klasse_figur, mod_vtm_helfer.schnittstelle_xmlknoten> = (new klasse_svg_figur(figur));
let knoten_figur : mod_vtm_helfer.schnittstelle_xmlknoten = manifestation_figur.darstellen();
kinder_welt.push(knoten_figur);
}
else
{
// nichts tun
}
}
let knoten_welt : mod_vtm_helfer.schnittstelle_xmlknoten = (
new mod_vtm_helfer.klasse_xmlknoten_normal
(
@ -98,6 +83,21 @@ module mod_vtm_manifestation
);
kinder_partie.push(knoten_welt);
}
// Figur
{
let figur_ : schnittstelle_fehlermonade<mod_vtm_aufbau.klasse_figur> = this.aufbau.figur_lesen();
if (figur_.ist_schlicht())
{
let figur : mod_vtm_aufbau.klasse_figur = figur_.lesen();
let manifestation_figur : klasse_manifestation<mod_vtm_aufbau.klasse_figur, mod_vtm_helfer.schnittstelle_xmlknoten> = (new klasse_svg_figur(figur));
let knoten_figur : mod_vtm_helfer.schnittstelle_xmlknoten = manifestation_figur.darstellen();
kinder_partie.push(knoten_figur);
}
else
{
// nichts tun
}
}
let knoten_partie : mod_vtm_helfer.schnittstelle_xmlknoten = (
new mod_vtm_helfer.klasse_xmlknoten_normal
(

View file

@ -25,7 +25,7 @@ module mod_vtm_manifestation
function text_nachbearbeiten(text : string) : string
{
let regexp : RegExp = (new RegExp("\\$\{s(\\d*)\}", "g"));
return text.replace(regexp, "<span class=\"symbol_$1\">&nbsp;</span>");
return text.replace(regexp, "<span class=\"symbol_$1\">&nbsp;&nbsp;</span>");
}
@ -146,6 +146,8 @@ module mod_vtm_manifestation
*/
private erneuern_figur() : void
{
/*
*/
let knoten_svg : mod_vtm_helfer.schnittstelle_xmlknoten = mod_vtm_manifestation.svg_wurzel
(
-4, -4,
@ -183,7 +185,7 @@ module mod_vtm_manifestation
}
case mod_vtm_aufbau.modus_korrekt:
{
status = "scheinbar korrekt :)";
status = "anscheinend korrekt :)";
break;
}
default:
@ -268,7 +270,7 @@ module mod_vtm_manifestation
let stelle_ : schnittstelle_fehlermonade<mod_vtm_aufbau.typ_stelle> = stelle_ermitteln(event.target);
if (stelle_.ist_schlicht())
{
this.aufbau.welt_feld_wechseln(stelle_.lesen(), true);
this.aufbau.welt_feld_wechseln(stelle_.lesen(), false);
}
else
{
@ -287,7 +289,7 @@ module mod_vtm_manifestation
let stelle_ : schnittstelle_fehlermonade<mod_vtm_aufbau.typ_stelle> = stelle_ermitteln(event.target);
if (stelle_.ist_schlicht())
{
this.aufbau.welt_feld_wechseln(stelle_.lesen(), false);
this.aufbau.welt_feld_wechseln(stelle_.lesen(), true);
}
else
{

View file

@ -7,6 +7,7 @@ html
color: hsl(120, 0%, 100%);
font-family: monospace;
line-height: 200%;
}
body
@ -107,3 +108,8 @@ body > header
#knoepfe.testen_stehend > #knopf_anhalten {display: none;}
#knoepfe.testen_stehend > #knopf_bearbeiten {}
#aufgabe_status
{
margin-bottom: 8px;
}

View file

@ -21,7 +21,7 @@
<div class="bereich" id="bereich_mitte">
</div>
<div class="bereich" id="bereich_rechts">
<span id="aufgabe_status"></span>
<div id="aufgabe_status"></div>
<div id="knoepfe">
<button id="knopf_testen">Testen</button>
<button id="knopf_anhalten">Anhalten</button>
@ -84,7 +84,7 @@
</li>
<li>
<header>Transduktor</header>
<p>Bei einer Transdukor-Aufgabe soll eine Ausgabe erzeugt werden, die in einer bestimmten Beziehung zur vorgefundenen Eingabe steht, also sozusagen eine Funktion angewendet werden.</p>
<p>Bei einer Transduktor-Aufgabe soll eine Ausgabe erzeugt werden, die in einer bestimmten Beziehung zur vorgefundenen Eingabe steht, also sozusagen eine Funktion angewendet werden.</p>
<p>Beispiel: Die Eingabe zwei mal wiederholt.</p>
</li>
</ul>

11
werkzeuge/ausrollen.sh Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env sh
rsync \
--verbose \
--archive \
--compress \
--recursive \
--rsh=ssh \
erzeugnis/* \
mehl:~/websites/folksprak.org/htdocs/vtm/