↑の方のプログラムは、IF B AND nとなっていますが、これでは8方向移動になりますので、IF B==n の方がより良いです。