歩く・剣を振る・弓を引くという主人公が今行っている行動を管理する変数を追加して歩いているとき以外は他の行動ができないようにする必要がありそうです。 もう一つ、メインループが長くなっているのが気になります。GOSUBではなくGOTOを使っていることでメインループのなかで処理を分岐させているようですが、弓を引いているときは処理が伸び、そう出ないときはループするのであれば弓矢の処理をGOSUBで切り分けた方が見通しが良くなりますよ。