PennController for IBEX › Forums › Support › Multiple choice buttons and recording responses › Reply To: Multiple choice buttons and recording responses
Hello!
Thank you!
So I managed to make the buttons work by changing them entirely to clickable pictures. As for the results, whenever I put a .log after one of the trials, my experiment stops working after the first test trial and when I remove them, it goes all the way to the end of the main experiment (as I want it to) but I don’t get a downloadable .csv file for each participant – instead I get their results in the raw_result/result files.
This is how the code is now set up, how/where would I put I put a .log function here to give me a downloadable output, and in the validation part towards the end, the link I’m supposed to put is the link to my experiment, yes?
PennController.ResetPrefix(null) Sequence( "welcome" , "trialintro", "trial1","trial2", "mainintro", randomize("experiment"), "send" , "final" ) newTrial("welcome", defaultText .print() , newText("<p>Welcome!</p>") , newText("<p>This is the first part of a two-part experiment.</p>") , newText("<p>In this <strong>Identification</strong> experiment, you will hear a series of words, and identify which of the four sounds <strong>p</strong>, <strong>b</strong>, <strong>f</strong> or <strong>v</strong> was heard.</p>") , newText("<p> The experiment will take you approximately 10-15 minutes and you will be compensated for your time appropriately.") , newText("<p>Please enter your name, ID (if relevant) and course code (if relevant) and then click the button below to start the experiment.</p>") , newText("<p> If the ID and course code's are not applicable, please insert <strong>N/A.</strong></p>") , newTextInput("inputID") .settings.before(newText("ID: ")) .center() .print() , newTextInput("inputName") .settings.before(newText("Name: ")) .center() .print() , newTextInput("inputCoursecode") .settings.before(newText("Course code: ")) .center() .print() , newButton("Start") .print() .wait() , newVar("ID") .global() .set( getTextInput("inputID") ) , newVar("Name") .global() .set( getTextInput("inputName") ) , newVar("Coursecode") .global() .set( getTextInput("inputCoursecode") ) ) .log( "ID" , getVar("ID") ) .log ("Name", getVar("Name")) .log ("Course code", getVar("Coursecode")) , newTrial("trialintro", defaultText .print() , newText("<p>We will begin with a trial.</p><p>You will hear a word, please identify the first <strong>or</strong> last sound you heard by choosing the appropriate sound.</p>") .settings.css("font-size", "xxem") , newButton("Continue to trial") .print() .wait() ) newTrial("trial1", newAudio("description", "but.mp3") .center() .print() .play() , newText("What sound did you hear?") .center() .print() , newImage('b' , 'b.png' ) .settings.size(211, 167) , newImage('p' , 'p.png' ) .settings.size(213, 170) , newImage('f' , 'f.png' ) .settings.size(205, 159) , newImage('v' , 'v.png' ) .settings.size(212, 173) , newCanvas( 'four letters', 700, 500) .settings.add( 128, 155, getImage('b'), 0 ) .settings.add( 0, 146, getImage('p'), 1 ) .settings.add( 257, 155, getImage('f'), 2 ) .settings.add( 382, 147, getImage('v'), 3 ) .center() .print() , newSelector('four letters') .settings.add( getImage('p') , getImage('b'), getImage('f'), getImage('v') ) .wait() .settings.log() , getAudio("description") .stop() .log() ) newTrial("trial2", newAudio("description", "peace.mp3") .center() .print() .play() , newText("What sound did you hear?") .center() .print() , newImage('b' , 'b.png' ) .settings.size(211, 167) , newImage('p' , 'p.png' ) .settings.size(213, 170) , newImage('f' , 'f.png' ) .settings.size(205, 159) , newImage('v' , 'v.png' ) .settings.size(212, 173) , newCanvas( 'four letters', 700, 500) .settings.add( 128, 155, getImage('b'), 0 ) .settings.add( 0, 146, getImage('p'), 1 ) .settings.add( 257, 155, getImage('f'), 2 ) .settings.add( 382, 147, getImage('v'), 3 ) .center() .print() , newSelector('four letters') .settings.add( getImage('p') , getImage('b'), getImage('f'), getImage('v') ) .wait() .settings.log() ) , newTrial("mainintro", defaultText .print() , newText("<p>We will now move to the main experiment.</p><p>You will hear a word, please identify the first <strong>or</strong> last sound you heard by choosing the appropriate sound.</p>") .settings.css("font-size", "xxem") , newButton("Continue to experiment") .print() .wait() ) Template( variable => newTrial("experiment", newAudio("description", variable.SoundFile) .play() , newText("What sound did you hear?") .center() .print() , newImage('b' , 'b.png' ) .settings.size(211, 167) , newImage('p' , 'p.png' ) .settings.size(213, 170) , newImage('f' , 'f.png' ) .settings.size(205, 159) , newImage('v' , 'v.png' ) .settings.size(212, 173) , newCanvas( 'four letters', 700, 500) .settings.add( 128, 155, getImage('b'), 0 ) .settings.add( 0, 146, getImage('p'), 1 ) .settings.add( 257, 155, getImage('f'), 2 ) .settings.add( 382, 147, getImage('v'), 3 ) .center() .print() , newSelector('four letters') .settings.add( getImage('p') , getImage('b'), getImage('f'), getImage('v') ) .wait() .settings.log() , getAudio("description") .wait("first") ) .log( "ID" , getVar("ID") ) .log ("Name", getVar("Name")) .log ("Course code", getVar("Coursecode")) .log( "CorrAns" , variable.CorrAns ) .log("Word", variable.SoundFile) ) SendResults("send") newTrial( "final" , newText("<p>Thank you for your participation!</p>") .print() , newText("<p><a href='https://expt.pcibex.net/ibexexps/chahlabena/Identification/experiment.html'>Click here to validate your participation.</a></p>") .print() , newButton("void") .wait() )
Thank you!