プレイヤーの座標はX、Yでスプライトを表示する際の位置指定は X,Yとしていますか? 敵のスプライトの表示位置Yは-FY[J]としていますが当たり判定では FY[J]-2やFY[J]+17としているためスプライトの表示位置で 当たり判定が行われていません。簡単に直すならIF命令の中の FY[J]を-FY[J]にしてみて下さい。