I downloaded the script for the Game of Dice Task off of the Inquisit website. However, participants' have brought to my attention that sometimes when they click an option that has "4" in it the task will roll the dice, land on a 4, and then not give them money. It'll take away money instead. Can anyone help me to figure out what's wrong with the script?
**************************************************************************************************************
**************************************************************************************************************
Game of Dice Task (GDT)
**************************************************************************************************************
**************************************************************************************************************
This script implements the 'Game of Dice Task' (GDT) as described in:
Brand, M., Fujiwara, E., Borsutzky, S., Kalbe, E., Kessler, J., & Markowitsch, H.J. (2005).
Decision-making deficits of Korsakoff patients in a new gambling task with explicit rules -
associations with executive functions. Neuropsychology, 19, 267–277.
**************************************************************************************************************
**************************************************************************************************************
Script Version: 0.9c (Beta)
Last Modified: 09-09-2009 at 2:14 PM (GMT+1)
**************************************************************************************************************
**************************************************************************************************************
Inquisit programming:
David Nitz (
nitz.david@gmail.com)
for Millisecond Software, LLC.
This script requires Inquisit 3.0.4.0 or greater.
Copyright (c) 2009 by Millisecond Software, LLC.
http://www.millisecond.com/**************************************************************************************************************
**************************************************************************************************************
Editable Task Parameters
**************************************************************************************************************
**************************************************************************************************************
nrounds: Number of rounds (must be a multiple of 6)
balance_total: Amount of points / Money at Task Onset
currency: Exchange "$" with "€", "£", "¥", etc.
gainone: Amount to be won/lost when betting on a
single number (e.g. "3")
gaintwo: Amount to be won/lost when betting on a
combination of two numbers (e.g. "5 or 6")
gainthree: Amount to be won/lost when betting on a
combination of three numbers (e.g. "1 or 2 or 3")
gainfour: Amount to be won/lost when betting on a
combination of four numbers (e.g. "2 or 3 or 4 or 5")
The remaining entries are updated at runtime and should not be changed!
**************************************************************************************************************
**************************************************************************************************************
<values>
/ nrounds = 30
/ balance_total = 1000
/ currency = "$"
/ gainone = 1000
/ gaintwo = 500
/ gainthree = 200
/ gainfour = 100
/ currentbet = 0
/ currentround = 0
/ response = 0
/ outcome = 0
/ sign = "+/-"
/ feedbackswitch = 1
/ stopblock = 0
/ pickone = 0
/ picktwo = 0
/ pickthree = 0
/ pickfour = 0
/ advantageous = 0
/ disadvantageous = 0
/ wins = 0
/ losses = 0
</values>
**************************************************************************************************************
**************************************************************************************************************
Counter for Simulating Dice Throws
**************************************************************************************************************
**************************************************************************************************************
<counter rolldice>
/ items = (1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6)
/ select = noreplace
/ selectionrate = trial
</counter>
**************************************************************************************************************
**************************************************************************************************************
The task has 18 rounds by default.
**************************************************************************************************************
**************************************************************************************************************
For 12 rounds: (1,2,3,4,5,6,1,2,3,4,5,6)
For 18 rounds: (1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6)
For 24 rounds: (1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6)
For 30 rounds: (1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6)
**************************************************************************************************************
**************************************************************************************************************
Task Instructions
**************************************************************************************************************
**************************************************************************************************************
<instruct>
/ windowsize = (75%, 75%)
/ finishlabel = "Click here!"
</instruct>
<page welcome>
^Welcome to the Game of Dice Task!
^^Please do not begin without the researcher's permission.
^^The researcher will give you instructions on how to complete the task.
^^Good luck!
</page>
<page end>
^^This concludes the Game of Dice Task.
^^Thanks for participating!
</page>
**************************************************************************************************************
**************************************************************************************************************
Custom Data Output
**************************************************************************************************************
**************************************************************************************************************
<data GDT>
/ columns = [date, time, subject, blocknum, blockcode, values.currentround, trialnum, trialcode,
latency, values.response, values.outcome, values.currentbet, values.balance_total,
values.pickone, values.picktwo, values.pickthree, values.pickfour,
values.advantageous, values.disadvantageous, values.wins, values.losses]
/ separatefiles = true
</data>
**************************************************************************************************************
**************************************************************************************************************
Default Screen & Input Settings
**************************************************************************************************************
**************************************************************************************************************
The program assumes a standard 4:3 screen ratio (e.g. 800x600 pixels, 1024x768 pixels).
To enforce this on systems with non-standard (e.g. widescreen) resolutions, add something
like '/ windowsize = (800px, 600px)' to the 'defaults' element.
**************************************************************************************************************
**************************************************************************************************************
<defaults>
/ minimumversion = "3.0.4.0"
/ screencolor = (grey)
/ fontstyle = ("Verdana", 3.0%, true, false, false, false, 5, 0)
/ txbgcolor = (transparent)
/ txcolor = (black)
/ inputdevice = mouse
</defaults>
**************************************************************************************************************
**************************************************************************************************************
Picture Stimuli
**************************************************************************************************************
**************************************************************************************************************
Pictures For Response Selection
**************************************************************************************************************
**************************************************************************************************************
<picture 1>
/ items = ("1.jpg")
/ size = (6%, 6%)
/ position = (3.5%, 66%)
/ erase = false
</picture>
<picture 2>
/ items = ("2.jpg")
/ size = (6%, 6%)
/ position = (16.5%, 66%)
/ erase = false
</picture>
<picture 3>
/ items = ("3.jpg")
/ size = (6%, 6%)
/ position = (29.5%, 66%)
/ erase = false
</picture>
<picture 4>
/ items = ("4.jpg")
/ size = (6%, 6%)
/ position = (42.5%, 66%)
/ erase = false
</picture>
<picture 5>
/ items = ("5.jpg")
/ size = (6%, 6%)
/ position = (55.5%, 66%)
/ erase = false
</picture>
<picture 6>
/ items = ("6.jpg")
/ size = (6%, 6%)
/ position = (68.5%, 66%)
/ erase = false
</picture>
<picture 12>
/ items = ("12.jpg")
/ size = (12%, 6%)
/ position = (10%, 74%)
/ erase = false
</picture>
<picture 34>
/ items = ("34.jpg")
/ size = (12%, 6%)
/ position = (36%, 74%)
/ erase = false
</picture>
<picture 56>
/ items = ("56.jpg")
/ size = (12%, 6%)
/ position = (62%, 74%)
/ erase = false
</picture>
<picture 123>
/ items = ("123.jpg")
/ size = (18%, 6%)
/ position = (23%, 82%)
/ erase = false
</picture>
<picture 456>
/ items = ("456.jpg")
/ size = (18%, 6%)
/ position = (49%, 82%)
/ erase = false
</picture>
<picture 1234>
/ items = ("1234.jpg")
/ size = (24%, 6%)
/ position = (10%, 90%)
/ erase = false
</picture>
<picture 2345>
/ items = ("2345.jpg")
/ size = (24%, 6%)
/ position = (36%, 90%)
/ erase = false
</picture>
<picture 3456>
/ items = ("3456.jpg")
/ size = (24%, 6%)
/ position = (62%, 90%)
/ erase = false
</picture>
<picture 1s>
/ items = ("1s.jpg")
/ size = (6%, 6%)
/ position = (3.5%, 66%)
/ erase = false
</picture>
<picture 2s>
/ items = ("2s.jpg")
/ size = (6%, 6%)
/ position = (16.5%, 66%)
/ erase = false
</picture>
<picture 3s>
/ items = ("3s.jpg")
/ size = (6%, 6%)
/ position = (29.5%, 66%)
/ erase = false
</picture>
<picture 4s>
/ items = ("4s.jpg")
/ size = (6%, 6%)
/ position = (42.5%, 66%)
/ erase = false
</picture>
<picture 5s>
/ items = ("5s.jpg")
/ size = (6%, 6%)
/ position = (55.5%, 66%)
/ erase = false
</picture>
<picture 6s>
/ items = ("6s.jpg")
/ size = (6%, 6%)
/ position = (68.5%, 66%)
/ erase = false
</picture>
<picture 12s>
/ items = ("12s.jpg")
/ size = (12%, 6%)
/ position = (10%, 74%)
/ erase = false
</picture>
<picture 34s>
/ items = ("34s.jpg")
/ size = (12%, 6%)
/ position = (36%, 74%)
/ erase = false
</picture>
<picture 56s>
/ items = ("56s.jpg")
/ size = (12%, 6%)
/ position = (62%, 74%)
/ erase = false
</picture>
<picture 123s>
/ items = ("123s.jpg")
/ size = (18%, 6%)
/ position = (23%, 82%)
/ erase = false
</picture>
<picture 456s>
/ items = ("456s.jpg")
/ size = (18%, 6%)
/ position = (49%, 82%)
/ erase = false
</picture>
<picture 1234s>
/ items = ("1234s.jpg")
/ size = (24%, 6%)
/ position = (10%, 90%)
/ erase = false
</picture>
<picture 2345s>
/ items = ("2345s.jpg")
/ size = (24%, 6%)
/ position = (36%, 90%)
/ erase = false
</picture>
<picture 3456s>
/ items = ("3456s.jpg")
/ size = (24%, 6%)
/ position = (62%, 90%)
/ erase = false
</picture>
**************************************************************************************************************
**************************************************************************************************************
Pictures for Dice Throw Results
**************************************************************************************************************
**************************************************************************************************************
<picture nodicepic>
/ items = ("0.jpg")
/ position = (18%, 28%)
/ size = (22%, 22%)
/ erase = false
</picture>
<picture dicepic>
/ items = dicepics
/ select = rolldice
/ position = (18%, 28%)
/ size = (22%, 22%)
/ erase = false
</picture>
<item dicepics>
/ 1 = "1.jpg"
/ 2 = "2.jpg"
/ 3 = "3.jpg"
/ 4 = "4.jpg"
/ 5 = "5.jpg"
/ 6 = "6.jpg"
</item>
**************************************************************************************************************
**************************************************************************************************************
Animation Stimuli
**************************************************************************************************************
**************************************************************************************************************
<video rollingdice>
/ items = ("rolldice.gif")
/ position = (18%, 28%)
/ size = (16.5%, 16.5%)
/ playthrough = false
/ erase = false
</video>
<sound rollsound>
/ items = ("rollsound.wav")
</sound>
<sound cashsound>
/ items = ("winsound.wav", "losesound.wav")
/ select = values.feedbackswitch
/ playthrough = true
</sound>
<shape statusscreen>
/ shape = rectangle
/ color = (black)
/ halign = right
/ size = (25%, 27.5%)
/ position = (98%, 28.5%)
/ erase = false
</shape>
<text winlose>
/ items = ("You win!", "You lose!")
/ select = values.feedbackswitch
/ halign = right
/ hjustify = center
/ vjustify = center
/ size = (25%, 10%)
/ position = (98%, 28%)
/ erase = false
</text>
<text statusplus>
/ items = ("+ <%values.wins%>")
/ txcolor = (green)
/ txbgcolor = (black)
/ halign = right
/ hjustify = left
/ size = (10%, 10%)
/ position = (88%, 22%)
/ erase = false
</text>
<text statusminus>
/ items = ("- <%values.losses%>")
/ txcolor = (red)
/ txbgcolor = (black)
/ halign = right
/ hjustify = right
/ size = (10%, 10%)
/ position = (93%, 22%)
/ erase = false
</text>
<text statusbigsign>
/ items = ("-")
/ fontstyle = ("Verdana", 20.0%, true, false, false, false, 5, 0)
/ txcolor = (green)
/ halign = right
/ hjustify = left
/ size = (20%, 10%)
/ position = (98%, 29%)
/ erase = false
</text>
**************************************************************************************************************
**************************************************************************************************************
Text Stimuli
**************************************************************************************************************
**************************************************************************************************************
<text round>
/ items = ("Round <%values.currentround%> of <%values.nrounds%>")
/ halign = right
/ hjustify = right
/ size = (25%, 5%)
/ txbgcolor = (grey)
/ position = (98%, 8%)
/ erase = false
</text>
<text sign>
/ items = ("<%values.sign%>")
/ halign = left
/ hjustify = left
/ vjustify = center
/ size = (25%, 10%)
/ position = (40%, 20%)
/ txcolor = (white)
/ erase = false
</text>
<text balance_winloss>
/ items = ("<%values.currentbet%> <%values.currency%>")
/ halign = left
/ hjustify = center
/ vjustify = center
/ size = (25%, 10%)
/ position = (40%, 20%)
/ txcolor = (white)
/ txbgcolor = (black)
/ erase = false
</text>
<text balance_currentbet>
/ items = ("<%values.currentbet%> <%values.currency%>")
/ halign = left
/ hjustify = center
/ vjustify = center
/ size = (25%, 10%)
/ position = (40%, 20%)
/ txcolor = (white)
/ txbgcolor = (black)
/ erase = false
</text>
<text current_sign>
/ items = ("+/-")
/ halign = left
/ hjustify = left
/ vjustify = center
/ size = (25%, 10%)
/ position = (40%, 20%)
/ txcolor = (white)
/ erase = false
</text>
<text balance_total>
/ items = ("<%values.balance_total%> <%values.currency%>")
/ fontstyle = ("Verdana", 4.0%, true, false, false, false, 5, 0)
/ halign = left
/ hjustify = center
/ vjustify = center
/ size = (25%, 10%)
/ position = (40%, 37%)
/ txcolor = (green)
/ txbgcolor = (black)
/ erase = false
</text>
<text currentbalance>
/ items = ("Current Balance")
/ halign = left
/ hjustify = left
/ size = (25%, 5%)
/ position = (40%, 8%)
/ erase = false
</text>
<text balance_gainloss>
/ items = ("Gain/Loss")
/ halign = left
/ hjustify = left
/ fontstyle = ("Verdana", 2%, true, false, false, false, 5, 0)
/ size = (25%, 3%)
/ position = (40%, 12%)
/ erase = false
</text>
<text dicetxt>
/ items = ("Dice")
/ halign = left
/ hjustify = left
/ size = (25%, 5%)
/ position = (1%, 8%)
/ erase = false
</text>
<text responseoptions>
/ items = ("Possible Combinations (click to select)")
/ halign = left
/ hjustify = left
/ size = (55%, 5%)
/ position = (1%, 58%)
/ erase = false
</text>
<text gainloss>
/ items = ("Gains/Losses")
/ halign = right
/ hjustify = right
/ size = (25%, 5%)
/ position = (98%, 58%)
/ erase = false
</text>
<text gainone>
/ items = ("<%values.gainone%> <%values.currency%>")
/ hjustify = right
/ size = (10%, 5%)
/ position = (93%, 66%)
/ erase = false
</text>
<text gaintwo>
/ items = ("<%values.gaintwo%> <%values.currency%>")
/ hjustify = right
/ size = (10%, 5%)
/ position = (93%, 74%)
/ erase = false
</text>
<text gainthree>
/ items = ("<%values.gainthree%> <%values.currency%>")
/ hjustify = right
/ size = (10%, 5%)
/ position = (93%, 82%)
/ erase = false
</text>
<text gainfour>
/ items = ("<%values.gainfour%> <%values.currency%>")
/ hjustify = right
/ size = (10%, 5%)
/ position = (93%, 90%)
/ erase = false
</text>
**************************************************************************************************************
**************************************************************************************************************
Trial Definitions
**************************************************************************************************************
**************************************************************************************************************
Pick a Response / Bet
**************************************************************************************************************
**************************************************************************************************************
<trial pick>
/ ontrialbegin = [values.currentround = values.currentround + 1]
/ ontrialbegin = [if(values.balance_total > 0)
text.balance_total.textcolor = green else text.balance_total.textcolor = red]
/ ontrialend = [values.response = trial.pick.response]
/ ontrialend = [if(trial.pick.response == 1 || trial.pick.response == 2 || trial.pick.response == 3
|| trial.pick.response == 4|| trial.pick.response == 5 || trial.pick.response == 6)
{values.currentbet=values.gainone; values.pickone = values.pickone + 1;
values.disadvantageous = values.disadvantageous + 1}]
/ ontrialend = [if(trial.pick.response == 12 || trial.pick.response == 34 ||
trial.pick.response == 56){values.currentbet=values.gaintwo;
values.picktwo = values.picktwo + 1; values.disadvantageous = values.disadvantageous + 1}]
/ ontrialend = [if(trial.pick.response == 123 || trial.pick.response == 456)
{values.currentbet=values.gainthree; values.pickthree = values.pickthree + 1;
values.advantageous = values.advantageous + 1}]
/ ontrialend = [if(trial.pick.response == 1234 || trial.pick.response == 2345 ||
trial.pick.response == 3456){values.currentbet=values.gainfour;
values.pickfour = values.pickfour + 1; values.advantageous = values.advantageous + 1}]
/ stimulustimes = [0=nodicepic, dicetxt, currentbalance, balance_total, balance_winloss, sign,
balance_gainloss, round, statusscreen, statusplus, statusminus, statusbigsign,
responseoptions, gainloss, gainone, gaintwo, gainthree, gainfour,
1, 2, 3, 4, 5, 6, 12, 34, 56, 123, 456, 1234, 2345, 3456]
/ validresponse = (1, 2, 3, 4, 5, 6, 12, 34, 56, 123, 456, 1234, 2345, 3456)
/ responsemessage = (1, 1s, 0)
/ responsemessage = (2, 2s, 0)
/ responsemessage = (3, 3s, 0)
/ responsemessage = (4, 4s, 0)
/ responsemessage = (5, 5s, 0)
/ responsemessage = (6, 6s, 0)
/ responsemessage = (12, 12s, 0)
/ responsemessage = (34, 34s, 0)
/ responsemessage = (56, 56s, 0)
/ responsemessage = (123, 123s, 0)
/ responsemessage = (456, 456s, 0)
/ responsemessage = (1234, 1234s, 0)
/ responsemessage = (2345, 2345s, 0)
/ responsemessage = (3456, 3456s, 0)
/ branch = [trial.roll]
</trial>
**************************************************************************************************************
**************************************************************************************************************
Roll Dice and Tally Results
**************************************************************************************************************
**************************************************************************************************************
<trial roll>
/ ontrialbegin = [values.outcome = counter.rolldice.selectedvalue]
/ ontrialbegin = [if(contains(values.response, values.outcome)==1)
{values.balance_total = values.balance_total + values.currentbet; values.feedbackswitch = 1;
values.sign = "+"; text.balance_winloss.textcolor = green; text.sign.textcolor = green;
text.winlose.textcolor = green; values.wins = values.wins + 1}]
/ ontrialbegin = [if(contains(values.response, values.outcome)==0)
{values.balance_total = values.balance_total - values.currentbet; values.feedbackswitch = 2;
values.sign = "-"; text.balance_winloss.textcolor = red; text.sign.textcolor = red;
text.winlose.textcolor = red; values.losses = values.losses + 1}]
/ ontrialbegin = [if(values.balance_total > 0)
text.balance_total.textcolor = green else text.balance_total.textcolor = red]
/ ontrialbegin = [if(values.balance_total > 0)
text.statusbigsign.textcolor = green else text.statusbigsign.textcolor = red]
/ ontrialend = [values.currentbet = 0; values.sign = "+/-";
text.balance_winloss.textcolor = white; text.sign.textcolor = white;
text.winlose.textcolor = black]
/ ontrialend = [if(values.currentround >= values.nrounds)values.stopblock=1]
/ stimulustimes = [0=nodicepic, balance_currentbet, current_sign; 200 = rollsound;
1200 = rollingdice; 2650=dicepic, balance_winloss, sign, balance_total, winlose, cashsound
statusplus, statusminus, statusbigsign]
/ validresponse = (noresponse)
/ showmousecursor = false
/ trialduration = 4000
/ branch = [trial.pick]
</trial>
**************************************************************************************************************
**************************************************************************************************************
Block Definitions
**************************************************************************************************************
**************************************************************************************************************
<block GDT>
/ stop = [values.stopblock == 1]
/ trials = [1=pick]
</block>
**************************************************************************************************************
**************************************************************************************************************
Experiment Definitions
**************************************************************************************************************
**************************************************************************************************************
<expt GDT>
/ preinstructions = (welcome)
/ postinstructions = (end)
/ blocks = [1=GDT]
</expt>
**************************************************************************************************************
**************************************************************************************************************
END OF FILE
**************************************************************************************************************
**************************************************************************************************************