Fixed move validation using last board state