リフト用コードをマージ中 その7

予定通り、残りの敵の移動ルーチンも新形式に移行させました。
turn_routine.cpp
hop_routine.cpp
hop_step_jump_routine.cpp
hop_step_jump_routine以外は状態を持たないのでコルーチンではなくなっています。
どれもすべてspeed_routine用です。
#今、SVNのコメント間違えているのに気が付きました、、、。


壁にぶつかって引き返す処理や前進する処理が別になっているので、かなり単純になりました。
hop_routineは特に簡単で、

void hop_routine::operator()(game_system* game, game_character* c) const
{
    // 床の上ならジャンプ
    if (is_on_floor(*c, game->characters))
        c->vy = vy_;
    // 空中なら浮力を足す
    else
        c->vy += ay_;
}

だけです。


ここまでくれば移行作業もあとわずか。明日はブロック周りをやります。