One the page before the excercises
// Ablauf der Zeit als Variable $timeout speichern
if (!isset($timeout)) {
$timeout = strtotime('+90 seconds');
registerVariable($timeout);
}
if (!isset($seiten2)) {
$seiten2 = array('MS0','MS2','MS3','MS4', 'MS5', 'MS6', 'MS7', 'MS8', 'MS9', 'MS10', 'MS11', 'MS12', 'MS13','MS14');
shuffle($seiten2);
$seiten2[] = 'partNext';
registerVariable($seiten2);
}
setPageOrder($seiten2);
On each page with an excercise:
// Filter: Zeit abgelaufen?
if (time() > $timeout) {
goToPage('partNext');
}
// JavaScript zur Anzeige der verbleibenden Zeit
$timeLeft = $timeout - time();
show('M003', array(
'%timeLeft%' => $timeLeft
));
On the Page 'partNext':
// Definition der Fragen und der korrekten Antworten
// Es werden nur jene Items definiert, die auch überprüft werden sollen
$fragen = array(
'M225' => array("01" => 1, "02" => 1, "03" => 2, "04" => 2, "05" => 1, "06" => 1),
'M202' => array("01" => 1, "02" => 2, "03" => 1, "04" => 1, "05" => 2, "06" => 1),
'M203' => array("01" => 1, "02" => 1, "03" => 1, "04" => 1, "05" => 2, "06" => 2),
'M204' => array("01" => 1, "02" => 1, "03" => 1, "04" => 2, "05" => 1, "06" => 2),
'M205' => array("01" => 2, "02" => 1, "03" => 1, "04" => 1, "05" => 2, "06" => 1),
'M201' => array("01" => 1, "02" => 2, "03" => 1, "04" => 1, "05" => 2, "06" => 1),
'M221' => array("01" => 1, "02" => 2, "03" => 1, "04" => 1, "05" => 1, "06" => 2),
'M222' => array("01" => 2, "02" => 1, "03" => 1, "04" => 1, "05" => 1, "06" => 2),
'M223' => array("01" => 1, "02" => 2, "03" => 2, "04" => 1, "05" => 1, "06" => 1),
'M226' => array("01" => 1, "02" => 1, "03" => 1, "04" => 2, "05" => 1, "06" => 2),
'M227' => array("01" => 1, "02" => 2, "03" => 2, "04" => 1, "05" => 1, "06" => 1),
'M228' => array("01" => 1, "02" => 2, "03" => 1, "04" => 2, "05" => 1, "06" => 1),
'M229' => array("01" => 1, "02" => 2, "03" => 1, "04" => 1, "05" => 1, "06" => 2),
'M230' => array("01" => 2, "02" => 1, "03" => 1, "04" => 1, "05" => 1, "06" => 2),
);
// Punktezähler initialisieren
$points = 0;
// Alle Fragen durchlaufen
foreach ($fragen as $frageKenn => $antworten) {
// Für diese Frage den Fehlerzähler auf 0 setzen
$fehler = 0;
foreach ($antworten as $itemKenn => $vorgabe) {
// Kennung des Items zusammenbauen
$kennung = $frageKenn.'_'.$itemKenn;
// Antwort des Teilnehmers abfragen
$antwort = value($kennung);
// Antwort auf Richtigkeit (eigentlich: Falschheit) prüfen
if ($antwort != $vorgabe) {
// Bei Abweichung einen Fehler zählen
$fehler++;
}
}
// Prüfen, ob die Frage fehlerfrei beantwortet wurde
if ($fehler == 0) {
// Einen Punkt vergeben
$points++;
}
}
// Das Ergebnis anzeigen oder anderweitig verarbeiten
put('Ergebnis_M1', $points);
html('<font size="5"><p>Richtig gelöste Aufgaben: <b>'.$points.' von 14</b></p></font>');