Thema: In click

Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#18

AW: In click

  Alt 27. Jan 2017, 12:02
Bei einem Szenario musst du mMn folgende Dinge speichern:
-ID oder Nummer
-Frage
-Antwort_A
-Antwort_B
-Stat1_A //Veränderung des Statusses im Bereich 1, wenn Lösung A gewählt usw.
-Stat2_A
-Stat3_A
-Stat4_A
-Stat1_B
-Stat2_B
-Stat3_B
-Stat4_B

Idealerweise würde man dazu wohl eine Datenbank wählen, aber man könnte es auch Dateibasiert z.B. in einer Textdatei/Inidatei/XMLDatei oder ähnliches machen. Dann müsste man sich nur überlegen, ob man pro Szenario eine Datei macht, die dann z.B. die ID/Nr als Dateinamen hätte oder ob man alle in eine Datei packt.
Wenn man z.B eine Ini-Datei zum speichern nähme und vereinbart, dass in den Fragen und Antworten keine Zeilenumbrüche drinne wären könnte man die ID/Nr als Sektion der Ini-Datei nehmen und eine Frage sähe dann ggf. so aus:
Code:
[17]
Frage=Ein Mann kauft ein Auto, was hälst du davon?
Antwort_A=Männer sollten keine Autos kaufen
Antwort_B=Warum hat er mir keins mitgebracht
Stat1_A=-1
Stat2_A=-3
Stat3_A=4
Stat4_A=2
Stat1_B=1
Stat2_B=2
Stat3_B=-1
Stat4_B=-3
Ist natürlich eigentlich ein bißchen das Pferd von hinten aufgezäumt, wenn ich hier direkt mit dem Speichern der Daten anfange, und im professionellen Entwickeln würde man das anders herum machen, aber für eine Anfänger-Schulaufgabe finde ich das OK.
Wie man die Daten dann in Objekten verpackt, wurde ja schon ansatzweise vorgestellt.


Zum Vorgehen im Programm:
-Du brauchst Variablen, um deine 4 Stati zu speichern.
-Du brauchst eine Liste, wo bereits gestellte Fragen (deren ID) gespeichert werden, damit die Frage nicht nochmal gestellt wird.
-Du brauchst eine Prozedur, die eine neue Frage lädt. Diese wird ausgesucht, in dem eine Zufallszahl (mit Random) solange ermittelt wird, bis eine gefunden wurde, die noch nicht in der Liste der gestellten Fragen steht. Dann wird diese Frage aus der oben genannten Datenbank oder Datei "irgendwie" geladen. Idealerweise in ein Objekt für die Datenhaltung und in die Memo-Felder für die Anzeige. Nicht vergessen, die Frage auch in die Liste einzutragen.
-Beiden Buttons wird die selbe Button-Click-Prozedur zugewiesen, die z.B. über die Tag-Eigenschaft der Buttons zw. Antwort A/B unterscheiden kann. Je nach Antwort werden die Stats angepasst. Neu angezeigt. Geprüft ob Programm zu Ende ist und entweder eine neue Frage geladen oder "Programm zu Ende"-Meldung ausgegeben.
-Dafür brauchst du eine Prozedur, die die angepassten Stats im Formular anzeigt(aktualisiert).
-Eine Prozedur, die checkt ob Programm zu Ende.
-...
Ralph
  Mit Zitat antworten Zitat