/// <summary>
        ///		Obtiene el movimiento para capturar una pieza
        /// </summary>
        private ActionViewMovement GetActionCapturePiece(ActionCaptureModel action)
        {
            Figure figure = SearchPiece(action.Type, action.Color, action.From);

            if (figure.Type != null)
            {
                return(new ActionViewMovement(ActionViewMovement.ActionType.Destroy, figure, 0, 0));
            }
            else
            {
                return(null);
            }
        }
예제 #2
0
 /// <summary>
 ///		Elimina una pieza
 /// </summary>
 private void Capture(ActionCaptureModel action)
 {
     //? No comprueba Pieces[index].Piece porque en ocasiones me he encontrado
     //? que se ha leído otro tipo de pieza en la captura
     for (int index = Pieces.Count - 1; index >= 0; index--)
     {
         if (Pieces[index].Color == action.Color &&
             Pieces[index].Cell.Row == action.From.Row && Pieces[index].Cell.Column == action.From.Column)
         {
             Pieces.RemoveAt(index);
         }
     }
 }
 /// <summary>
 ///		Obtiene el movimiento para deshacer la captura de una pieza
 /// </summary>
 private ActionViewMovement GetActionUndoCapturePiece(ActionCaptureModel action)
 {
     return(new ActionViewMovement(ActionViewMovement.ActionType.Create,
                                   CreateFigure(action.From.Row, action.From.Column, action.Color, action.Type),
                                   action.From.Row, action.From.Column));
 }