Fix double-jump error, refactor Piece class