Reply To: DashedSentence in a PennController trial

PennController for IBEX Forums FAQ / Tips DashedSentence in a PennController trial Reply To: DashedSentence in a PennController trial

#5700
Jeremy
Keymaster

Hello,

You should probably write your sentences in your table using underscores (_) instead of spaces (or instead of wildcard * if this is what you’ve been using) inside chunks, and reserve space characters to delimit the chunks. For example: This_is_the_first_chunk and_this_is_the_second_chunk. Then just inject the native-Ibex DashedSentence controller, like this:

//Introduction screen with button
newTrial(
    newText("intro", "These are the instructions. Click to start.")
        .print()
        ,
    newButton("Start")
        .print()
        .wait()
        .remove()
);

//Experimental task with in place self-paced reading followed by a comprehension question. Sentence and question are pulled from the table. 
Template(variable =>     
    newTrial(
        newText("test", "Press space bar to read the sentence.")
            .css("color", "red")
            .css("font-syle", "italic")
            .css("line-height", "1.5")
            .print()
        ,
        newText("test", "Press <b>A</b> for true. Press <b>L</b> for false.")
            .css("font-syle", "italic")
            .css("line-height", "1.5")
            .print()
        ,
        newController("DashedSentence", {s: variable.Sentence, display: "in place", hideUnderscores: true})
            .print()
            .log()
            .wait()
            .remove()
        ,
        newText("cq", variable.Question)
            .css("line-height", "2.5")
            .print()
        ,
        newKey("AL")
            .log()
            .wait()
    )
);

Jeremy