移動量は16ですよ。早さに影響するのは-10のところです。 それよりも大きな問題はBGANIMの移動が完了するまでは再度BGANIMをしてはいけません。今のプログラムの場合、ボタンを押している間、BGANIMを何度も実行するので正常な動作にならないと思います。 一つの方法としては、移動中はメインループに戻さない手があります。その場合、24行目を WHILE BGCHK(0)AND #CHKXY:VSYNC:WEND としておけば移動が終わるまでこの行で待機させることが出来ます。 (なので移動後に25行目以降のランダムチェックが入ることになりますが)