ユーザー入力でキャラクタを操作できるようにしました。
差分
今回のコードではキャラクタの移動処理が座標を更新する移動ルーチン(move_routine)と速度を更新する速度ルーチン(speed_routine)に分かれていて、move_routineにはvelocity_routineを、speed_routineにはplayer_routineを割り当てています。
ちょっと試した限り、
- 坂道の端で1ブロック分テレポートすることがある
- Bダッシュしていても穴に落ちる
というバグを見つけました。要調査。