Ejemplo n.º 1
0
 public NoDeMemoria(NoDeMemoria noPai, Int32 posicao)
 {
     NoPai               = noPai;
     Posicao             = posicao;
     PesoDeMelhorEscolha = 5;
     NosFilhos           = new List <NoDeMemoria>();
 }
 private void GerarNos(Int32[] digitos, NoDeMemoria noPai)
 {
     foreach (Int32 digito in digitos)
     {
         if (digito != 0)
         {
             NoDeMemoria novoNoFilho = new NoDeMemoria(noPai, digito);
             noPai.NosFilhos.Add(novoNoFilho);
         }
     }
 }
        private void MontarArvore(int escala)
        {
            var digitos = new Int32[(escala * escala) + 1]; for (Int32 d = 1; d <= (escala * escala); d++)

            {
                digitos[d] = d;
            }

            NoRaiz = new NoDeMemoria(null, 0);

            GerarNos(digitos, NoRaiz);
        }
Ejemplo n.º 4
0
        internal NoDeMemoria CarregarNoFilhoDaPosicao(int posicao)
        {
            if (PosicaoJaEstahAcima(posicao))
            {
                throw new Exception("O Computador Aprendiz solicitou uma jogada para carregar um nó filho de uma jogada já feita e por isso o jogo não pode continuar.");
            }

            NoDeMemoria no = ObterNoDaPosicao(posicao);

            if (no == null)
            {
                no = new NoDeMemoria(this, posicao);
                NosFilhos.Add(no);
            }

            return(no);
        }