Developer's Base - Falllösungen
In der Rohversion, wie sie von Hystoria generiert wird, sind so gut wie keine Formatierungen vorhanden. Dadurch können Sie das Skript beliebig an Ihre Vorstellungen anpassen.
Das Skript "trainer.php" arbeitet mit Sessions. Mithilfe dieser Sessions wird der "Weg", den der Nutzer durch die Falllösung genommen hat, gespeichert. Die hierzu benutzte Variable ist $text. Die nächste Frage wird mit dem Parameter $frage übergeben. Sobald keine Antworten mehr vorhanden sind, wird die Lösung ausgegeben.
Indem Sie als Frage -1 angeben, können Sie auch zwischendurch eine Falllösung ausgeben. Diese sollten Sie aber in einem separaten Fenster öffnen, da das Skript mit dem "Zurück"-Button Ihres Browsers nicht zurecht kommt (u.U. wird der Lösungstext doppelt ausgegeben).
Bsp.: trainer.php?frage=-1
Verlinken Sie auf das Skript und übergeben Sie einen Parameter "dir", sucht das Skript in einem anderen Verzeichnis nach den Daten. So können Sie ausgehend von einem Skript auf mehrere Falllösungen zugreifen (Bsp.: trainer.php?dir=242). Das Skript merkt sich das Verzeichnis anschließend automatisch.
Die zu stellenden Fragen befinden sich jeweils im Unterverzichnis "fragen". Begonnen wird mit der Datei "einstieg.txt".
Die Dateien sind Zeilenweise aufgebaut: In Zeile eins befindet sich die Frage. Die folgenden Zeilen sind die Antworten. Diese haben das Format:
Beschreibung|Nächste Frage|Antworttext
Wird also die Antwort "Beschreibung" angeklickt, wird der Lösung der "Antworttext" hinzugefügt um dan zur "Nächsten Frage" zu springen.
Im Unterverzeichnis "texte" befinden sich die verschiedenen Textfragmente, aus denen letztendlich die Lösung zusammengebastelt wird.
Developer's Base - Lexikon
Das Lexikon-Skript analysiert die menue.txt-Datei. Jeder Eintrag hat folgendes Format:
Beschreibung|Einschub|Text
- Beschreibung ist der Text, der in der Baumstruktur erscheint.
- Einschub gibt an, wie weit der Eintrag nach rechts gerückt sein soll.
- Text letztendlich gibt an, welcher Text ausgegeben werden soll, wenn auf diesen Eintrag geklickt wurde.
Bsp.: Einstieg|0|0.
Ansonsten müsste das Skript eigentlich selbsterklärend sein.