Entwickler-Ecke

Sonstiges (Delphi) - Das Konzept eines Quiz(s)


Marco D. - Do 11.05.06 21:17
Titel: Das Konzept eines Quiz(s)
Hallo,

ich arbeite derzeit an einem Quiz. Eigentlich ja nicht das Problem! ;)
Allerdings sollen die Fragen variabel sein. Dazu lese ich die Fragen zur Laufzeit aus einer Textdatei in ein Array ein, damit sie leicht geändert werden können. Das geht soweit. Nun will ich andereseits es gerne so haben, dass die Fragen zufällig ausgewählt werden. Nur darf dabei keine Frage doppelt erscheinen. Meine Frage betrifft das Konzept. Wie kann man so etwas realisieren?
Mein bisheriger Ansatz ist der, dass ich den Eintrag aus dem Fragen-Array lösche, wenn eine ausgewählt wurde. Allerdings habe ich da Probleme mit der Umsetzung :-(
( http://www.delphi-forum.de/viewtopic.php?t=59956 )
Gibt es eine andere Möglichkeit?


FFKangoroo - Do 11.05.06 21:43

Also zufallAuswahl machst du mit dem Befehl: RAndom(Integer);
der integer ist die zahl zwischen denen er aussucht.
Am anfang kannst du noch randomize; angeben das mischt die randomliste jedesmal durch. um zu verhindern das fragen doppelt vorkommen kannst du in einen weiteren array die bereits benutzten zahlen reinschreiben und immer abfragen.

Hoffe konnte helfen


Marco D. - Fr 12.05.06 08:48

user profile iconFFKangoroo hat folgendes geschrieben:
um zu verhindern das fragen doppelt vorkommen kannst du in einen weiteren array die bereits benutzten zahlen reinschreiben und immer abfragen.

Das andere ist ja nicht das Problem. Also ich habe ein Array of TFrage. Ich könnte ja dann ein weiteres Array (z.B. questions_used) nehmen, in dem ich speichere, ob die Frage schon mal kam.


LLCoolDave - Fr 12.05.06 16:13

Wenn du eh schon eine Klasse/einen Record TFrage hast, kannst du doch dort auch ne boolean variable einbauen, die du auf true setzt wenn die Frage schon dran war.

Oder du generierst beim Laden der Frageliste eine weitere Liste (von mir aus auch einen Array), in dem alle Nummern der Fragen stehen und mischt diesen dann gut durch. Dann einfach der Reihe nach durchgehen und das ganze funktioniert auch.


Marco D. - Fr 12.05.06 20:56

user profile iconLLCoolDave hat folgendes geschrieben:
Wenn du eh schon eine Klasse/einen Record TFrage hast, kannst du doch dort auch ne boolean variable einbauen, die du auf true setzt wenn die Frage schon dran war.

Oder du generierst beim Laden der Frageliste eine weitere Liste (von mir aus auch einen Array), in dem alle Nummern der Fragen stehen und mischt diesen dann gut durch. Dann einfach der Reihe nach durchgehen und das ganze funktioniert auch.

Beide Ideen sind genial :zustimm: