Neustart eines Quiz

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

KeyOne17

Betreff: Neustart eines Quiz

BeitragFr, Jul 14, 2006 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich wollte fragen wenn man bei meinem quiz eine Falsche Frage eingetippt hat dann möchte ich gerne das man wenn man auf Esc drückt
das quiz von vorne Anfängt aber wie macht man das, ich danke schon mal im vorraus!

Print "Frage1: Wie heisst der Erfinder von Blitz ?"
Print "(a) Thomas Graf"
Print "(b) Mark Sibly"
Print "(c) Tony Hawk"
Antwort$ = Input ("a,b oder c? ")
If Antwort = "a" Then
Print "Falsch! Antwort b!Neustart[Esc]
Repeat
Until KeyDown(1)
EndIf
If Antwort = "b" Then
Print "Richtig! Weiter mit Aufgabe2"
EndIf
If Antwort = "c" Then
Print "Falsch! Antwort b! Neustart[Esc]"
Repeat
Until KeyDown(1)
EndIf


Print "Frage2: Welche Auflösung ist richtig ?"
Print "(a) Graphics3D 640, 480"
Print "(b) Graphics9D 400, 680"
Print "(c) Graphicks3D 640, 480"
Antwort$= Input ("a,b oder c?")
If Antwort = "a" Then
Print "Richtig!Weiter mit Aufgabe3"
EndIf
If Antwort = "b" Then
Print "Falsch!Neustart[Esc]"
Repeat
Until KeyDown(1)
EndIf
If Antwort = "c" Then
Print "Falsch!Neustart [Esc]"
Repeat
Until KeyDown(1)
EndIf


Print "Frage3: Welche Auflösung ist richtig?"






While Not KeyHit(1)
Wend
 

konstantin

BeitragFr, Jul 14, 2006 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Schleife natuerlich um den Code herumpacken, wenn er neu starten soll.
Aber ich wuerde dir eher empfehlen, die Fragen und Antworten in eine externe Datei auszulagern und den Code ein wenig... "anders" aufzubauen. Lernen, üben, lernen...

Hau dir mal Robs Tutorials rein.

Christoph

BeitragFr, Jul 14, 2006 14:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst entweder ql:goto oder eine Schleife (z.B. ql:repeat) nehmen:

1.goto
Setzte eine Marke an den Anfang (eingeleitet mit Punkt)
Dann rufst du mit goto Sprungmarkenname (ohne Punkt) die Sprungmarke auf. (von dort wird weiter ausgeführt)
Code: [AUSKLAPPEN]
.Fragestart1
Print "Frage1: Wie heisst der Erfinder von Blitz ?"
Print "(a) Thomas Graf"
Print "(b) Mark Sibly"
Print "(c) Tony Hawk"
Antwort$ = Input ("a,b oder c? ")
If Antwort = "a" Then
Print "Falsch! Antwort b!Neustart[Esc]
Repeat Until KeyDown(1)
goto Fragestart1
EndIf

2.Repeat
Setzte alles von der ersten Frage in eine Schleife. Diese wird solange ausgeführt bis die Antwort richtig ist.

Code: [AUSKLAPPEN]

repeat
 Richtig=0
 Print "Frage1: Wie heisst der Erfinder von Blitz ?"
 Print "(a) Thomas Graf"
 Print "(b) Mark Sibly"
 Print "(c) Tony Hawk"
 Antwort$ = Input ("a,b oder c? ")
 If Antwort = "a" Then
  Print "Falsch! Antwort b!Neustart[Esc]
  Repeat Until KeyDown(1)
 EndIf
 If Antwort = "b" Then
  Print "Richtig! Weiter mit Aufgabe2"
  Richtig=1
 EndIf
 If Antwort = "c" Then
  Print "Falsch! Antwort b! Neustart[Esc]"
  Repeat Until KeyDown(1)
 EndIf
until Richtig=1
 

Matthias

BeitragFr, Jul 14, 2006 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hay. Hoffe ich kann dir auch weiter helfen.

kannst du ganz einfach erweitern

Code: [AUSKLAPPEN]
FrageMax=4
.NeuStart:Restore:Cls:Locate 0,0

For FrageZale=0 To FrageMax
Read Frage$:Read AntwortA$:Read AntwortB$:Read AntwortC$:Read Richtig$

Print Frage$:Print "(a) "+AntwortA$:Print "(b) "+AntwortB$:Print "(c) "+AntwortC$
Antwort$ = Input ("a,b oder c? ")

  Select Antwort$
      Case Richtig$:Print "Richtig! Weiter mit Aufgabe "+FrageZaler+2
      Default:Print "Falsch! Antwort "+Richtig$+" ist richtig !Neustart [drücke Esc]"
      Repeat:Until KeyDown(1) :Goto NeuStart
  End Select
Next

Print "Keine Fragen mehr (Drücke Esc)"

Repeat :Until KeyDown(1)=1:End


Data "Wie heisst der Erfinder von Blitz ?", "Thomas Graf"  ,"Mark Sibly" ,"Tony Hawk","b"
Data "Welche Auflösung ist richtig ?" ,"Graphics3D 640, 480" ,"Graphics9D 400, 680" ,"Graphicks3D 640, 480","a"
Data "Wie Weit ist der 11 Meterpunkt vom Tor entfernt?" ,"14 Meter" ,"30 Meter" ,"11 Meter","c"
Data  "Wie alt ist mein Oper?" ,"15 Jahre" ,"112 Jahre" ,"22 Jahre","b"
Data  "Wie viele Fragen fallen dir noch so ein?" ,"5 Fragen" ,"18 Fragen" ,"unendlich viele","c"
 

KeyOne17

BeitragFr, Jul 14, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mir robs tutorial schon reingehauen und von blitzbase auch^^
aber danke für eure hilfe das Problem ist gelöst! Very Happy

Fleamor

BeitragSo, Jul 16, 2006 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich geb dir n tipp: Du solltest für ein Quiz mehrere Fragen des gleichen schwierigkeitsgrades machen die dann zufällig ausgewählt werden.
*schwupp* O.O

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group