じゃぁ、問題のあった左ボタンのほうだけを見てみましょう。
もし元のコードで、一番左端(PX=0)にいたときに左ボタンをおすとPXの値はどうなるでしょうか?
IF B AND 4 THEN PX=PX-1
そう、PX=PX-1 → PX=0-1 → PX=-1 となります。
するとその直後の行でおこなっている
LOCATE PX,PY
のPXに-1が入ってしまいます。LOCATEにマイナス値を入れてしまうとエラーになってしまうのです。
そこで、
IF B AND 4 THEN VX=-1
となおしました。
すると、PXの値はこの時点では変化しないので、エラーは発生しません。
LOCATEの下の行の
PX=PX+VX
で 初めてPXの移動が発生し、PX=0+-1 → PX=-1 となります。
(続く)