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