PennController for IBEX › Forums › Support › Can we randomize time with newTimer() ? › Reply To: Can we randomize time with newTimer() ?
Dear Jeremy,
Thank you for your kind answer as always. I’ve went through what we’ve discussed and I wasn’t able to notice before that the 4000 timeout trial had, indeed, the same formula as the original paper had (D1 + D2 + D3 + DRt + DWait = 4000 equals DWait = 3500 – D1 – DRT), I’m so sorry I took your time for trying to explaining that to me, but I really appreaciate your kindness, so, thank you once more. and thank you more going over the alternative method, I didn’t have a clue about using the Java option, so i’m sure that will contribuite for my future codes! I’ve already updated the whole model with the 4000 timeout approach, I only have 2 final concerns:
In order to use this approach to the practice trial, I’ve ajusted the Wait timer to 6000, not 4000, since the feedback takes 2000ms, like this:
//////////////////////////////////////////trial_1 - no_cue// PARA CIMA/LEFT//////////////////////////////////////////////////////
Template("tabela-target_left.csv" , row =>
newTrial("p_trial_1_no_cue_UP",
defaultText
.center()
.cssContainer({"position": "absolute",
"top": "50%",
"left": "50%",
"transform": "translate(-50%, +50%)"})
.print()
,
newTimer("wait-separacao",6000).start()
,
newText("D1", " <br> <b>+</b>")
.cssContainer({
"font-size":"100px",
"color":"blue"})
.center()
.print()
,
newTimer("timer-D1",400+Math.round(1200*Math.random()))
.start()
.wait()
,
getText("D1")
.remove()
,
newText("cue", "<br> <b>+</b>")
.cssContainer({
"font-size":"100px",
"color":"green"})
.center()
.print()
,
newTimer("timer_cue_D2",100)
.start()
.wait()
,
getText("cue","D2")
.remove()
,
newText("D3", "<br> <b>+</b>")
.cssContainer({
"font-size":"100px",
"color":"pink"})
.center()
.print()
,
newTimer("timer_D3",400)
.start()
.wait()
,
getText("D3")
.remove()
,
newTimer("timer-RT",1700).start()
,
newImage("imagens", row.imagem)
.size(500, 200)
,
newText("cruz_central", "<br> <b>+</b>")
.cssContainer({
"font-size":"100px",
"color":"black"})
.center()
.print()
,
//para cima//
newCanvas("center", 150,150)
.add( "center at 50%" , "center at 50%" , getImage("imagens"))
.cssContainer({
"position": "absolute",
"margin-top": "85px"})
.center()
.log()
.print()
,
newVar("localRT").set(v=>Date.now()),
newKey("keypress1","SK")
.log()
.callback( getTimer("timer-RT").stop() )
,
getTimer("timer-RT").wait()
,
getKey("keypress1").disable(),
getText("cruz_central").remove()
,
getCanvas("center").remove()
,
getVar("localRT").set(v=>Date.now()-v),
newVar("practiceRTs",[]).global().set(v=>[...v,getVar("localRT").value])
,
newVar("accurate", []).global()
,
getKey("keypress1")
.test.pressed("S")
.success(
newVar("positiveFeedback").set( getVar("localRT") ).set( v=> "Correto! Você demorou "+v+"ms para responder" )
,
newText("success")
.text( getVar("positiveFeedback") )
.cssContainer({"font-size":"30px", "text-align":"center", "margin-top":"255px","font-family":"Comic Sans MS", "color":"green","white-space":"nowrap"})
,
getVar("accurate").set(v=>[...v,true])
)
.failure(
newVar("negativeFeedback").set( getVar("localRT") ).set( v=> "Incorreto! Você demorou "+v+"ms para responder" )
,
newText("failure")
.text( getVar("negativeFeedback") )
.cssContainer({"font-size":"30px", "text-align":"center", "margin-top":"255px","font-family":"Comic Sans MS", "color":"red","white-space":"nowrap"})
,
getVar("accurate").set(v=>[...v,false])
)
,
newTimer("wait-success",2000) //timer for the success or failure messenge
.start()
.wait()
,
getText("success")
.remove()
,
getText("failure")
.remove()
,
newText("separacao", "<br> <b>+</b>")
.cssContainer({
"font-size":"100px",
"color":"yellow"})
.center()
.print()
,
getTimer("wait-separacao").wait()
));
It seems to me that it’s working just fine, I’d just like to check if the math is right, is it?
Btw, I wasn’t able to fiz the “come back” button as you’ve explained me to do, it keeps on duplicating the trials, I’m sure I’ve did something wrong, but I don’t know what:
newText("instructions-14","<p><center> Se você quiser praticar de novo, clique aqui:")
.cssContainer({
"font-size":"22px",
"text-align": "center"
})
.center()
.print()
,
newVar("practiceRTs").set( [] ) // --------------------------------- here (I've tried to put it before the jumping inside the callback(), but it didn't work too (I probably did sth wrong, though)
,
newButton("come back","PRATICAR DE NOVO")
.callback(jump(startsWith("p_trial")) , end() )
.css("margin","1.5em")
.center()
.print()
best,
-
This reply was modified 3 years, 7 months ago by
Larissa_Cury. Reason: add relevant information to the post