Fix and complete Board.isMoveValid