**************************************************************************************************************
**************************************************************************************************************
	Dropout Study / Test Procedure
**************************************************************************************************************
**************************************************************************************************************
	This script implements the learning experiment described in:
	
	Karpicke, J. D. & Roediger, H. L. (2008). The critical importance of retrieval for learning.
	Science, 319, 966-968.

**************************************************************************************************************
**************************************************************************************************************
	Script Version:	0.9 (Beta)
	Last Modified:	02-18-2010 at 04:40 PM (GMT+1)
**************************************************************************************************************
**************************************************************************************************************

	Meticulously handcrafted from the finest code by:
	David Nitz (nitz.david@gmail.com)
	for Millisecond Software, LLC.

	This script requires Inquisit 3.0.5.0 or greater.
	Copyright (c) 2010 by Millisecond Software, LLC.
	http://www.millisecond.com/

**************************************************************************************************************
**************************************************************************************************************
	Short General Description
**************************************************************************************************************
**************************************************************************************************************
	This is a learning experiment. Participants are presented a total of 40 Swahili-English word
	pairs one at a time. Subjects are required to learn these items so that they are able to recall
	the correct English translation given the Swahili word. There are a total of 4 study and 4 test
	periods and an intermittent distracter task. There are four experimental conditions:
	
	(1) ST
	Subjects study the whole list of 40 items in each study period.
	Subjects are tested on the whole list of 40 items in each test period.

	(2) SnT
	Subjects study only those items they have not recalled previously.
	Subjects are tested on the whole list of 40 items in each test period.
	
	(3) STn
	Subjects study the whole list of 40 items in each study period.
	Subjects are tested only on those items they have not recalled previously.
	
	(4) SnTn
	Subjects study only those items they have not recalled previously.
	Subjects are tested only on those items they have not recalled previously.

	Please refer to the cited source(s) for a more detailed description of the procedure.

**************************************************************************************************************
**************************************************************************************************************
	Editable Task Parameters
**************************************************************************************************************
**************************************************************************************************************

	studytimeout:					Display duration during study trials. Default: 5000 ms.
	testtimeout:					Timeout for test trials. Default: 8000 ms.
	delayedtesttimeout:		Timeout for the delayed test trials (2nd session). Default: 15000 ms.
	distractertimeout:			Global timeout for the distracter block. Default: 30000 ms.
	posttrialdelay:					Variable posttrial delay for study and test trials. Default: 500 ms.

**************************************************************************************************************
**************************************************************************************************************
	The remaining entries are updated at runtime / used for data recording and should *not* be 
	changed, unless you really know what you are doing. Entries of interest are explained below.
**************************************************************************************************************
**************************************************************************************************************

	subjectid:						A unique participant identifier collected at task onset.
	session:							The current session number as collected at task onset.
	condition:						The assigned experimental condition as collected at task onset:
										1=ST, 2=SnT, 3=STn, 4=SnTn.
	taskphase:						Name of the current task phase ("study phase", "test phase", "math 
										phase", "delayed test phase").
	trialcount:						Number of trials run in the current study or test period.
	ncorrect:						Number of correct responses in the current test period.
	itemstate:						Encodes whether a given item is active (1) or inactive (0) in the 
										current study or test period (-> 'trial.itemselect', 'counter.studystate',
										'counter.teststate').
	itemnumber:					Holds the unique itemnumber of the currently selected pair. Used for
										proper item selection and validation, scoring, etc.
	stopblock:						A pseudo-boolean switch updated at runtime. Once all active items
										have been displayed, this value is automatically set to '1' in order to
										stop the current study or test period.
	math01:							First component of the randomly assembled multiplication problem 
										used in distracter trials.
	math02:							Second component of the randomly assembled multiplication problem 
										used in distracter trials.
	mathtruefalse:				'1' if the displayed answer should be correct, '0' if the displayed result
										should be false.
	mathrand:						A random value added to the math problems true result in order to
										make it false (-> 'values.mathtruefalse').
	mathresult:					The result displayed on screen (true or false according to 
										'values.mathtruefalse' and 'values.mathrand').

**************************************************************************************************************
**************************************************************************************************************
<values>
/ studytimeout = 5000
/ testtimeout = 8000
/ delayedtesttimeout = 15000
/ distractertimeout = 30000
/ posttrialdelay = 500
/ subjectid = ""
/ session = 0
/ condition = 0
/ taskphase = ""
/ trialcount = 0
/ ncorrect = 0
/ itemstate = 0
/ itemnumber = 1
/ stopblock = 0
/ math01 = 0
/ math02 = 0
/ mathtruefalse = 0
/ mathrand = 0
/ mathresult = 0
</values>

**************************************************************************************************************
**************************************************************************************************************
	Expressions
**************************************************************************************************************
**************************************************************************************************************
	'expressions.resptolower' converts participants' typed answers to lowercase in order to ensure
	accurate but not overly strict scoring of correct and incorrect responses.
	'expressions.swahili' and 'expressions.english' return the currently used Swahili-English word 
	pair for data logging purposes.
**************************************************************************************************************
**************************************************************************************************************
<expressions>
/ resptolower = tolower(openended.testtrial.response)
/ swahili = getitem(item.swahiliwords, values.itemnumber)
/ english = getitem(item.englishwords, values.itemnumber)
</expressions>

**************************************************************************************************************
**************************************************************************************************************
	Custom Data Output
**************************************************************************************************************
**************************************************************************************************************
<data>
/ columns = [date, time, subject, values.subjectid, values.condition, values.session, 
	values.taskphase, blocknum, blockcode, trialnum, trialcode, response, expressions.resptolower,
	correct, error, numcorrect, latency, 
	openended.testtrial.firstcharlatency, openended.testtrial.lastcharlatency, 
	values.trialcount, values.ncorrect, values.itemnumber, values.itemstate, 
	expressions.swahili, expressions.english, text.mathproblem.currentitem]
/ separatefiles = true
</data>

**************************************************************************************************************
**************************************************************************************************************
	Task Instructions
**************************************************************************************************************
**************************************************************************************************************
<text instructtxt>
/ items = instructions
/ select = values.condition
/ fontstyle = ("Verdana", 2.50%, true)
/ size = (90%, 90%)
/ position = (50%, 50%)
/ vjustify = center
/ erase = true(white)
</text>

<item instructions>
/ 1 = "In this learning experiment you will learn a list of 40 Swahili 
vocabulary words and their English translations during a series of 8 
alternating study and test periods.
~nEach word pair will be displayed in the middle of the screen for 5 
seconds. Study each pair so that you are able to recall the English 
word given the Swahili word.
~nDuring test periods, you will be shown only the Swahili words one
at a time. You have 8 seconds to type in the corresponding English 
translation for each word.
~nYou will study all 40 pairs during each of the 4 study periods and 
you will be tested on all 40 pairs in every test period.
~nYou will also have to solve a few simple math problems after each 
study period.
~nPress the spacebar to begin."
/ 2 = "In this learning experiment you will learn a list of 40 Swahili 
vocabulary words and their English translations during a series of 8 
alternating study and test periods. 
~nEach word pair will be displayed in the middle of the screen for 5 
seconds. Study each pair so that you are able to recall the English 
word given the Swahili word.
~nDuring test periods, you will be shown only the Swahili words one
at a time. You have 8 seconds to type in the corresponding English 
translation for each word.
~nYou will re-study only those pairs that you have not recalled
correctly. However, you will be tested on all 40 pairs in every 
test period.
~nYou will also have to solve a few simple math problems after each 
study period.
~nPress the spacebar to begin."
/ 3 = "In this learning experiment you will learn a list of 40 Swahili 
vocabulary words and their English translations during a series of 8 
alternating study and test periods. 
~nEach word pair will be displayed in the middle of the screen for 5 
seconds. Study each pair so that you are able to recall the English 
word given the Swahili word. 
~nDuring test periods, you will be shown only the Swahili words one
at a time. You have 8 seconds to type in the corresponding English 
translation for each word. 
~nYou will study all 40 pairs during each of the 4 study periods. 
However, you will be re-tested only on those pairs you have not 
recalled correctly.
~nYou will also have to solve a few simple math problems after each 
study period.
~nPress the spacebar to begin."
/ 4 = "In this learning experiment you will learn a list of 40 Swahili 
vocabulary words and their English translations during a series of 8 
alternating study and test periods. 
~nEach word pair will be displayed in the middle of the screen for 5 
seconds. Study each pair so that you are able to recall the English 
word given the Swahili word. 
~nDuring test periods, you will be shown only the Swahili words one
at a time. You have 8 seconds to type in the corresponding English 
translation for each word.
~nYou will re-study only those pairs that you have not recalled
correctly. You will be only be re-tested on those pairs you have not 
recalled correctly.
~nYou will also have to solve a few simple math problems after each 
study period. 
~nPress the spacebar to begin."
</item>

**************************************************************************************************************
**************************************************************************************************************
	Experiment Definition
**************************************************************************************************************
**************************************************************************************************************
	Note: The blocks that will actually run depend on the startup parameters collected at task 
	onset (-> 'block.taskconfiguration' and 'surveypage.configuration').
**************************************************************************************************************
**************************************************************************************************************
<expt>
/ blocks = [1=taskconfiguration; 2-5=sequence(studyperiod, distractertask, testperiod);
	6=recallprediction; 7=delayedtestperiod]
</expt>

**************************************************************************************************************
**************************************************************************************************************
	Block Elements
**************************************************************************************************************
**************************************************************************************************************
	Configuration Block
**************************************************************************************************************
**************************************************************************************************************
	This block element is allows the experimenter to enter important parameters at task onset.
	Note that this is a multi-session procedure: Subjects are required to complete an initial session
	consisting of four study and four test periods. A second session consisting of a single test 
	period is completed one week after the initial session. To allow for convenient data matching, 
	the following parameters should be entered at the beginning of each session:
	(1) A unique participant identifier: The participant's name or some kind of suitable code.
	(2) The learning condition the participant is assigned to (1 out of 4).
	(3) The actual session number (1st or 2nd session).
	The script will automatically adjust according to these configuration parameters.
**************************************************************************************************************
**************************************************************************************************************
<block taskconfiguration>
/ trials = [1=configuration; 2=instructtrial]
/ recorddata = false
</block>

**************************************************************************************************************
**************************************************************************************************************
	Study & Test Period Blocks
**************************************************************************************************************
**************************************************************************************************************
	In the task's first session, each participant has to complete a total of four study and four test
	periods. There will be 40 trials in each subject's first study and test periods. After that, the 
	number of trials will vary according to experimental condition and participants' responses.
**************************************************************************************************************
**************************************************************************************************************
	Study Period Block
**************************************************************************************************************
**************************************************************************************************************
<block studyperiod>
/ skip = [values.session==2]
/ onblockbegin = [values.trialcount=0; values.stopblock=0; values.taskphase="study phase"; 
	reset(counter.itemnumber)]
/ onblockend = [values.stopblock=0]
/ stop = [values.stopblock==1]
/ trials = [1=startup; 2=itemselect]
</block>

**************************************************************************************************************
**************************************************************************************************************
	Test Period Block
**************************************************************************************************************
**************************************************************************************************************
<block testperiod>
/ skip = [values.session==2]
/ onblockbegin = [values.trialcount=0; values.stopblock=0; values.ncorrect=0; 
	values.taskphase="test period"; reset(counter.itemnumber)]
/ onblockend = [values.stopblock=0]
/ stop = [values.stopblock==1]
/ trials = [1=startup; 2=itemselect]
</block>

**************************************************************************************************************
**************************************************************************************************************
	Recall Prediction Block
**************************************************************************************************************
**************************************************************************************************************
	After completing the four study and four test periods in the first session, subjects are asked
	to indicate how many items they will be able to recall in the second session (one week later).
**************************************************************************************************************
**************************************************************************************************************
<block recallprediction>
/ skip = [values.session==2]
/ trials = [1=recallprediction]
</block>

**************************************************************************************************************
**************************************************************************************************************
	Delayed Test Period Block
**************************************************************************************************************
**************************************************************************************************************
	This is the block element for the final test period in the second session (one week after the 
	initial session).
**************************************************************************************************************
**************************************************************************************************************
<block delayedtestperiod>
/ onblockbegin = [values.testtimeout=values.delayedtesttimeout; 
	values.taskphase="delayed test phase"]
/ skip = [values.session==1]
/ trials = [1=startup; 2=itemselect]
</block>

**************************************************************************************************************
**************************************************************************************************************
	Distracter Task Block
**************************************************************************************************************
**************************************************************************************************************
	In the first session, participants have to verify simple multiplication problems as a simple 
	distracter task in between each of the four study and four test periods. The distracter task
	lasts approximately 30 seconds.
**************************************************************************************************************
**************************************************************************************************************
<block distractertask>
/ skip = [values.session==2]
/ onblockbegin = [values.stopblock=0; values.taskphase="math phase"]
/ onblockend = [values.stopblock=0]
/ stop = [values.stopblock==1]
/ trials = [1=startup; 2=distractertrial]
</block>

**************************************************************************************************************
**************************************************************************************************************
	Trial Elements
**************************************************************************************************************
**************************************************************************************************************
	Configuration Trial
**************************************************************************************************************
**************************************************************************************************************
	'surveypage.configuration' is run once at the beginning of the experiment to collect the 
	following task parameters:
	(1) A unique participant identifier: The participant's name or some kind of suitable code.
	(2) The learning condition the participant is assigned to (1 out of 4).
	(3) The actual session number (1st or 2nd session).
	The script will automatically adjust according to these configuration parameters.
**************************************************************************************************************
**************************************************************************************************************
<surveypage configuration>
/ fontstyle = ("Verdana", 2.00%, true)
/ ontrialend = [values.subjectid=textbox.subjectid.response; 
	values.session=dropdown.session.selectedvalue;
	values.condition=dropdown.condition.selectedvalue]
/ ontrialend = [if ( monkey.monkeymode == true ) { values.condition = mod(script.subjectid - 1, 4) + 1; }
/ questions = [1=subjectid; 2=session; 3=condition]
/ showquestionnumbers = false
/ nextbuttonposition = (40%, 75%)
/ navigationbuttonsize = (15%, 5%)
/ finishlabel = "START"
</surveypage>

<textbox subjectid>
/ caption = "Participant ID:"
/ defaultresponse = "Name or Code"
/ textboxsize = (15%, 3%)
/ position = (40%, 35%)
/ required = true
</textbox>

<dropdown session>
/ caption = "Session:"
/ options = ("1st Session", "2nd Session")
/ optionvalues = ("1", "2")
/ defaultresponse = "1"
/ listsize = (15%, 12%)
/ position = (40%, 45%)
/ required = true
</dropdown>

<dropdown condition>
/ caption = "Condition:"
/ options = ("1 = ST", "2 = SnT", "3 = STn", "4 = SnTn")
/ optionvalues = ("1", "2", "3", "4")
/ defaultresponse = "1"
/ listsize = (15%, 12%)
/ position = (40%, 55%)
/ required = true
</dropdown>

**************************************************************************************************************
**************************************************************************************************************
	Instructions Trial
**************************************************************************************************************
**************************************************************************************************************
	This trial displays general instructions at the beginning of the experiment.
**************************************************************************************************************
**************************************************************************************************************
<trial instructtrial>
/ skip = [values.session==2]
/ stimulusframes = [1=instructtxt]
/ validresponse = (57)
/ responsetime = 2000
</trial>

**************************************************************************************************************
**************************************************************************************************************
	Main Trial Elements
**************************************************************************************************************
**************************************************************************************************************
	General Purpose Item Selection Trial
**************************************************************************************************************
**************************************************************************************************************
	'trial.itemselect' selects a Swahili-English word pair as specified by 'counter.itemnumber'. After
	that, the trial checks whether the selected item is currently active or inactive. This depends
	on experimental condition and participants' prior performance (-> 'counter.studystate' and 
	'counter.teststate'). If the item is still active, the trial branches to the appropriate study or test 
	trial.
**************************************************************************************************************
**************************************************************************************************************
<trial itemselect>
/ ontrialbegin = [if(counter.itemnumber.unselectedcount==0)values.stopblock=1]
/ ontrialbegin = [values.itemnumber=counter.itemnumber.selectedvalue]
/ ontrialbegin = [if(script.currentblock=="studyperiod")
	values.itemstate=getitem(counter.studystate, values.itemnumber)]
/ ontrialbegin = [if(script.currentblock=="testperiod")
	values.itemstate=getitem(counter.teststate, values.itemnumber)]
/ ontrialbegin = [if(script.currentblock=="delayedtestperiod")
	values.itemstate=getitem(counter.teststate, values.itemnumber)]
/ validresponse = (noresponse)
/ trialduration = 0
/ recorddata = false
/ branch = [if(script.currentblock=="studyperiod" && values.itemstate==1)trial.studytrial]
/ branch = [if(script.currentblock=="studyperiod" && values.itemstate==0)trial.itemselect]
/ branch = [if(script.currentblock=="testperiod" && values.itemstate==1)openended.testtrial]
/ branch = [if(script.currentblock=="testperiod" && values.itemstate==0)trial.itemselect]
/ branch = [if(script.currentblock=="delayedtestperiod")openended.testtrial]
</trial>

**************************************************************************************************************
**************************************************************************************************************
	Study Period Trial
**************************************************************************************************************
**************************************************************************************************************
	'trial.studytrial' presents a Swahili-English word pair as selected by 'trial.itemselect'. Items
	are presented in the middle of the screen for a period of 5000 ms.
**************************************************************************************************************
**************************************************************************************************************
<trial studytrial>
/ skip = [values.itemstate==0]
/ ontrialbegin = [values.trialcount=values.trialcount+1]
/ ontrialend = [if(counter.itemnumber.unselectedcount==0)values.stopblock=1]
/ stimulusframes = [1=equalsign, swahili, english, debugstudy]
/ validresponse = (noresponse)
/ timeout = values.studytimeout
/ posttrialpause = values.posttrialdelay
/ branch = [trial.itemselect]
</trial>

**************************************************************************************************************
**************************************************************************************************************
	Test Period Trial
**************************************************************************************************************
**************************************************************************************************************
	'openended.testtrial' presents a single Swahili word as selected by 'trial.itemselect'. Items
	are presented in the middle of the screen for a period of 8000 ms. During this time, subjects
	are supposed to enter the corresponding English word into a textbox.
	By default, participants are not given feedback about correct / incorrect responses.
	Add the two lines below to 'openended.testtrial' to activate performance feedback.
**************************************************************************************************************
**************************************************************************************************************
	/ correctmessage = (correctmsg, 500)
	/ errormessage = (errormsg, 500)
**************************************************************************************************************
**************************************************************************************************************
<openended testtrial>
/ skip = [values.itemstate==0]
/ ontrialbegin = [values.trialcount=values.trialcount+1]
/ ontrialend = [if(values.condition==2 && openended.testtrial.correct==1){
	setitem(counter.studystate, 0, values.itemnumber)}]
/ ontrialend = [if(values.condition==3 && openended.testtrial.correct==1){
	setitem(counter.teststate, 0, values.itemnumber)}]
/ ontrialend = [if(values.condition==4 && openended.testtrial.correct==1){
	setitem(counter.studystate, 0, values.itemnumber);
	setitem(counter.teststate, 0, values.itemnumber)}]
/ ontrialend = [if(counter.itemnumber.unselectedcount==0)values.stopblock=1]
/ ontrialend = [if(openended.testtrial.correct==1)values.ncorrect=values.ncorrect+1]
/ stimulusframes = [1=equalsign, swahili, questionmark, debugtest]
/ position = (50%, 70%)
/ size = (25%, 10%)
/ iscorrectresponse = [expressions.resptolower==expressions.english]
/ timeout = values.testtimeout
/ branch = [trial.itemselect]
</openended>

**************************************************************************************************************
**************************************************************************************************************
	Recall Prediction Trial
**************************************************************************************************************
**************************************************************************************************************
	This trial is run at the very end of the first session. Participants are supposed to indicate, how
	many items they will be able to recall during the second session (one week later).
**************************************************************************************************************
**************************************************************************************************************
<openended recallprediction>
/ stimulusframes = [1=predict]
/ validresponse = (anyresponse)
/ mask = integer
/ range = (0, 40)
/ charlimit = 2
/ required = true
/ position = (50%, 75%)
/ size = (25%, 5%)
</openended>

**************************************************************************************************************
**************************************************************************************************************
	Distracter Task Trial
**************************************************************************************************************
**************************************************************************************************************
	'trial.distractertrial' generates a random multiplication problem with either a true or false
	answer displayed on screen. Participants are supposed to indicate whether the given answer
	is correct or incorrect by pressing the 'D' or 'K' key on their keyboard (-> 'counter.mathitem01',
	'counter.mathitem02', 'counter.mathtruefalse', 'counter.mathrand').
**************************************************************************************************************
**************************************************************************************************************
<trial distractertrial>
/ ontrialbegin = [values.math01=counter.mathitem01.selectedvalue;
	values.math02=counter.mathitem02.selectedvalue;
	values.mathtruefalse=counter.mathtruefalse.selectedvalue]
/ ontrialbegin = [if(values.mathtruefalse==1)values.mathresult=values.math01*values.math02]
/ ontrialbegin = [if(values.mathtruefalse==0){values.mathrand=counter.mathrand.selectedvalue;
	values.mathresult=values.math01*values.math02+values.mathrand}]
/ ontrialend = [if(block.distractertask.elapsedtime>=values.distractertimeout+trial.startup.latency)
	values.stopblock=1]
/ stimulusframes = [1=mathproblem, DKey, KKey]
/ validresponse = (32, 37)
/ iscorrectresponse = [(values.mathtruefalse==0 && trial.distractertrial.response==37) ||
	(values.mathtruefalse==1 && trial.distractertrial.response==32)]
/ recorddata = true
/ correctmessage = (correctmsg, 500)
/ errormessage = (errormsg, 500)
/ branch = [trial.distractertrial]
</trial>

**************************************************************************************************************
**************************************************************************************************************
	Startup Trial
**************************************************************************************************************
**************************************************************************************************************
	This trial displays a short startup message at the beginning of each task phase. Subjects are
	required to press the spacebar as soon as they're ready to start.
**************************************************************************************************************
**************************************************************************************************************
<trial startup>
/ stimulusframes = [1=getready]
/ validresponse = (57)
/ recorddata = false
</trial>


**************************************************************************************************************
**************************************************************************************************************
	Counter Elements for Item Selection
**************************************************************************************************************
**************************************************************************************************************
	Study Period
**************************************************************************************************************
**************************************************************************************************************
	This counter encodes whether an item will be presented in the task's study period 
	(also see 'block.studyperiod' and 'trial.studytrial'). Once an item has been recalled correctly,
	its corresponding value in 'counter.studystate' will change to '0', marking the item as inactive for
	those conditions that require subjects to study only previously unrecalled items.
	(-> conditions SnT and SnTn).
**************************************************************************************************************
**************************************************************************************************************
<counter studystate>
/ items = (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,1,1,1,1)
/ select = values.itemnumber
/ selectionrate = trial
</counter>

**************************************************************************************************************
**************************************************************************************************************
	Test Period
**************************************************************************************************************
**************************************************************************************************************
	This counter encodes whether an item will be presented in the task's test period 
	(also see 'block.testperiod' and 'openended.testtrial'). Once an item has been recalled correctly,
	its corresponding value in 'counter.teststate' will change to '0', marking the item as inactive for
	those conditions that require subjects to be tested on previously unrecalled items only 
	(-> conditions STn and SnTn).
**************************************************************************************************************
**************************************************************************************************************
<counter teststate>
/ items = (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,1,1,1,1)
/ select = values.itemnumber
/ selectionrate = trial
</counter>

**************************************************************************************************************
**************************************************************************************************************
	Unique Item Number
**************************************************************************************************************
**************************************************************************************************************
	'counter.itemnumber' is used to properly identify and select from the 40 Swahili-English word 
	pairs. The counter effectively assigns a unique item number to each pair which is later used
	to assign proper values to 'counter.studystate' and 'counter.teststate' which encode whether an
	item is active or inactive for the subsequent study and test periods. A given item's state is 
	determined according to both participants' performance (item recalled vs. not recalled) and 
	according to the assigned experimental condition.
**************************************************************************************************************
**************************************************************************************************************
<counter itemnumber>
/ items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
	21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40)
/ select = noreplace
/ selectionrate = trial
</counter>

**************************************************************************************************************
**************************************************************************************************************
	Stimulus Items
**************************************************************************************************************
**************************************************************************************************************
	Swahili Words
**************************************************************************************************************
**************************************************************************************************************
<text swahili>
/ items = swahiliwords
/ position = (30%, 50%)
/ halign = left
/ select = values.itemnumber
/ erase = true(white)
</text>

<item swahiliwords>
/ 1 = "adhama"
/ 2 = "adui"
/ 3 = "bustani"
/ 4 = "buu"
/ 5 = "chakula"
/ 6 = "dafina"
/ 7 = "elimu"
/ 8 = "embe"
/ 9 = "fagio"
/ 10 = "farasi"
/ 11 = "fununu"
/ 12 = "godoro"
/ 13 = "goti"
/ 14 = "hariri"
/ 15 = "kaa"
/ 16 = "kaburi"
/ 17 = "kaputula"
/ 18 = "leso"
/ 19 = "maiti"
/ 20 = "malkia"
/ 21 = "mashua"
/ 22 = "ndoo"
/ 23 = "nyanya"
/ 24 = "pazia"
/ 25 = "pipa"
/ 26 = "pombe"
/ 27 = "punda"
/ 28 = "rembo"
/ 29 = "roho"
/ 30 = "sala"
/ 31 = "sumu"
/ 32 = "tabibu"
/ 33 = "theluji"
/ 34 = "tumbili"
/ 35 = "usingizi"
/ 36 = "vuke"
/ 37 = "yai"
/ 38 = "zeituni"
/ 39 = "ziwa"
/ 40 = "zulia"
</item>

**************************************************************************************************************
**************************************************************************************************************
	English Words
**************************************************************************************************************
**************************************************************************************************************

<text english>
/ items = englishwords
/ position = (70%, 50%)
/ halign = right
/ select = values.itemnumber
/ erase = true(white)
</text>

<item englishwords>
/ 1 = "honor"
/ 2 = "enemy"
/ 3 = "garden"
/ 4 = "maggot"
/ 5 = "food"
/ 6 = "treasure"
/ 7 = "science"
/ 8 = "mango"
/ 9 = "broom"
/ 10 = "horse"
/ 11 = "rumour"
/ 12 = "mattress"
/ 13 = "knee"
/ 14 = "silk"
/ 15 = "crab"
/ 16 = "grave"
/ 17 = "shorts"
/ 18 = "scarf"
/ 19 = "corpse"
/ 20 = "queen"
/ 21 = "boat"
/ 22 = "bucket"
/ 23 = "tomato"
/ 24 = "curtain"
/ 25 = "barrel"
/ 26 = "beer"
/ 27 = "donkey"
/ 28 = "ornament"
/ 29 = "soul"
/ 30 = "prayer"
/ 31 = "poison"
/ 32 = "doctor"
/ 33 = "snow"
/ 34 = "monkey"
/ 35 = "sleep"
/ 36 = "steam"
/ 37 = "egg"
/ 38 = "olives"
/ 39 = "lake"
/ 40 = "carpet"
</item>

**************************************************************************************************************
**************************************************************************************************************
	Utility Text Elements
**************************************************************************************************************
**************************************************************************************************************
<text equalsign>
/ items = ("=")
/ position = (50%, 50%)
/ erase = true(white)
</text>

<text questionmark>
/ items = ("?")
/ position = (70%, 50%)
/ halign = right
/ erase = true(white)
</text>

<text correctmsg>
/ items = ("Correct!")
/ txcolor = green
/ position = (50%, 25%)
/ erase = true(white)
</text>

<text errormsg>
/ items = ("Wrong!")
/ txcolor = red
/ position = (50%, 25%)
/ erase = true(white)
</text>

<text predict>
/ items = ("You will be tested again one week from now. Please tell us:
How many of the 40 words do you think you'll be able to recall?")
/ size = (90%, 30%)
/ position = (50%, 40%)
</text>

**************************************************************************************************************
**************************************************************************************************************
	Debug Text Items
**************************************************************************************************************
**************************************************************************************************************
	Change 'txcolor' to 'black' for these text elements to get onscreen debugging information.
**************************************************************************************************************
**************************************************************************************************************
<text debugstudy>
/ items = ("Condition <%values.condition%>|Item <%values.itemnumber%>|State <%values.itemstate%>|Correct <%values.ncorrect%>|Trial <%values.trialcount%>")
/ fontstyle = ("Verdana", 3.00%, true)
/ txcolor = white
/ position = (50%, 5%)
/ erase = true(white)
</text>

<text debugtest>
/ items = ("Condition <%values.condition%>|Item <%values.itemnumber%>|State <%values.itemstate%>|Correct <%values.ncorrect%>|Trial <%values.trialcount%>")
/ fontstyle = ("Verdana", 3.00%, true)
/ txcolor = white
/ position = (50%, 5%)
/ erase = true(white)
</text>

**************************************************************************************************************
**************************************************************************************************************
	Multiplication Problems for Distracter Task
**************************************************************************************************************
**************************************************************************************************************
	The multiplication problems used in the distracter block are generated automatically. Random 
	values are drawn from 'counter.mathitem01' and 'counter.mathitem02'. Another random value 
	sampled from 'counter.mathtruefalse' determines whether the participant should be presented
	a true or a false answer for the current math problem. In case of a false answer, a random 
	value between -5 and +5 taken from 'counter.mathrand' is added or subtracted from the true 
	answer (-> see 'trial.distractertrial').
**************************************************************************************************************
**************************************************************************************************************
<counter mathitem01>
/ items = (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
/ select = replacenorepeat
/ selectionrate = trial
</counter>

<counter mathitem02>
/ items = (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
/ select = replacenorepeat
/ selectionrate = trial
</counter>

<counter mathtruefalse>
/ items = (1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
/ select = noreplace
/ selectionrate = trial
</counter>

<counter mathrand>
/ items = (1, 2, 3, 4, 5, -1, -2, -3, -4, -5)
/ select = noreplace
/ selectionrate = trial
</counter>

<text mathproblem>
/ items = ("<%values.math01%> x <%values.math02%> = <%values.mathresult%> ?")
/ position = (50%, 50%)
/ erase = true(white)
</text>

**************************************************************************************************************
**************************************************************************************************************
	Onscreen Instructions for Distracter Task
**************************************************************************************************************
**************************************************************************************************************
<text DKey>
/ items = ("Press 'D' if the answer is correct.")
/ fontstyle = ("Verdana", 3.00%, true)
/ position = (20%, 75%)
/ size = (25%, 5%)
/ erase = true(white)
</text>

<text KKey>
/ items = ("Press 'K' if the answer is wrong.")
/ fontstyle = ("Verdana", 3.00%, true)
/ position = (80%, 75%)
/ size = (25%, 5%)
/ erase = true(white)
</text>

<text getready>
/ items = ("Get ready for the following <%values.taskphase%>.~r~rPress the spacebar to begin!")
/ fontstyle = ("Verdana", 3.00%, true)
/ position = (50%, 50%)
/ size = (75%, 10%)
/ erase = true(white)
</text>

**************************************************************************************************************
**************************************************************************************************************
	Default Screen Settings
**************************************************************************************************************
**************************************************************************************************************
<defaults>
/ minimumversion = "3.0.5.0"
/ fontstyle = ("Verdana", 3.50%, true)
/ screencolor = white
/ txbgcolor = white
</defaults>

**************************************************************************************************************
**************************************************************************************************************
	End Of File
**************************************************************************************************************
**************************************************************************************************************

