Quiz Programmieren
-
Hallo Leute,
wir sollen in der Schule so in Gruppen ein Projekt machen...
Wir haben uns für ein Quiz entschieden...Soweit ist schon alles klar..Was noch fehlt ist die Frage, wie können die einzelnen Fragen am besten eingelesen werden... ?? Kann da jemand was dazu sagen??
Danke..
-
Naja das ist ja nicht so schwer. Ihr müsst euch halt eine Art Format für eure Fragen/Antworten ausdenken, und das speichert ihr dann in Textdateien. Angenommen ihr macht es z.B. wie bei Wer wird Millionär (1 Frage => 4 Möglichkeiten, davon eine richtig + verschiedene Kategorien) dann könnte euer Format z.B. so aussehen:
Frage: Wie viel gibt 2+2 ?
Kategorie: 1
Antwort1: 10
Antwort2: 3
Antwort3: 4
Antwort4: 5
Richtig: 3Frage: Hier steht dann nächste Frage
Kateogrie:..
....
usw...Das Feld "Richtig" gibt dabei den Index der rictigen Antwort an.
Das ist natürlich nur ein Beispiel, und das könnt ihr dann halt so gestalten wie ihr es eben für euer Spiel braucht.
Da das normale Text-Dateien sind, kann die natürlich jeder lesen, aber ich denke mal das ist für euer Spiel nicht so wichtig.. ansonsten könnt ihrs ja auch einfach als Binärdateien machen, womit man sich das zumindest nicht ohne weiteres in einem normalen Text-Editor anschauen kann.Das Einlesen ist dann nicht mehr schwer: Um eine Frage einzulesen, liest du einfach zeilenweise (fgets) alles ein. Du weißt ja dass die erste Zeile immer die Frage enthält, welche durch das Schlüsselwort "Frage:" gekennzeichnet ist. Also kannst du aus dieser eingelesenen Zeile die eigentliche Frage herausparsen. Als nächstes muss die Kategorie folgen, welche du genauso einlesen kannst. Dann folgen die 4 Antwortmöglichkeiten, was wieder genau gleich funktioniert. Am Ende kommt der Index mit der richtigen Antwort (Die 4 Antwortmöglichkeiten kannst du z.B. in ein 4-elementiges char*-Array einlesen). Und dann kommt eben eine Leerzeile, womit du dann die komplette Frage eingelesen hast. Jetzt kannst du die nächste Frage einlesen, falls denn noch welche kommen, usw...
Wobei ihr die ganzen Felder ("Frage","Kategorie", usw) natürlich auch weglassen könnt, wodurch das Einlesen nochmal einfacher wird. Aber so sieht man es jetzt halt einfacher
-
ich würd einfach eine Textdatei nehmen und dort dann die Fragen und Antworten rein schreiben. Das Ganze bekommt dann ein Trennzeichen (beispielsweise Semikolon) für die Spalten:
Frage;Richtige Antwort;Falsche Antwort;Falsche Antwort;...
Die richtige Antwort ist immer die Erste. Nach dem Einlesen werden die Antworten durcheinander gewürfelt und dann einfach ausgewählt.
Alternativ könntest du auch die Fragen in eine Datei legen, wobei dann ein Index vergeben werden müsste..Datei 1:
index;FrageDatei 2:
frage-index;Richtig-Kennzeichen(+ oder -);AntworttextDiese Trennzeichen haben den Vorteil, dass du die Dateien relativ komfortabel in Excel bearbeiten kannst.