private CartaA GetCartaIneditaRodada(int numRodada)
        {
            CartaA aux = Deck.CartaRandom;

            while (aux.RodadaNum == numRodada)
            {
                aux = Deck.CartaRandom;
            }
            aux.RodadaNum = (uint)numRodada;

            return(aux);
        }
        public AvaliaProbabilidadeMao(IList <Carta> mao, IList <Carta> maoSecundaria, IList <Carta> mesa, uint numeroRodadas = 100000)
        {
            Deck = new DeckA();
            Deck.CriaDeckAvaliacao();

            MaoPrincipal  = new CartaA[LIMITE_MAO_P];
            MaoSecundaria = new CartaA[LIMITE_MAO_S];
            Mesa          = new CartaA[LIMITE_MESA];

            ToCartaA(mao, MaoPrincipal);
            ToCartaA(maoSecundaria, MaoSecundaria);
            ToCartaA(mesa, Mesa);

            NumCartasMao    = mao?.Count(p => p != null) ?? 0;
            NumCartasMaoSec = maoSecundaria?.Count(p => p != null) ?? 0;
            NumCartasMesa   = mesa?.Count(p => p != null) ?? 0;

            NumeroRodadas = numeroRodadas;
        }
        private void ToCartaA(IList <Carta> C, CartaA [] array)
        {
            if (C == null)
            {
                return;
            }

            for (int i = 0; i < C.Count; i++)
            {
                if (C[i] == null)
                {
                    break;
                }

                array[i] = new CartaA()
                {
                    Numero = C[i].Numero, Naipe = C[i].Naipe, RodadaNum = 0
                };
            }
        }