EN
|
|
Group: Forum Members
Posts: 30,
Visits: 177
|
+x+x+x+x+x+x+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN If you want or need IQX, then that's just a matter of replacing the curly braces with square brackets for the /onTrialEnd attribute. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = [ values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; ] /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Thanks, Dave! I wonder if there is any fundamental difference in terms of performance --or some other important functionality-- between IQX and IQJS? (I'm sticking for now with IQX to ensure backward compatibility with the Inquisit 6 Web License I have) Best, EN IQJS offers much expanded functionality. But since you only have an Inquisit 6 licenses, you need to stick with IQX, unless you plant to upgrade. If you stick with Inquisit 6, you should also post any questions going forward in the Inquisit 6 section of the forum. Thanks for letting me know -- and apologies for posting to the wrong section!! Best, EN No apoogies necessary. The reason I mentioned it is to avoid frustration as well as wasting time and effort. When you ask in the Inquisit 7 forum, you are going to get something that works under Inquisit 7. Sometimes that will happen to also work under Inquisit 6, but other times it won't. IQJS code is new to Inquisit 7 and will not work under Inquisit 6 at all. Depending on how complex it is, porting it to IQX can be a lot of work and the worst case is it won't be possible to port at all. So, if you know or strongly suspect you are going to need Inquisit 6 compatible code, please use the Inquisit 6 forum. Then everybody knows what you need and won't give you answers that may only apply to Inquisit 7, but not Inquisit 6. Makes total sense, thanks! E
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
+x+x+x+x+x+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN If you want or need IQX, then that's just a matter of replacing the curly braces with square brackets for the /onTrialEnd attribute. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = [ values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; ] /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Thanks, Dave! I wonder if there is any fundamental difference in terms of performance --or some other important functionality-- between IQX and IQJS? (I'm sticking for now with IQX to ensure backward compatibility with the Inquisit 6 Web License I have) Best, EN IQJS offers much expanded functionality. But since you only have an Inquisit 6 licenses, you need to stick with IQX, unless you plant to upgrade. If you stick with Inquisit 6, you should also post any questions going forward in the Inquisit 6 section of the forum. Thanks for letting me know -- and apologies for posting to the wrong section!! Best, EN No apoogies necessary. The reason I mentioned it is to avoid frustration as well as wasting time and effort. When you ask in the Inquisit 7 forum, you are going to get something that works under Inquisit 7. Sometimes that will happen to also work under Inquisit 6, but other times it won't. IQJS code is new to Inquisit 7 and will not work under Inquisit 6 at all. Depending on how complex it is, porting it to IQX can be a lot of work and the worst case is it won't be possible to port at all. So, if you know or strongly suspect you are going to need Inquisit 6 compatible code, please use the Inquisit 6 forum. Then everybody knows what you need and won't give you answers that may only apply to Inquisit 7, but not Inquisit 6.
|
|
|
EN
|
|
Group: Forum Members
Posts: 30,
Visits: 177
|
+x+x+x+x+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN If you want or need IQX, then that's just a matter of replacing the curly braces with square brackets for the /onTrialEnd attribute. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = [ values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; ] /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Thanks, Dave! I wonder if there is any fundamental difference in terms of performance --or some other important functionality-- between IQX and IQJS? (I'm sticking for now with IQX to ensure backward compatibility with the Inquisit 6 Web License I have) Best, EN IQJS offers much expanded functionality. But since you only have an Inquisit 6 licenses, you need to stick with IQX, unless you plant to upgrade. If you stick with Inquisit 6, you should also post any questions going forward in the Inquisit 6 section of the forum. Thanks for letting me know -- and apologies for posting to the wrong section!! Best, EN
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
+x+x+x+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN If you want or need IQX, then that's just a matter of replacing the curly braces with square brackets for the /onTrialEnd attribute. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = [ values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; ] /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Thanks, Dave! I wonder if there is any fundamental difference in terms of performance --or some other important functionality-- between IQX and IQJS? (I'm sticking for now with IQX to ensure backward compatibility with the Inquisit 6 Web License I have) Best, EN IQJS offers much expanded functionality. But since you only have an Inquisit 6 licenses, you need to stick with IQX, unless you plant to upgrade. If you stick with Inquisit 6, you should also post any questions going forward in the Inquisit 6 section of the forum.
|
|
|
EN
|
|
Group: Forum Members
Posts: 30,
Visits: 177
|
+x+x+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN If you want or need IQX, then that's just a matter of replacing the curly braces with square brackets for the /onTrialEnd attribute. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = [ values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; ] /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Thanks, Dave! I wonder if there is any fundamental difference in terms of performance --or some other important functionality-- between IQX and IQJS? (I'm sticking for now with IQX to ensure backward compatibility with the Inquisit 6 Web License I have) Best, EN
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
+x+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN If you want or need IQX, then that's just a matter of replacing the curly braces with square brackets for the /onTrialEnd attribute. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = [ values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; ] /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
|
|
|
EN
|
|
Group: Forum Members
Posts: 30,
Visits: 177
|
+x+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
Hello Dave, that does it, thank you very much! (as a side note for people potentially interested in using this code in the future, the file must be saved as an .iqjs file. I initially saved it as an .iqx but it didn't work on Inquisit 7.0.3 Mac OS version) EN
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 108K
|
+xHello, My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice. Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is??? If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance! EN --- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage> <checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes> <checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes> // <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text> <trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial> <block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block> The /timeout attribute is available for surveyPage elements, so there's no problem to implement the time constraint. https://www.millisecond.com/support/docs/current/html/language/attributes/timeout.htmAnd checkboxes expose properties -- selectedCount -- to determine how many options have been checked. You can add these up as needed. <values> / boxesChecked = 0 </values>
<surveypage calibration_surveypage1> / onTrialEnd = { values.boxesChecked = checkboxes.row1.selectedCount + checkboxes.row2.selectedCount + checkboxes.row3.selectedCount + checkboxes.row4.selectedCount + checkboxes.row5.selectedCount; } /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) / timeout = 10000 // 10 seconds </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> / postInstructions = (end) /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
<page end> ^<%values.boxesChecked%> boxes selected in 10 seconds. </page>
|
|
|
EN
|
|
Group: Forum Members
Posts: 30,
Visits: 177
|
Hello,
My main task involves clicking a predetermined number of boxes within a fixed time window of 10 seconds, on each trial. Because there are individual differences in clicking speed, and because we want to adjust for task difficulty based on such differences, before the main task, participants will be requested to click as many boxes as possible (in order) out of a total of 50 boxes that are displayed on a regular grid, under the same time constraint (10 s). They will perform that twice.
Because the task involves clicking boxes, my first thought was to use <checkboxes> as in the sample code below. However, I'm starting to realize that is probably not the best approach, since I guess there is no easy way to apply the time constraint and/or retrieve the number of boxes that were clicked... Or maybe there is???
If this is a deadend, I would love to hear suggestions on how to best accomplish this! Any help would be greatly appreciated. Thank you very much in advance!
EN
--- <surveypage calibration_surveypage1> /caption = "GO!" /questions = [1-5=sequence(row1, row2, row3, row4, row5)] / itemfontstyle = ("Arial", 2.00%, false, false, false, false, 5, 1) / itemspacing = 0.0% / showpagenumbers = false / showbackbutton = false / showquestionnumbers = false / responsefontstyle = ("Arial", 2.0%, false, false, false, false, 5, 1) </surveypage>
<checkboxes row1> / caption=" " / options=("1", "2", "3", "4", "5", "6", "7", "8", "9", "10") / optionvalues = ("1", "2", "3", "4","5", "6", "7", "8", "9", "10") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row2> / caption=" " / options=("11", "12", "13", "14", "15", "16", "17", "18", "19", "20") / optionvalues = ("11", "12", "13", "14","15", "16", "17", "18", "19", "20") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row3> / caption=" " / options=("21", "22", "23", "24", "25", "26", "27", "28", "29", "30") / optionvalues = ("21", "22", "23", "24","25", "26", "27", "28", "29", "30") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row4> / caption=" " / options=("31", "32", "33", "34", "35", "36", "37", "38", "39", "40") / optionvalues = ("31", "32", "33", "34","35", "36", "37", "38", "39", "40") / required = true / orientation = horizontalequal </checkboxes>
<checkboxes row5> / caption=" " / options=("41", "42", "43", "44", "45", "46", "47", "48", "49", "50") / optionvalues = ("41", "42", "43", "44","45", "46", "47", "48", "49", "50") / required = true / orientation = horizontalequal </checkboxes>
// <text boxes_calibration_intro> /items = ("<center>Click as many boxes as possible in 10 seconds (in the correct order).<br>This task will be shown 2 times.<br>When you are ready to start, press <b>[space]</b>.</center>") </text>
<trial boxes_calibration_show> /stimulusFrames = [1=boxes_calibration_intro] /inputdevice = keyboard /validresponse = (" ") </trial>
<block boxes_calibration_block> //trials = [1=boxes_calibration_show; 2=calibration_surveypage1; 3=calibration_intermezzo; 4=calibration_surveypage2] /trials = [1=boxes_calibration_show; 2=calibration_surveypage1] </block>
|
|
|