var chosBandit = [] roundInfoInit = [[0, 1], [1, 0], [2, 3], [3, 2]] var roundInfo = []; function push(fromArray, toArray) { for(let i = 0, len = fromArray.length; i < len; i++) { toArray.push(fromArray[i]); } return toArray; } for (let t = 0; t < 46; t++){ push(roundInfoInit, roundInfo) } var randRoundInfo = jsPsych.randomization.shuffle(roundInfo); console.log(randRoundInfo) var trialInfo = []; var condition = []; var initCondition = [0, 1, 2, 3]; var currentCondition = []; var actualRewardLeft = 0; var actualRewardRight = 0; for (let i = 0; i < 46; i++){ var randCondition = jsPsych.randomization.shuffle(initCondition); push(randCondition, condition); } condition.pop() condition.pop() var consensusCond = [] var initConsCond = [1,0,0,0,0,0,0,0,0,0] for (let i = 0;i<18;i++){ //NEW VERSION var randConsCond = jsPsych.randomization.shuffle(initConsCond) push(randConsCond,consensusCond) } var conditionZip = condition.map(function(e, i) { // zips condition and consensusCond([0] is condition, [1] is whether one of prev gambs agrees (10%) return [e, consensusCond[i]]; }); var probeCondInit = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, //NEW VERSION 180 + 36(probe) = 216 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0] probeCondGroupInit = [1,0,0,0,0,0] var randProbeCondition = [] for (let i = 0;i<36;i++){ //NEW VERSION var probeCondInit = jsPsych.randomization.shuffle(probeCondGroupInit) push(probeCondInit,randProbeCondition) } numTrials = 0 numTrialsAll = 0 var randPlayerProbe = [] var playerProbeInit = [0, 1, 2] //for (let i = 0;i<42;i++) { for (let i = 0;i<76;i++) { //NEW VERSION var randPlayerProbeInit = jsPsych.randomization.shuffle(playerProbeInit); push(randPlayerProbeInit, randPlayerProbe) } var screen_height = window.screen.height; var screen_width = window.screen.width; imagesInit = ['star', 'diamond', 'gear', 'moon'] console.log('imagesInit', imagesInit) var images = ["../static/images/star.png", "../static/images/diamond.png", "../static/images/gear.png", "../static/images/moon.png"]; // 1 is a nonMaj trial, 2 is a flip trial var gamblersInit = [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] var gamblers = jsPsych.randomization.shuffle(gamblersInit) console.log(gamblers) var gamblersMaj = [] var gamblersNonMaj = [] var gamblersMajChoices = [[18, 2], [16, 4], [14, 6]] var gamblersNonMajChoices = [[12, 8], [10, 10]] for (let i = 0;i<62;i++) { var gamblersMajInit = jsPsych.randomization.shuffle(gamblersMajChoices); push(gamblersMajInit, gamblersMaj) } for (let i = 0;i<7;i++) { var gamblersNonMajInit = jsPsych.randomization.shuffle(gamblersNonMajChoices); push(gamblersNonMajInit, gamblersNonMaj) } var cellColorsInit = ["IndianRed", "SkyBlue", "PaleGreen", "LemonChiffon"] var cellColors = jsPsych.randomization.shuffle(cellColorsInit); console.log(cellColors) var k = 0 //for (let i = 0; i < 6; i++) { for (let j = 0; j < 4; j++) { var pre_rating_procedure = { timeline: [ { type: 'html-slider-response', labels: ['0 (Not at all)', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10 (Extremely)'], stimulus: function () { return "

How pleasant do you find this image?

" + " " }, on_finish: function (data) { // Record data in csv file var currentPreRating = data.response data.preRating = currentPreRating data.postRating = NaN data.rewValLeft = NaN data.rewValRight = NaN data.trialNum = 1001 + k data.currRoundLeft = NaN data.currRoundRight = NaN data.roundColor = NaN data.slotChoice = NaN data.gambChooseLeft = NaN data.gamblersLeftNums = NaN data.gamblersRightNums = NaN data.roundConditionLeft = NaN data.roundConditionRight = NaN data.probeCondition = NaN data.currentProbeCond = NaN data.randPlayerTrial = NaN data.preTrialNum = k + 1 data.postTrialNum = NaN //data.preTrialNum = i + j + 1 data.RT = data.rt data.Debrief = NaN data.Consent = NaN console.log(data.preRating, data.slotChoice) k = k + 1 } }, fixationPre ] } experiment.push(pre_rating_procedure) } //} var currImgLeft = [] var currImgRight = [] var currentRound = 0 var gamblersLeftNum var gamblersRightNum var rewardRight = 0 var rewardLeft = 0 var currentProbeCond = [] var currentRoundProbe var currentConditionProbe var currentConditionProbeSave var randPlayerTrial = 0 var trialZeroCond = 0 var trialOneCond = 0 var condShuffle = 0 //var trialTwoChoicesHigh = 0 //var trialTwoChoicesLow = 0 var randPlayer = 0 var leftSelection = 0 var randProbeImageArrayInit = [0, 1, 2, 3] var randProbeImageArray var randProbeImage var trialZeroChoices = [0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2]; var trialOneChoices = [1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3]; var trialTwoChoices = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1] var trialTwoChoicesHighLeft = [0, 2, 0, 2, 0, 3, 0, 3, 1, 2, 1, 2, 1, 3, 1, 3] // 8 trials var trialTwoChoicesLowLeft = [2, 0, 2, 0, 3, 0, 3, 0, 2, 1, 2, 1, 3, 1, 3, 1] // 8 trials var trialTwoDecide var trialTwoChoicesLeft var trialTwoChoicesRight var trialZeroCondInit var trialOneCondInit var gamblersCurrentShift var rewLeft = 0 var rewRight = 0 var rewVal = 0; var responseTime;