Exemplo n.º 1
0
        public ChessMove Move(ref ChessGameField.Cell[,] field, Point posFrom, Point posTo, ChessMove lastMove)
        {
            if (CanMove(field, posFrom, posTo, lastMove))
            {
                ChessMove move = new ChessMove();
                if (field[posTo.X, posTo.Y].figure != null)
                {
                    move.AddAction(new ChessMove.RemoveAction(posTo));
                }
                move.AddAction(new ChessMove.MoveAction(posFrom, posTo));
                return move;
            }

            return null;
        }