そうね。重複処理は避けるようにすると効率がいいしデバッグも楽

spriteとかは最後に動いた方向をcharactor_directionとかのグローバル変数に保存してやればいちいち再計算する必要ないし使いまわせるな

もっといえばPlayerクラス作ってそこに上のコード書くべき
プレイヤーキャラを増やすときにPlayerクラスから継承させればキー入力や向き計算のコードを何度も書く必要なくなる