public void ApplyReverseMove(Move move) { Owner owner = PreviousPlayer; if (PieceGrid.PointPieces[move.AmazonsPoint].Owner != owner) { throw new ArgumentException($"Reverse move given doesn't correspond to {owner} previous turn. Move: {move}"); } if (PieceGrid.PointPieces[move.AmazonsPoint].Name != PieceName.Amazon) { throw new ArgumentException($"Reverse move given isn't on an Amazon. You cannot move a {PieceGrid.PointPieces[move.Origin].Name}. Move: {move}"); } PieceGrid.ApplyReverseMove(move); if (owner == Owner.Player1) { Player1MoveCount--; } else { Player2MoveCount--; } _moves.Clear(); }