HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
1226
Dr.エラーが出てしまって困ってます!1未解決


Dr.

リンク

2013/12/26(Thu) 13:01:09|NO.58881

心理学の実験でプログラムを書いているのですが,思うように動きません。
やろうとしている事は,

トランプをめくってもらって,エースならポイントup,ジョーカーならポイントdownとする。
ただし,何が出るかは予め決まっています。
カードをめくる前に保険をかけるかを選択してもらい,保険を掛ければジョーカーの場合でも,ポイントupになる。
カードが提示された後,「次へ」のボタンを押すと次のゲームに移る。

問題は,
この最後の「次へ」を押すとエラー6「パラメータの型が違う」となってしまいます。
ボタン提示をwhile~wendで行っており,引っかかるのが毎回wendの部分なのですが,
さっぱりわかりません。
トランプ選択後からのプログラムを載せます。


if (card_choice(session_dis)=1)&(bet(session_dis)=1){ if (table(z)=10)|(table(z)=20)|(table(z)=30){ ;Correct money_dis += ace_point bgscr 0,ginfo_dispx,ginfo_dispy,0,0,0 color 0,150,0 boxf bgscr 1,ginfo_dispx,ginfo_dispy,0,0,0 color 0,150,0 boxf X==ginfo_sizex Y==ginfo_sizey ;;Session color 225,225,225 boxf X*1/10,Y*1/16,X*4/10,Y*3/16 color 0,0,0 line X*4/10,Y*1/16,X*1/10,Y*1/16 line X*1/10,Y*3/16,X*1/10,Y*1/16 line X*4/10,Y*3/16,X*4/10,Y*1/16 line X*4/10,Y*3/16,X*1/10,Y*3/16 ;Session font "msgothic",65:color 0,0,0 pos (X*1/2-session_x)*1/2,(Y*2/8-session_y)*1/2 mes "残り"+strf("%03d",session_dis)+"回" ;Money color 225,225,225 boxf X*6/10,Y*1/16,X*9/10,Y*3/16 color 0,0,0 line X*9/10,Y*1/16,X*6/10,Y*1/16 line X*6/10,Y*3/16,X*6/10,Y*1/16 line X*9/10,Y*3/16,X*9/10,Y*1/16 line X*9/10,Y*3/16,X*6/10,Y*3/16 ;Money pos (X*3/2-money_x)*1/2,(Y*2/8-money_y)*1/2 mes str(money_dis)+" point" pos X*6/20,Y*1/4 gzoom X*3/20,Y*1/4,5,0,0,ace_x,ace_y pos X*11/20,Y*1/4 gzoom X*3/20,Y*1/4,6,0,0,joker_x,joker_y color 255,255,255 line X*3/4,Y*9/16,X*1/4,Y*9/16 line X*1/4,Y*13/16,X*1/4,Y*9/16 line X*3/4,Y*13/16,X*3/4,Y*9/16 line X*3/4,Y*13/16,X*1/4,Y*13/16 font "msgothic",37:color 0,0,0 pos (X-rep_x_Cor)*1/2,(Y*11/8-rep_y*2)*1/2 mes "おめでとう" mes "当たりです!" color 225,225,225 boxf X*9/20,Y*14/16,X*11/20,Y*15/16 color 0,0,0 line X*11/20,Y*14/16,X*9/20,Y*14/16 line X*9/20,Y*15/16,X*9/20,Y*14/16 line X*11/20,Y*15/16,X*11/20,Y*14/16 line X*11/20,Y*15/16,X*9/20,Y*15/16 font "msgothic",30:color 0,0,0 pos (X-next_x)*1/2,(Y*29/16-next_y)*1/2 mes "次へ" end_cord(session_dis)=0 while end_cord(session_dis)=0 stick end_key if end_key&256{ mapx=ginfo(0) mapy=ginfo(1) if (mapx=limit(mapx,X*9/20,X*11/20))&(mapy=limit(mapy,Y*14/16,Y*15/16)){ end_cord(session_dis)=1 } } await 1 wend ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ここ notesel Prospect noteadd strf(table(z))+" "+str(session_dis)+" "+str(bet(session_dis))+" "+str(money_dis)+" "+str(reactiontime(session_dis)) notesave str(dataFileName) noteunsel session_dis -= 1 await 2000 } if (table(z)=11)|(table(z)=21)|(table(z)=31){ money_dis += ace_point bgscr 0,ginfo_dispx,ginfo_dispy,0,0,0 color 0,150,0 boxf bgscr 1,ginfo_dispx,ginfo_dispy,0,0,0 color 0,150,0 boxf X==ginfo_sizex Y==ginfo_sizey ;;Session color 225,225,225 boxf X*1/10,Y*1/16,X*4/10,Y*3/16 color 0,0,0 line X*4/10,Y*1/16,X*1/10,Y*1/16 line X*1/10,Y*3/16,X*1/10,Y*1/16 line X*4/10,Y*3/16,X*4/10,Y*1/16 line X*4/10,Y*3/16,X*1/10,Y*3/16 ;Session font "msgothic",65:color 0,0,0 pos (X*1/2-session_x)*1/2,(Y*2/8-session_y)*1/2 mes "残り"+strf("%03d",session_dis)+"回" ;Money color 225,225,225 boxf X*6/10,Y*1/16,X*9/10,Y*3/16 color 0,0,0 line X*9/10,Y*1/16,X*6/10,Y*1/16 line X*6/10,Y*3/16,X*6/10,Y*1/16 line X*9/10,Y*3/16,X*9/10,Y*1/16 line X*9/10,Y*3/16,X*6/10,Y*3/16 ;Money pos (X*3/2-money_x)*1/2,(Y*2/8-money_y)*1/2 mes str(money_dis)+" point" pos X*6/20,Y*1/4 gzoom X*3/20,Y*1/4,6,0,0,joker_x,joker_y pos X*11/20,Y*1/4 gzoom X*3/20,Y*1/4,5,0,0,ace_x,ace_y color 255,255,255 line X*3/4,Y*9/16,X*1/4,Y*9/16 line X*1/4,Y*13/16,X*1/4,Y*9/16 line X*3/4,Y*13/16,X*3/4,Y*9/16 line X*3/4,Y*13/16,X*1/4,Y*13/16 font "msgothic",37:color 0,0,0 pos (X-rep_x_bet)*1/2,(Y*11/8-rep_y*3)*1/2 mes "残念" mes {"保険を掛けていたので, 当たりになりました!"} color 225,225,225 boxf X*9/20,Y*14/16,X*11/20,Y*15/16 color 0,0,0 line X*11/20,Y*14/16,X*9/20,Y*14/16 line X*9/20,Y*15/16,X*9/20,Y*14/16 line X*11/20,Y*15/16,X*11/20,Y*14/16 line X*11/20,Y*15/16,X*9/20,Y*15/16 font "msgothic",30:color 0,0,0 pos (X-next_x)*1/2,(Y*29/16-next_y)*1/2 mes "次へ" end_cord(session_dis)=0 while end_cord(session_dis)=0 stick end_key if end_key&256{ mapx=ginfo(0) mapy=ginfo(1) if (mapx=limit(mapx,X*9/20,X*11/20))&(mapy=limit(mapy,Y*14/16,Y*15/16)){ end_cord(session_dis)=2 } } await 1 wend ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ここ notesel Prospect noteadd strf(table(z))+" "+str(session_dis)+" "+str(bet(session_dis))+" "+str(money_dis)+" "+str(reactiontime(session_dis)) notesave str(dataFileName) noteunsel session_dis -= 1 await 2000 } }

これがあと同じようなものが4つあり,すべてwend付近でエラーが出ます。
for~nextで繰り返ししています。

長くなってしまい申し訳ございません。



この記事に返信する


774

リンク

2013/12/27(Fri) 16:21:47|NO.58909

通常 wend でエラー6が発生する事は考え難い為、
マクロ展開などでエラー行の表示がずれている可能性があります。

その事を考慮した場合、
>noteadd strf(table(z))+ 〜〜
の table(z) が数値型変数だと該当エラーが発生しそうです。
(str => strf のタイプミスでしょうか?)


…余計なお世話ですが、ほぼ同様の処理はまとめた方がバグ取りも楽かと思います。



ONION software Copyright 1997-2021(c) All rights reserved.