Esempio n. 1
0
        public void MovePieceTo(Piece piece, Position to)
        {
            var toMove = piecesinplay.Where(p => p.Piece.Equals(piece))
                         .FirstOrDefault();

            if (toMove == null)
            {
                throw new InvalidOperationException("No such piece in play " + piece);
            }

            var move = new Move(toMove.Position, to, piece, isfirst);

            if (move.Valid())
            {
                move.Apply(piecesinplay);
                Announce(piece, to);
            }
            else
            {
                AnnounceIllegalMove();
            }

            isfirst = false;
        }
Esempio n. 2
0
        public void MovePieceTo(Piece piece,Position to)
        {
            var toMove = piecesinplay.Where(p => p.Piece.Equals(piece))
                .FirstOrDefault();

            if (toMove == null) throw new InvalidOperationException("No such piece in play " +  piece);

            var move = new Move(toMove.Position,to,piece,isfirst);

            if(move.Valid())
            {
                move.Apply(piecesinplay);
                Announce(piece, to);
            }
            else
                AnnounceIllegalMove();

            isfirst = false;
        }