Post by abdul89 on Feb 27, 2023 12:36:44 GMT
Dear all
I'm trying to edit the Experiment backward_corsi code and make the number of blocks lighten up in each trial is constant over the whole time
I cancelled the end task code so it will continue even if there was more than two errors sequentially
but when I try to make the lighten up blocks is only two or three for instance, it keeps giving me errors or doesn't respond correctly (not giving correct after each trial). can you please help me with it?
the code as follow after I deleted the condition of ending the task after two trials of errors
options
mouse on
origin topleft
set &Count 2 # starts with showing two blocks
bitmaps
titlescreen
revinstructions
yellow
purple
done
ticked
correct
wrong
ready1
ready2
ready3
fonts
arial 30
sounds
gosignal go.mp3
part delay
delay 300
clear -1
delay 300
table revcorsidata
include revcorsitable.txt
task revcorsi
table revcorsidata
set $counter 0
set $b1 0
set $b2 0
set $b3 0
set $b4 0
set $b5 0
set $b6 0
set $b7 0
set $b8 0
set $b9 0
# mouse off so that people cannot mouse during sequence presentation
mouse off
# show nine blocks
draw off
show bitmap purple @1 @2
show bitmap purple @3 @4
show bitmap purple @5 @6
show bitmap purple @7 @8
show bitmap purple @9 @10
show bitmap purple @11 @12
show bitmap purple @13 @14
show bitmap purple @15 @16
show bitmap purple @17 @18
show bitmap done 750 550
draw on
# show sequence 1
show bitmap yellow @19 @20
part delay
show bitmap yellow @21 @22
part delay
if &Count > 2
show bitmap yellow @23 @24
part delay
fi
if &Count > 3
show bitmap yellow @25 @26
part delay
fi
if &Count > 4
show bitmap yellow @27 @28
part delay
fi
if &Count > 5
show bitmap yellow @29 @30
part delay
fi
if &Count > 6
show bitmap yellow @31 @32
part delay
fi
if &Count > 7
show bitmap yellow @33 @34
part delay
fi
if &Count > 8
show bitmap yellow @35 @36
part delay
fi
# go!
sound gosignal
mouse show # now show cursor again
delay 100 # not really necessary, but gives a bit of time between sound and people's response
# read in sequence
while $x != 10
readmouse l 1 10000 range 1 10
set $myMouseX MOUSE_X
set $myMouseY MOUSE_Y
set $x under $myMouseX $myMouseY up range 1 10
if $x != 10
set $counter increase
fi
if $counter == 1 && $x != 10
set $b1 $x
fi
if $counter == 2 && $x != 10
set $b2 $x
fi
if $counter == 3 && $x != 10
set $b3 $x
fi
if $counter == 4 && $x != 10
set $b4 $x
fi
if $counter == 5 && $x != 10
set $b5 $x
fi
if $counter == 6 && $x != 10
set $b6 $x
fi
if $counter == 7 && $x != 10
set $b7 $x
fi
if $counter == 8 && $x != 10
set $b8 $x
fi
if $counter == 9 && $x != 10
set $b9 $x
fi
show bitmap ticked $myMouseX $myMouseY ## it has to be here, check while-end javascript coding
while-end
set $x 0
# now check if sequence is correct
set $SeqCorrect 0 # this means wrong
if $counter == &Count
if &Count == 2 && $b2 == @37 && $b1 == @38
set $SeqCorrect 1
fi
if &Count == 3 && $b3 == @37 && $b2 == @38 && $b1 == @39
set $SeqCorrect 1
fi
if &Count == 4 && $b4 == @37 && $b3 == @38 && $b2 == @39 && $b1 == @40
set $SeqCorrect 1
fi
if &Count == 5 && $b5 == @37 && $b4 == @38 && $b3 == @39 && $b2 == @40 && $b1 == @41
set $SeqCorrect 1
fi
if &Count == 6 && $b6 == @37 && $b5 == @38 && $b4 == @39 && $b3 == @40 && $b2 == @41 && $b1 == @42
set $SeqCorrect 1
fi
if &Count == 7 && $b7 == @37 && $b6 == @38 && $b5 == @39 && $b4 == @40 && $b3 == @41 && $b2 == @42 && $b1 == @43
set $SeqCorrect 1
fi
if &Count == 8 && $b8 == @37 && $b7 == @38 && $b6 == @39 && $b5 == @40 && $b4 == @41 && $b3 == @42 && $b2 == @43 && $b1 == @44
set $SeqCorrect 1
fi
if &Count == 9 && $b9 == @37 && $b8 == @38 && $b7 == @39 && $b6 == @40 && $b5 == @41 && $b4 == @42 && $b3 == @43 && $b2 == @44 && $b1 == @45
set $SeqCorrect 1
fi
fi
## feedback
if $SeqCorrect == 1
show bitmap correct 750 550
fi
if $SeqCorrect == 0
show bitmap wrong 750 550
fi
delay 1000
clear -1
delay 1000
## now goto next seq if correct twice
set $currentcount &Count
if $SeqCorrect == 1
set &corsispan &Count ## the best score so far
set &Count increase
set &ErrorCount 0
fi
## count errors in a row
if $SeqCorrect == 0
set &ErrorCount increase
fi
## save data
save &corsispan $currentcount $SeqCorrect TABLEROW
## if two errors in a row or if all are correctly clicked, end of task
if &Count == 10
end tasklist
fi
block test
message titlescreen
message revinstructions
bitmap ready3
delay 1000
bitmap ready2
delay 1000
bitmap ready1
delay 1000
tasklist
revcorsi 100 all_before_repeat
end
feedback
text 0 400 &corsispan ; prefix "Your Corsi backward span is " ; postfix " items."
text 0 500 "Press space bar to continue"
end
best regards
Abdulrahman
PhD student
I'm trying to edit the Experiment backward_corsi code and make the number of blocks lighten up in each trial is constant over the whole time
I cancelled the end task code so it will continue even if there was more than two errors sequentially
but when I try to make the lighten up blocks is only two or three for instance, it keeps giving me errors or doesn't respond correctly (not giving correct after each trial). can you please help me with it?
the code as follow after I deleted the condition of ending the task after two trials of errors
options
mouse on
origin topleft
set &Count 2 # starts with showing two blocks
bitmaps
titlescreen
revinstructions
yellow
purple
done
ticked
correct
wrong
ready1
ready2
ready3
fonts
arial 30
sounds
gosignal go.mp3
part delay
delay 300
clear -1
delay 300
table revcorsidata
include revcorsitable.txt
task revcorsi
table revcorsidata
set $counter 0
set $b1 0
set $b2 0
set $b3 0
set $b4 0
set $b5 0
set $b6 0
set $b7 0
set $b8 0
set $b9 0
# mouse off so that people cannot mouse during sequence presentation
mouse off
# show nine blocks
draw off
show bitmap purple @1 @2
show bitmap purple @3 @4
show bitmap purple @5 @6
show bitmap purple @7 @8
show bitmap purple @9 @10
show bitmap purple @11 @12
show bitmap purple @13 @14
show bitmap purple @15 @16
show bitmap purple @17 @18
show bitmap done 750 550
draw on
# show sequence 1
show bitmap yellow @19 @20
part delay
show bitmap yellow @21 @22
part delay
if &Count > 2
show bitmap yellow @23 @24
part delay
fi
if &Count > 3
show bitmap yellow @25 @26
part delay
fi
if &Count > 4
show bitmap yellow @27 @28
part delay
fi
if &Count > 5
show bitmap yellow @29 @30
part delay
fi
if &Count > 6
show bitmap yellow @31 @32
part delay
fi
if &Count > 7
show bitmap yellow @33 @34
part delay
fi
if &Count > 8
show bitmap yellow @35 @36
part delay
fi
# go!
sound gosignal
mouse show # now show cursor again
delay 100 # not really necessary, but gives a bit of time between sound and people's response
# read in sequence
while $x != 10
readmouse l 1 10000 range 1 10
set $myMouseX MOUSE_X
set $myMouseY MOUSE_Y
set $x under $myMouseX $myMouseY up range 1 10
if $x != 10
set $counter increase
fi
if $counter == 1 && $x != 10
set $b1 $x
fi
if $counter == 2 && $x != 10
set $b2 $x
fi
if $counter == 3 && $x != 10
set $b3 $x
fi
if $counter == 4 && $x != 10
set $b4 $x
fi
if $counter == 5 && $x != 10
set $b5 $x
fi
if $counter == 6 && $x != 10
set $b6 $x
fi
if $counter == 7 && $x != 10
set $b7 $x
fi
if $counter == 8 && $x != 10
set $b8 $x
fi
if $counter == 9 && $x != 10
set $b9 $x
fi
show bitmap ticked $myMouseX $myMouseY ## it has to be here, check while-end javascript coding
while-end
set $x 0
# now check if sequence is correct
set $SeqCorrect 0 # this means wrong
if $counter == &Count
if &Count == 2 && $b2 == @37 && $b1 == @38
set $SeqCorrect 1
fi
if &Count == 3 && $b3 == @37 && $b2 == @38 && $b1 == @39
set $SeqCorrect 1
fi
if &Count == 4 && $b4 == @37 && $b3 == @38 && $b2 == @39 && $b1 == @40
set $SeqCorrect 1
fi
if &Count == 5 && $b5 == @37 && $b4 == @38 && $b3 == @39 && $b2 == @40 && $b1 == @41
set $SeqCorrect 1
fi
if &Count == 6 && $b6 == @37 && $b5 == @38 && $b4 == @39 && $b3 == @40 && $b2 == @41 && $b1 == @42
set $SeqCorrect 1
fi
if &Count == 7 && $b7 == @37 && $b6 == @38 && $b5 == @39 && $b4 == @40 && $b3 == @41 && $b2 == @42 && $b1 == @43
set $SeqCorrect 1
fi
if &Count == 8 && $b8 == @37 && $b7 == @38 && $b6 == @39 && $b5 == @40 && $b4 == @41 && $b3 == @42 && $b2 == @43 && $b1 == @44
set $SeqCorrect 1
fi
if &Count == 9 && $b9 == @37 && $b8 == @38 && $b7 == @39 && $b6 == @40 && $b5 == @41 && $b4 == @42 && $b3 == @43 && $b2 == @44 && $b1 == @45
set $SeqCorrect 1
fi
fi
## feedback
if $SeqCorrect == 1
show bitmap correct 750 550
fi
if $SeqCorrect == 0
show bitmap wrong 750 550
fi
delay 1000
clear -1
delay 1000
## now goto next seq if correct twice
set $currentcount &Count
if $SeqCorrect == 1
set &corsispan &Count ## the best score so far
set &Count increase
set &ErrorCount 0
fi
## count errors in a row
if $SeqCorrect == 0
set &ErrorCount increase
fi
## save data
save &corsispan $currentcount $SeqCorrect TABLEROW
## if two errors in a row or if all are correctly clicked, end of task
if &Count == 10
end tasklist
fi
block test
message titlescreen
message revinstructions
bitmap ready3
delay 1000
bitmap ready2
delay 1000
bitmap ready1
delay 1000
tasklist
revcorsi 100 all_before_repeat
end
feedback
text 0 400 &corsispan ; prefix "Your Corsi backward span is " ; postfix " items."
text 0 500 "Press space bar to continue"
end
best regards
Abdulrahman
PhD student