角度を使って判定を行う場合に注意すべきことは「向きの基準」です。 例えば8方向で「上」を判定する場合には45度の範囲となりますが、真上を基準に±22.5度の合計45度で判定が必要ということです。 このプログラムで+382.5という数字は+360(負数対策)に補正値22.5をプラスしたものです。 こうしないと真上から少しずれただけで斜めと判定されてしまう恐れがあります。 このプログラムはプログラムリスト短縮をしている関係上で分かりにくい部分もありますが、仕組み自体は非常に単純です。 とはいえ、普通に戻り値X、Yをしきい値とで比較する最初のやり方と比べると難しいため初心者は敬遠しがちだと思います。 プログラム自体は多少難しくても調整が楽(使いこなすのが楽)であるため結果的にこちらの方が簡単なのです。