isMoveValid function complete