先日、選択反応課題のスクリプトについて質問したaoiです。
今度は、"+"の後に表示される数字を、1秒提示したら自動的に消えて、また"+"が出て次の
数字が表示される・・・それが*TIME2で設定した時間続く、というものにしたいのです。
どのようにすればよいでしょうか。以下はこれまでに作ったスクリプトです。長くて
すみません。
pre
mondaisuu = 1000
sdim R,20,mondaisuu
sdim correct,20,mondaisuu
screen 0,1020,700,0,0,0,1020,700
cls
log = ""
notesel log
seitousuu = 0
randomize
xx=0
repeat mondaisuu
x=rnd(9)
R.xx =str(x)
xx=xx+1
loop
pos 500, 500
button "Start", *ready
stop
*ready
font "MS 明朝", 40 , 1
cls
mouse -1
i=0
gosub *TIME1
*mon01
j = i
gosub *matu
pos 500,300
font "MS ゴシック", 45,
mes R.j
gosub *RTs
osu=""
repeat
stick res
if res&256 {
osu="T"
gosub *RTe
break
}
if res&512 {
osu="F"
gosub *RTe
break
}
await 1: loop
correct=""
if R.j=0: correct="T":else :correct="F"
if correct == osu { ; 真偽値が判断とあっている場合
seitousuu += 1 ; 正答数に1を加える
noteadd R.j+"\t"+correct+"\t○\t"+jikan
; ログに追加記録
}
else { ; 真偽値と判断が違っている場合
noteadd R.j+"\t"+correct+"\t×\t"+jikan; ログに追加記録
}
bsave "kekka", R.j
cls
i=i+1
gosub *TIME2
if i<mondaisuu : goto *mon01
*owari
screen 0,1000,1000
mouse
pos 10,10
font "MS 明朝",32
mes "これで終わりです。"
font "MS 明朝",12
seitouritu = seitousuu*10000/mondaisuu
seisuu = seitouritu/100
syousuu = seitouritu\100
mes log
yy=gettime(0)
mm=gettime(1)
dd=gettime(3)
hh=gettime(4)
mn=gettime(5)
ss=gettime(6)
itu = "log"+yy+mm+dd+"-"+hh+mn+ss+".txt"
bsave itu,log
button "End", *owari2
stop
*owari2
end
*matu
font "MS 明朝", 48,
pos 500,300
mes "+"
wait 100 ; 10ms 単位で停止 100 x 10ms = 1000ms
cls
wait 50
return
*RTs
hajime = 0
ji = 0
hun = 0
byou = 0
miri = 0
ji=gettime(4)
hun=gettime(5)
byou=gettime(6)
miri=gettime(7)
hajime = (hun*60000)+(byou*1000)+miri
return
*RTe
kokomade = 0
jikan = 0
jie = 0
hune = 0
byoue = 0
mirie = 0
jie=gettime(4)
hune=gettime(5)
byoue=gettime(6)
mirie=gettime(7)
kokomade = (hune*60000)+(byoue*1000)+mirie
ji < jie ; kokomade =+ 3600000
jikan = kokomade - hajime
return
*TIME1
start.time = 0
jie=gettime(4)
hune=gettime(5)
byoue=gettime(6)
mirie=gettime(7)
start.time= (hune*60000)+(byoue*1000)+mirie
return
*TIME2
jie=gettime(4)
hune=gettime(5)
byoue=gettime(6)
mirie=gettime(7)
now.time= (hune*60000)+(byoue*1000)+mirie
if now.time-start.time>60*1000: gosub *owari
return
pre