Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 How do I make a Radio button quiz?
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Yoda




PostPosted: Fri Nov 12, 2004 12:23 pm   Post subject: How do I make a Radio button quiz?

View.Set ("graphics:350;80")

var radio : array 1 .. 6 of int
% The radio button IDs.

procedure RadioPressed
Text.Locate (1, 1)
put "Radio Button " ..
for i : 1 .. 6
if radio (i) = GUI.GetEventWidgetID then
put i ..
end if
end for
put " Selected"
end RadioPressed

radio (1) := GUI.CreateRadioButton (15, maxy <<<35>>>,
<<<"Radio Button 1">>>, 0, RadioPressed)
radio (2) := GUI.CreateRadioButton (1, 1, "Radio Button 2",
radio (1), RadioPressed)
radio (3) := GUI.CreateRadioButton (1, 1, "Radio Button 3",
radio (2), RadioPressed)
radio (4) := GUI.CreateRadioButtonFull (maxx <<<15>>>, maxy 35,
<<<"Radio Button A (Shortcut: 'a')">>>, 0, RadioPressed,
GUI.RIGHT, 'a')
radio (5) := GUI.CreateRadioButtonFull (1, 1,
"Radio Button B (Shortcut: 'b')", radio (4), RadioPressed,
GUI.RIGHT, 'b')
radio (6) := GUI.CreateRadioButtonFull (1, 1,
"Radio Button C (Shortcut: 'c')", radio (5), RadioPressed,
GUI.RIGHT, 'c')

loop
exit when GUI.ProcessEvent
end loop

-----

This doesn't work, and I have put the mistakes in tags (<<< "text" >>>). Tell me what you think should solve this problem of mine.
Sponsor
Sponsor
Sponsor
sponsor
bass_maniac




PostPosted: Mon Nov 15, 2004 8:47 pm   Post subject: (No subject)

You should add import GUI at the beginning. Like this,

code:
import GUI
View.Set ("graphics:350;80")
(etc....)
Yoda




PostPosted: Tue Nov 16, 2004 10:55 am   Post subject: (No subject)

[code]import GUI
View.Set ("graphics:550;300")

%The score counter
var count: int

var radio : array 1 .. 4 of int
% The radio button IDs.

procedure RadioPressed
Text.Locate (1, 1)
put "Time for the " ..
for i : 1 .. 4
if radio (i) = GUI.GetEventWidgetID then
put i ..
end if
end for
put " Selected "
end RadioPressed


radio (1) := GUI.CreateRadioButton (1, 100, "", 0, RadioPressed)
radio (2) := GUI.CreateRadioButton (1, 125, "", radio (1), RadioPressed)
radio (3) := GUI.CreateRadioButton (1, 150, "", radio (2), RadioPressed)
radio (4) := GUI.CreateRadioButton (1, 175, "", radio (3), RadioPressed)

loop
exit when GUI.ProcessEvent
end loop [/code]

Ok, so, I have that down, but now I need a system to keep score of how many times to person taking the quiz gets a question correct. How would I do this with the program above?
bass_maniac




PostPosted: Tue Nov 16, 2004 5:53 pm   Post subject: (No subject)

This doesn't work and I don't know why. Basically you set the number of questions with the answers array and set what button is the correct answer. So the first time they click a button it checks to see if the button clicked matches the correct one. If it does then the score is increased by one and a message is displayed. The questionNum is also increased by one.

I repeat that this doesn't work, but maybe it'll give you an idea, or maybe you can figure out why it doesn't.

code:
import GUI
View.Set ("graphics:550;300")

%The score counter
var count : int
% The radio button IDs.
var radio : array 1 .. 4 of int
%The score
var answers : array 1 .. 10 of int := init (3, 3, 2, 4, 2, 3, 1, 4, 2, 4) %These are the answers to the questions
                 %Change ^ to however many questions you have
var score := 0
var questionNum := 1

procedure RadioPressed
        if answers (questionNum) = GUI.GetEventWidgetID then %If the button clicked = the correct button then
            locate (1, 1)
            put "You got it right!"
            score += 1
        else
            locate (1, 1)
            put "You got it wrong!"
        end if
        questionNum += 1
end RadioPressed

radio (1) := GUI.CreateRadioButton (1, 100, "", 0, RadioPressed)
radio (2) := GUI.CreateRadioButton (1, 125, "", radio (1), RadioPressed)
radio (3) := GUI.CreateRadioButton (1, 150, "", radio (2), RadioPressed)
radio (4) := GUI.CreateRadioButton (1, 175, "", radio (3), RadioPressed)

loop
    exit when GUI.ProcessEvent
end loop
Yoda




PostPosted: Wed Nov 17, 2004 10:25 am   Post subject: (No subject)

[code]import GUI
View.Set ("graphics:550;300")

%The score counter
var count : int
% The radio button IDs.
var radio : array 1 .. 4 of int
%The score
var answers : array 1 .. 10 of int := init (3, 3, 2, 4, 2, 3, 1, 4, 2, 4) %These are the answers to the questions
%Change ^ to however many questions you have
var score := 0
var questionNum := 1

procedure RadioPressed
if answers (questionNum) = GUI.GetEventWidgetID then %If the button clicked = the correct button then
locate (1, 1)
put "You got it right!"
score += 1
else
locate (1, 1)
put "You got it wrong!"
end if
questionNum += 1
end RadioPressed

put "Welcome to the Science Fiction Quiz of Doom!"
delay (500)
put ""
put "When you think you have the correct answer click on the radio buttonthat represents it"
delay (1000)
put ""
put "May the force be with you and may Obi Wan Watch over you"
put ""
delay (1000)
put "First question: What was William Gibson's first novel?"
put ""
delay (1000)
radio (1) := GUI.CreateRadioButton (1, 75, "Pattern Recognition", 0, RadioPressed)
radio (2) := GUI.CreateRadioButton (1, 100, "Virtual Light", radio (1), RadioPressed)
radio (3) := GUI.CreateRadioButton (1, 125, "Neuromancer", radio (2), RadioPressed)
radio (4) := GUI.CreateRadioButton (1, 150, "Dune", radio (3), RadioPressed)

loop
exit when GUI.ProcessEvent
end loop[/code]

Hmmm....

Well, that's what I've changed it to, not much of a difference, just words and garbage. Giving the buttons a value seems to be really difficult, and I honestly can't figure out why. If someone can see the solution to this problem, please, please, please post it.
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 5 Posts ]
Jump to:   


Style:  
Search: