LOCATE命令のヘルプを見ると、WIDTH命令で文字の大きさを変えた時の場合も含めて引数の有効範囲が書いてありますね。 LOCATE命令を実行する前に、範囲外の数値になっているかどうかをチェックして、もし範囲外なら有効範囲内に収める処理を書き足してやればエラーは回避できるはず。 具体的には IF PX>49 THEN PX=49 IF PX<0 THEN PX=0 みたいな感じで。 でもこのプログラムで移動の処理の前に、Y軸方向だけ別途に空白で上書きしてるのは何か意図があるんです?