Example #1
0
        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();
        }