Ja, ja...den Jungen gehört die Welt. Soll ich mich mit meinen 18 LenzenHeXOR hat geschrieben:Schlafmütze @Sylvia![]()
hetzen lassen...?

Code: Alles auswählen
Structure _QUIZ_
Frage.s
Moegliche_Antworten.s[5]
Loesung.s
EndStructure
Global NewList Quiz_Fragen._QUIZ_()
Procedure MischeQuizKarten()
Static We_Are_Initialized.l
If We_Are_Initialized = #False
We_Are_Initialized = #True
;Initialize Karten
Restore Quiz_Fragen
Read a$
While a$ <> "[THEEND]"
AddElement(Quiz_Fragen())
Quiz_Fragen()\Frage = a$
j = 0
Read a$
While a$ <> "[ENDE]"
Quiz_Fragen()\Moegliche_Antworten[j] = a$
Read a$
j + 1
Wend
Read Quiz_Fragen()\Loesung
Read a$
Wend
EndIf
;Mischen... so etwa 200mal...
For i = 0 To 200
;Wir suchen zwei zufällige unterschiedliche Zahlen zwischen 1 und #Anzahl_Fragen
random1 = 0
random2 = 0
While random1 = random2
random1 = Random(CountList(Quiz_Fragen()) - 1)
random2 = Random(CountList(Quiz_Fragen()) - 1)
Wend
SelectElement(Quiz_Fragen(), random1)
*One = @Quiz_Fragen()
SelectElement(Quiz_Fragen(), random2)
*Two = @Quiz_Fragen()
;Wir vertauschen die beiden gefundenen Positionen
SwapElements(Quiz_Fragen(), *One, *Two)
Next i
EndProcedure
MischeQuizKarten()
OpenConsole()
Punkte = 0
ForEach Quiz_Fragen()
PrintN(Quiz_Fragen()\Frage)
PrintN("")
i = 0
While Quiz_Fragen()\Moegliche_Antworten[i]
PrintN(Str(i + 1) + ". " + Quiz_Fragen()\Moegliche_Antworten[i])
i + 1
Wend
PrintN("")
a$ = Input()
If a$ = Quiz_Fragen()\Loesung
Punkte + 1
EndIf
Next
PrintN("")
PrintN("Endergebnis: " + Str(Punkte) + " Punkte erzielt!")
Input()
End
DataSection
Quiz_Fragen:
;Frage1
Data.s "Wer hat an der Uhr gedreht ?"
Data.s "Paulchen"
Data.s "Dorfdepp"
Data.s "Stinkfussindianer"
Data.s "[ENDE]"
Data.s "1"
Data.s "Wieviel ist 2x2 ?"
Data.s "8"
Data.s "Aegypten ?"
Data.s "Schach!"
Data.s "4"
Data.s "[ENDE]"
Data.s "4"
Data.s "Koennen Eisbaeren luegen ?"
Data.s "Noe"
Data.s "Wasn das fuer ne Frage ?"
Data.s "Klar"
Data.s "[ENDE]"
Data.s "1"
Data.s "Bart Simpson sagt immer:"
Data.s "Fahr zur Hoelle"
Data.s "Aye Caramba"
Data.s "D'OH"
Data.s "[ENDE]"
Data.s "2"
Data.s "[THEEND]"
; ...
EndDataSection