refactor
終了判定
movable unit
add missing units