Forum | | | | diimool25 | Hallo ich brächte hilfe also wir wollen ein ''Quiz'' machen und haben denn radioButtons als antwortmöglichkeiten. wie kann ich das jetzt einstellen das wenn ich auf auswerten drücke das dort steht das die antwort richtig oder falsch ist
Danke für hilfen !!! |
| | | | |
| | Nico Madysa | Hi! Du kannst mit der Funktion GetCheck() prüfen, ob ein bestimmter Radiobutton ausgewählt wurde oder nicht. Wenn "Auswerten" geklickt worden ist, musst du also nur prüfen, ob der korrekte Radiobutton ausgewählt ist, oder nicht. KompilierenMarkierenSeparieren |
| | | | |
| | diimool25 | Wie genau muss ich denn beim hauptprogramm_rum machen ?
Declare kleine_zahl&, alter&
Declare button_ende%, button_löschen%, button_auswerten%, Rahmen%[10], text%[10],RadionButton%[50] Declare komma_zahlen!, preise!
Declare text$
proc hauptprogramm_skin
window 0,0 - %maxx,%maxy UseBrush 1,@RGB(0,0,255) UsePen 3,5,@RGB(0,0,0) Rectangle 0,0 - %maxx-20, %maxy-100
button_ende% = @Create("Button",%HWnd,"E N D E", %maxx -180,%maxy - 180,145,50) button_auswerten% = @Create("Button",%HWnd,"Auswerten", %maxx -330,%maxy - 180,140,50) button_löschen% = @Create("Button",%HWnd,"Löschen", %maxx -490,%maxy - 180, 150,50) Rahmen%[1] = @Create("GroupBox",%HWnd," Stimmt es, dass die Herstellung einer Cola-Dose etwa gleich viel kostet, wie die Herstellung des Colas, das darin enthaltenen ist?",20,10,850,250) Rahmen%[2] = @Create("GroupBox",%HWnd," Welches der unten genannten Lebensmittel enthält am meisten Eisen?",20,300,850,250) Rahmen%[3] = @Create("GroupBox",%HWnd," Wodurch 'trocknet' Sekundenkleber?",20,600,850,250) Rahmen%[4] = @Create("GroupBox",%HWnd," In welcher europäischen Stadt gibt es die meisten Brücken?",900,10,850,250) Rahmen%[5] = @Create("GroupBox",%HWnd," Wovon bekommen wir die meiste radioaktive Strahlung ab?",900,300,850,250) Rahmen%[6] = @Create("GroupBox",%HWnd," Was bekam man beim weltweit ersten Münzautomat für sein Geld?",900,600,850,250)
RadionButton%[1] = @Create("RadioButton",Rahmen%[1],"ja, beides kostet etwa gleich viel",10,75,300,25) RadionButton%[2] = @Create("RadioButton",Rahmen%[1],"nein, das Cola ist teurer als die Dose",10,110,300,25) RadionButton%[3] = @Create("RadioButton",Rahmen%[1],"nein, die Dose ist teurer als das Cola",10,145,300,25) 'x
RadionButton%[4] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,50,100,30) RadionButton%[5] = @Create("RadioButton",Rahmen%[2],"Spinat",10,90,100,30) RadionButton%[6] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,130,100,30)'x
RadionButton%[7] = @Create("RadioButton",Rahmen%[3],"Wärme",10,50,100,30) RadionButton%[8] = @Create("RadioButton",Rahmen%[3],"Feuchtigkeit",10,90,100,30)'x RadionButton%[9] = @Create("RadioButton",Rahmen%[3],"Sauerstoff",10,130,100,30)
RadionButton%[10] = @Create("RadioButton",Rahmen%[4],"Hamburg",10,50,100,30)'x RadionButton%[11] = @Create("RadioButton",Rahmen%[4],"Venedig",10,90,100,30) RadionButton%[12] = @Create("RadioButton",Rahmen%[4],"Amsterdam",10,130,100,30)
RadionButton%[13] = @Create("RadioButton",Rahmen%[5],"von Atomkraftwerken und radioaktivem Abfall",10,50,500,30) RadionButton%[14] = @Create("RadioButton",Rahmen%[5],"von zurückliegenden Atombomben-Tests",10,90,500,30) RadionButton%[15] = @Create("RadioButton",Rahmen%[5],"von der natürlichen Strahlung der Erde",10,130,500,30)'x
RadionButton%[16] = @Create("RadioButton",Rahmen%[6],"Kaugummi",10,50,100,30) RadionButton%[17] = @Create("RadioButton",Rahmen%[6],"Brot",10,90,100,30) RadionButton%[18] = @Create("RadioButton",Rahmen%[6],"Wasser",10,130,100,30)'x
endproc
proc hauptprogramm_run Repeat waitinput if @GetFocus(button_auswerten%)
endif endif
until @Or(Clicked(button_ende%) , %scankey = 27) endproc
proc hautprgramm_end @DestroyWindow(%hwnd) endproc
'Hauptprogramm
hauptprogramm_skin hauptprogramm_run hautprgramm_end
end |
| | | | |
| | H.Brill | Wird wohl etwas schwierig mit den Koordinaten, da mit Groupboxen gearbeitet wird. Die Radiobuttons werden dann ja relativ zur Groupbox gesetzt. Bei deinem Code wird es wohl einfacher sein, bei richtiger Antwort, die restlichen 2 Radiobuttons zu deaktivieren. Bei falscher Antwort kann man dann noch verbessern und wieder auswerten lassen. Deshalb würde ich es mal so machen : KompilierenMarkierenSeparierenDeclare kleine_zahl&, alter&
Declare button_ende%, button_löschen%, button_auswerten%, Rahmen%[10], text%[10],RadionButton%[50]
Declare komma_zahlen!, preise!
Declare text$
proc hauptprogramm_skin
window 0,0 - %maxx,%maxy
UseBrush 1,@RGB(0,0,255)
UsePen 3,5,@RGB(0,0,0)
Rectangle 0,0 - %maxx-20, %maxy-100
button_ende% = @Create("Button",%HWnd,"E N D E", %maxx -180,%maxy - 180,145,50)
button_auswerten% = @Create("Button",%HWnd,"Auswerten", %maxx -330,%maxy - 180,140,50)
button_löschen% = @Create("Button",%HWnd,"Löschen", %maxx -490,%maxy - 180, 150,50)
Rahmen%[1] = @Create("GroupBox",%HWnd," Stimmt es, dass die Herstellung einer Cola-Dose etwa gleich viel kostet, wie die Herstellung des Colas, das darin enthaltenen ist?",20,10,850,250)
Rahmen%[2] = @Create("GroupBox",%HWnd," Welches der unten genannten Lebensmittel enthält am meisten Eisen?",20,300,850,250)
Rahmen%[3] = @Create("GroupBox",%HWnd," Wodurch 'trocknet' Sekundenkleber?",20,600,850,250)
Rahmen%[4] = @Create("GroupBox",%HWnd," In welcher europäischen Stadt gibt es die meisten Brücken?",900,10,850,250)
Rahmen%[5] = @Create("GroupBox",%HWnd," Wovon bekommen wir die meiste radioaktive Strahlung ab?",900,300,850,250)
Rahmen%[6] = @Create("GroupBox",%HWnd," Was bekam man beim weltweit ersten Münzautomat für sein Geld?",900,600,850,250)
RadionButton%[1] = @Create("RadioButton",Rahmen%[1],"ja, beides kostet etwa gleich viel",10,75,300,25)
RadionButton%[2] = @Create("RadioButton",Rahmen%[1],"nein, das Cola ist teurer als die Dose",10,110,300,25)
RadionButton%[3] = @Create("RadioButton",Rahmen%[1],"nein, die Dose ist teurer als das Cola",10,145,300,25)'x
RadionButton%[4] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,50,100,30)
RadionButton%[5] = @Create("RadioButton",Rahmen%[2],"Spinat",10,90,100,30)
RadionButton%[6] = @Create("RadioButton",Rahmen%[2],"Schokolade",10,130,100,30)'x
RadionButton%[7] = @Create("RadioButton",Rahmen%[3],"Wärme",10,50,100,30)
RadionButton%[8] = @Create("RadioButton",Rahmen%[3],"Feuchtigkeit",10,90,100,30)'x
RadionButton%[9] = @Create("RadioButton",Rahmen%[3],"Sauerstoff",10,130,100,30)
RadionButton%[10] = @Create("RadioButton",Rahmen%[4],"Hamburg",10,50,100,30)'x
RadionButton%[11] = @Create("RadioButton",Rahmen%[4],"Venedig",10,90,100,30)
RadionButton%[12] = @Create("RadioButton",Rahmen%[4],"Amsterdam",10,130,100,30)
RadionButton%[13] = @Create("RadioButton",Rahmen%[5],"von Atomkraftwerken und radioaktivem Abfall",10,50,500,30)
RadionButton%[14] = @Create("RadioButton",Rahmen%[5],"von zurückliegenden Atombomben-Tests",10,90,500,30)
RadionButton%[15] = @Create("RadioButton",Rahmen%[5],"von der natürlichen Strahlung der Erde",10,130,500,30)'x
RadionButton%[16] = @Create("RadioButton",Rahmen%[6],"Kaugummi",10,50,100,30)
RadionButton%[17] = @Create("RadioButton",Rahmen%[6],"Brot",10,90,100,30)
RadionButton%[18] = @Create("RadioButton",Rahmen%[6],"Wasser",10,130,100,30)'x
endproc
proc hauptprogramm_run
WhileNot @Clicked(button_ende%)
waitinput
if @GetFocus(button_auswerten%)
If GetCheck(RadionButton%[3]) = 1
'DrawIcon 4, 400,145, '-> richtig
EnableWindow RadionButton%[1], 0
EnableWindow RadionButton%[2], 0
EndIf
If GetCheck(RadionButton%[6]) = 1
EnableWindow RadionButton%[4], 0
EnableWindow RadionButton%[5], 0
EndIf
If GetCheck(RadionButton%[8]) = 1
EnableWindow RadionButton%[7], 0
EnableWindow RadionButton%[9], 0
EndIf
If GetCheck(RadionButton%[10]) = 1
EnableWindow RadionButton%[11], 0
EnableWindow RadionButton%[12], 0
EndIf
If GetCheck(RadionButton%[15]) = 1
EnableWindow RadionButton%[13], 0
EnableWindow RadionButton%[14], 0
EndIf
If GetCheck(RadionButton%[18]) = 1
EnableWindow RadionButton%[16], 0
EnableWindow RadionButton%[17], 0
EndIf
endif
Case %scankey = 27 : Break
EndWhile
endproc
proc hautprgramm_end
@DestroyWindow(%hwnd)
endproc
'Hauptprogramm
hauptprogramm_skin
hauptprogramm_run
hautprgramm_end
end
Die Radiobuttons kann man ja bei einem neuen Spiel in einer Schleife wieder aktivieren. Bei verschiedenen Spielen muß man halt alles in Arrays oder Listen halten(Fragetext, Antworten, Lösungen). Mit SetText RadionButton%[x], "neuer Text" oder SetText Rahmen%[1], "neue Frage" kannst du dann die Fragen und Radiobutton-Texte ändern.
Aber vielleicht hat noch jemand eine Idee. |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 25.02.2014 ▲ |
| |
| | diimool25 | Danke !
weißt du vielleicht wie ich es hinbekomme das wenn ich auf löschen klicke das denn die makieungen die ich gemacht habe weg gehen ? |
| | | | |
| | H.Brill | | | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 25.02.2014 ▲ |
| |
| | diimool25 | Noch eine Frage ich möchte das sich vorher eine messagebox öffnet und fragt ob man das starten will soweit habe ich es geschafft bei ja geht alles nur wenn ich nein klicke öffnet sich das gleich nochmal also ich habe es in ner whilenot schleife so :
Clear Ende%
WhileNot Ende%
Knopf% = @MessageBox ("Willst Du das Quiz starten?", "",292)
Case Knopf% = 6 : Ende% = 1 EndWhile
wie bekome ich es hin das wenn ich auf nein klicke es sich schließt ? |
| | | | |
| | Nico Madysa | Hi,
wenn du möchtest, dass die Messagebox nur einmal erscheint, egal was der Nutzer wählt, darf die Box nicht in einer Schleife sein.
Ein besserer Ansatz wäre es, das Quiz in eine Prozedur zu verlagern und die Prozedur aufzurufen, wenn der Nutzer "ja" wählt. KompilierenMarkierenSeparieren |
| | | | |
| | diimool25 | Danke |
| | | | |
| | diimool25 | Wie kann ich das machen das ich noch andere fragen machen kann also wenn ich auf enien button klicke öffnen sich andere fragen ? |
| | | | |
| | diimool25 | Danke aber habe jetzt selber eine ösung gefunden |
| | | | |
| | diimool25 | Kann mir einer sagen wie ich das machen kann das mir gesagt wird du hast 3 von 6 richtig ? |
| | | | |
|
AntwortenThemenoptionen | 16.876 Betrachtungen |
ThemeninformationenDieses Thema hat 4 Teilnehmer: |