Ejemplo n.º 1
0
        // Métodos públicos
        #region Publicos

        /// <summary>Cria uma peça igual para um outro jogo (possívelmene clonado).</summary>
        /// <param name="game">Jogo para o qual será criada a peça</param>
        /// <returns>A nova peça criada.</returns>
        public CheckersPiece Clone(CheckersGame game)
        {
            // Recupera a peça a clonada
            CheckersPiece clonedPiece = game.PieceAt(Location);

            // Certifica que a peça existe e é igual
            if (clonedPiece?.Player != Player || (clonedPiece.InPlay != InPlay) || (clonedPiece.Rank != Rank))
            {
                return(null);
            }

            // Retorna peça clonada
            return(clonedPiece);
        }