![]() |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Die Tutorials sind ja gut und schön.
Aber wie müsst ich das in meinem Projekt realisieren? Erstmal alle Fragen (für jede Schwierigkeitsstufe) in eine INI-Datei packen. Müssen die Antworten gleich dazu oder in eine extra Datei? Wie bind ich dann die INI-Dateien in meinen Quelltext ein? 1. Frage holen, wie Sir Rufo bereits in seinem Quelltext geschrieben hat. Wie mach ich das? LoadFromFile? 2. Antwort vom Spieler 3. Antwort überprüfen (Wie mach ich das mit den Antworten am besten?) |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Moin, moin
also ich persöhnlich finde, dass Ini-Dateien für Fragen zu groß dimensioniert sind. Einfacher wär es wenn du die Fragen in txt-Dateien packst und sie daraus in eine Memo lädst und dann zufällig welche aussuchst. Am besten machst du für jede Stufe eine txt-Datei, so brauchst du keine komplizierten Aufrufe: Meine Vorstellung:
Delphi-Quellcode:
Die Txt wäre dann so angeordnet:
var
level: Integer; fragenummer: Inetger; begin Randomize; memo.lines.loadfromfile(extractfilepath(paramstr(0))+'dawodiedateiliegen'+inttostr(level)+'.txt'); fragenummer:= random(memo.lines.count); fragelabel.caption:= memo.lines[fragenummer*5]; panela.caption:= memo.lines[fragenummer*5+1]; panelb.caption:= memo.lines[fragenummer*5+2]; panelc.caption:= memo.lines[fragenummer*5+3]; paneld.caption:= memo.lines[fragenummer*5+4]; end;
Code:
Dies ist einfach und glaubwürdig.
Frage
AntwortA AntwortB AntwortC AntwortD Richtig Frage AntwortA AntwortB AntwortC AntwortD Richtig Frage AntwortA AntwortB AntwortC AntwortD Richtig ... Gruß Puke |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Und was ist daran jetzt einfacher als T(Mem)IniFile?
|
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Wenn er nie Inis hatte?
Warum sollte er es auf einaml können? |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Weil er die Tutorials durchgearbeitet und hoffentlich ein wenig geübt hat? Mal ein Minibeispiel: angenommen, eine solche Inidatei für eine Schwierigkeitsstufe sähe so aus
Code:
Dann kann man daraus ganz einfach eine zufällig gewählte Frage samt Antworten herausholen (der Code ist ganz bewusst nicht optimal, etwas Arbeit soll ja noch bleiben):
[1]
Frage=Wieviel ist 2*2? Richtig=4 Falsch1=42 Falsch2=Rembrandt Falsch3=Hä? [2] Frage=Wer führte Regie beim Film "Die Vögel"? Richtig=Alfred Hitchcock Falsch1=Woody Allen Falsch2=Stephen Spielberg Falsch3=George Lucas [3] Frage=3 Dinge braucht der Mann: Feuer, Pfeife, ... Richtig=Stanwell Falsch1=Rauchmelder Falsch2=Feuerlöscher Falsch3=Dudelsack
Delphi-Quellcode:
Danach sollten die Frage in Label1 und alle Antworten in Memo1 stehen. Man muss sich natürlich noch merken, welche die richtige ist, sie zufällig durcheinandermischen etc., aber mir ging es jetzt nur um das Auslesen. Evtl. auftretende Fehler sollten natürlich auch noch behandelt werden.
procedure TForm1.ReadQuestion(const IniName: string);
var Ini: TMemIniFile; Sections: TStringlist; Question: string; begin Memo1.Lines.Clear; Ini := TMemIniFile.Create(IniName); try Sections := TStringlist.Create; try Ini.ReadSections(Sections); Question := Sections[Random(Sections.Count)]; Label1.Caption := Ini.ReadString(Question, 'Frage', 'Keine Frage vorhanden, nanu?'); Memo1.Lines.Add(Ini.ReadString(Question, 'Richtig', '')); Memo1.Lines.Add(Ini.ReadString(Question, 'Falsch1', '')); Memo1.Lines.Add(Ini.ReadString(Question, 'Falsch2', '')); Memo1.Lines.Add(Ini.ReadString(Question, 'Falsch3', '')); finally Sections.Free; end; finally Ini.Free; end; end; |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Ok,
doch ich denke mal nicht, dass "ini.readsections" zum Lehrplan gehört. Und ich kenne meinen Infolehrer, der weiß was kopiert ist. Also geben wir ihm einfach keinen Anlass. Vor allem weil unser Freund das mit dem "Loadfronmfile" schon kannte. Gruß Puke |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Und die F1-Taste ist bei den Schulrechnern ausgebaut? Ich verrate ja hier keine streng geheimen Vorgehensweisen, die nur den Eingeweihten aus dem erlauchten Kreis der Joghurt-Ritter vermittelt werden.
|
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Naja,
das Internet ist auf den Schulrechnern auch nicht ausgeschaltet. Es geht halt darum, dass ich glaube (muss nicht richtig sein) der Lehrer wird sich denken, dass deine Lösung vllt. abgeschrieben sein könnte und meine irgendwie schlechter, dafür aber echter rüberkommt. Soll heißen, dass bei meiner Lösung die Chancen, unentdeckt zu bleiben, ein wenig besser stehen, als bei deiner. Soll er entscheiden. Deine "einfachere":shock: oder meine "abstrakte":cry: Lösung, uns kann es egal sein. Gruß Puke. |
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Zitat:
|
AW: Wer Wird Millionär? Abschlussprojekt Klasse 12
Sehr schön, dass hier so fleißig diskutiert wird :thumb:
Klar, ich will mir hier ja auch nicht alles vorsagen lassen, oder nen kompletten Quelltext geben lassen. Ich brauch nur ein paar Denkanstöße, um das Projekt zu realisieren. Was anderes lässt mein Wissensstand nicht zu :-D Ich denke mal, ich werde die txt-Datei nehmen, denn damit hab ich schon gearbeitet (wer nicht?!). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz