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); }
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); }