一番下からみて、1,2,3つめのreturnでエラーがでます。
チェスのプロモートをbutton goto命令でしてるのですがそれが原因でしょうか。
#deffunc 左クリック受け付け var inhand,int click, array koma_haichi, var sashita, var te, var option マスの大きさ = 100 縦 = 8 横 = 8 if click == 256 { if 0<mousex && mousex<マスの大きさ*横 && 0<mousey && mousey<マスの大きさ*縦{ box = 1+rnd(3) mmplay box if inhand == 12 {//持っていない //かつ何も置いてない if koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ)=12{ return }else{ //かつ 自分の駒をくりっくした if 0 <= koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ) && koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ) <12{ inhand = koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ) koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ)=12 motoposx = mousex/マスの大きさ motoposy = (mousey)/マスの大きさ return } } } if 0<mousex && mousex<マスの大きさ*横 && 0<mousey && mousey<マスの大きさ*縦{ //なにかもってて かつ おいた位置になにもない if inhand != 12 && koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ)==12 { //元の位置と同じなら取り消す if motoposx - mousex/マスの大きさ == 0 && motoposy - (mousey)/マスの大きさ == 0{ koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ) = inhand inhand = 12 return } sakiposx = mousex/マスの大きさ sakiposy = (mousey)/マスの大きさ //プロモートの処理 if sakiposy == 0 && inhand == 5{ pos 100,0 button goto "queen", *queen pos 200,0 button goto "knight", *knight pos 300,0 button goto "bishop", *bishop pos 400,0 button goto "rook", *rook redraw 1 stop *queen inhand = 4 goto *promotebottom *knight inhand = 1 goto *promotebottom *bishop inhand = 2 goto *promotebottom *rook inhand = 0 goto *promotebottom *promotebottom clrobj 1 clrobj 2 clrobj 3 clrobj 4 } if sakiposy == 7 && inhand == 11{ pos 100,0 button goto "queen", *queen2 pos 200,0 button goto "knight", *knight2 pos 300,0 button goto "bishop", *bishop2 pos 400,0 button goto "rook", *rook2 redraw 1 stop *queen2 inhand = 10 goto *promotebottom2 *knight2 inhand = 7 goto *promotebottom2 *bishop2 inhand = 8 goto *promotebottom2 *rook2 inhand = 6 goto *promotebottom2 *promotebottom2 clrobj 1 clrobj 2 clrobj 3 clrobj 4 } //プロモートの処理ここまで if option == 1{ a= str(motoposx) b= str(motoposy) c= str(sakiposx) d= str(sakiposy) e= str(inhand) te= te+a+b+c+d+e } koma_haichi(sakiposx,sakiposy) = inhand inhand = 12 sashita = 1 return } if inhand != 12 && (koma_haichi(mousex/マスの大きさ,(mousey)/マスの大きさ)!=12) { //なにかもってて かつ 置いた位置に何かある sakiposx = mousex/マスの大きさ sakiposy = (mousey)/マスの大きさ a= str(motoposx) b= str(motoposy) c= str(sakiposx) d= str(sakiposy) e= str(inhand) te= te+a+b+c+d+e koma_haichi(sakiposx,sakiposy) = inhand inhand = 12 sashita = 1 return } } } } return