Skipping Trials

PennController for IBEX Forums Support Skipping Trials

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #7572
    girlflamee
    Participant

    Hi Jeremy,
    It appears that my experiment is skipping the last two trials of my experiment, which are a debriefing (“final”) and a thank you (“thanks”) page. I have included these in the sequence order but it just appears to send results after the (“real”) trial.
    I have sent my experiment link to the support@pcibex.net email. I would greatly appreciate it if you took a look.

    Thanks.

    #7575
    Jeremy
    Keymaster

    Hi,

    The trials are not skipped, they are just executed very quickly, because you didn’t include any wait command. You probably want to replace .test.clicked() with .wait() in the “final” trial, and add something to your “thanks” trial so your participants have time to read the message (eg. a Button element with .wait() too) and can then move on to the next trial in your sequence, labeled “sendd”, which will send the results to the server

    Jeremy

    #7578
    girlflamee
    Participant

    Hi,
    I completely removed the “thanks” trial, and I added in the .wait() command to both the “Yes I consent” button and “No, I do not consent” button. If the .wait() command is on the Yes button, the No button is not there, understandably so. Once I click on the Yes button, the No button appears. However, if after this I want to click on the yes button, it will not send results, and only do so if I click on the no button.

    If I only add the .wait() command to the No button, both buttons appear once the trial starts. However again, results are only sent if I click on the no button, and not the yes.

    Here is a sample of the experiment:

    newTrial ("final" ,
        newText("<p> Thank you for participating in this experiment!</p>")
            .center()
            .print()
        ,
        newText("<p> Deleted  </p>")
            .center()
            .print()
        , 
        newText("<p> Deleted </p>")
            .center()
            .print()
        , 
        newText("<p> Now that you know the true purpose of this experiment, do you consent to having your anonymous data collected by the experimenter? </p>")
            .center()
            .print()
        , 
        newButton("Yes, I consent")
            .left()
            .print()
        , 
        newButton("No, I do not consent")
            .right()
            .print()
            .wait()
        
        )
    SendResults("sendd")
    #7580
    Jeremy
    Keymaster

    Hi,

    You can use a Selector element to group clickable elements:

    newCanvas("20em", "3em")
      .add( "left at 0%"    , "middle at 50%", newButton("yes", "Yes, I consent") )
      .add( "right at 100%" , "middle at 50%", newButton("no", "No, I do not consent") )
      .center()
      .print()
    ,
    newSelector("yesno")
      .add( getButton("yes")  , getButton("no") )
      .wait()
      .test.selected( getButton("yes") )
      .failure( clear() , newText("Oh well").center().print() , newTimer(1).wait() )  // stay on page

    Jeremy

    #7581
    girlflamee
    Participant

    This works great! Thank you so much 🙂

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.