Hi Jeff,
If you know in advance that you want 10 trials to use column 2 (let’s call it “Joke”) and 10 to use column 3 (let’s call it “NonJoke”) you can simply generate an array of 20 entries, half true
half false
, shuffle that array and scan it within Template
:
Sequence( rshuffle("trial-joke","trial-non-joke") )
var jokings = [...new Array(20)].map((v,i)=>i<10);
fisherYates(jokings);
var joking;
Template( row =>
newTrial( "trial-" + ((joking=jokings.pop()) ? "joke" : "non-joke") ,
newText( "prompt" , ( joking ? row.Joke : row.NonJoke ) ).print()
// ...
)
.log( "joking" , joking )
)
Jeremy