メインループの中の薬の移動をする部分が1個分しかないので 画面右側に留まったままになりますね。 移動処理は A=1:FOR I=0 TO 50 SPOFS A OUT X1,Y1 X1,Y1に関する処理(長いので省略) SPOFS A,X1,Y1 NEXT SPの当たり判定は IF SPHITSP(0,1,51)!=-1 THEN BREAK とするか WHILE 1を WHILE SPHITSP(0,1,51)==-1に変更して どちらかでメインループを抜ければ良いかと。