またも質問させていただきます

アクションゲーム作ってみましたが
ttp://gamdev.org/up/img/6860.lzh

4方向による16ビットの当たり判定まで作ってみたのですが
角にキャラを近づけると引っかかってしまうことがあります

おそらくx軸の判定とY軸の判定が同時に発生していると思うのです
不明瞭だとは思いますが、一応、問題のソースコードも添付しておきます。

C++やダイレクトXに詳しい住民様、解消法を
よろしくお願いしますm(__)m