単純反応時間を調べる実験で赤い丸のターゲットを100ms、25回ランダムに提示しターゲット提示からボタン押しまでの時間を計るプログラムを作りたいです。
背景は灰色、ターゲットは赤い丸、刺激時間間隔(ISI)は2000ms±1000msです。
#uselib "winmm.dll"
#func timeGetTime "timeGetTime"
#func timeBeginPeriod "timeBeginPeriod" int
#func timeEndPeriod "timeEndPeriod" int
timeBeginPeriod 1
buffer 2,300,300,0 : color 255,0,0 : circle 0,0,300,300,1
;縦横600ピクセルの刺激提示用ウィンドウ(ノーマルなもの)を作成
screen 0,600,600,0,0,0
;「スペースを押すと始まります」と提示し、スペース(コード16)を押すと先に進む
mes "スペースを押すと始まります。"
repeat
await 1
stick a
if a=16:break
loop
;保存用ファイル作成
;dataという一時バッファを作成
notesel data
noteadd "課題,試行数,反応時間"
notesave "RTdata.txt"
;試行開始(24試行。cntは1から)
repeat 25,1
;注視点提示:中央に黒い丸(295,295,305,305の大きさ)を提示する
cls
color 0.0.0
circle 295,295,305,305
;待機時間:ランダム
await rnd(2000)±1000
;刺激提示と提示時間保存
;刺激を提示する直前の時間をstart変数に代入する
timeGetTime:start=stat
;反応時間算出:現在の時間から刺激提示開始の時間を引き算してRT変数に代入する。
timeGetTime
RT=stat-?????←わからないです。
loop
timeEndPeriod 1
end
現状ではこのようになっているのですが、修正点など教えて下さい。
また、このコマンドの方がいいというのがあれば初心者なのでコマンドの順番などもわからないので最初から最後まで書いてもらえれば助かります。