예제 #1
0
        public override void  incializar(List <int> cartasPropias, List <int> cartasOponente, int limite)
        {
            if (cartasOponente.Count > 0)
            {
                ArbolGeneral <Tuple <int, int> > primernodo = new ArbolGeneral <Tuple <int, int> >(new Tuple <int, int>(0, 0));
                for (int i = 0; i < cartasOponente.Count; i++)
                {
                    ArbolGeneral <Tuple <int, int> > segundonodo = new ArbolGeneral <Tuple <int, int> >(new Tuple <int, int>(cartasOponente[i], limite - cartasOponente[i]));
                    primernodo.agregarHijo(segundonodo);
                    List <int> copy = new List <int>(cartasOponente);
                    copy.RemoveAt(i);
                    Console.WriteLine("cartas oponente" + segundonodo.getDatoRaiz());
                    if (limite - cartasOponente[i] < 0)
                    {
                        Console.WriteLine("Perdio el oponente");
                    }
                    else
                    {
                        incializar(copy, cartasPropias, limite - cartasOponente[i]);
                        Console.WriteLine("cartas propias" + segundonodo.getDatoRaiz());
                    }

                    /*Console.WriteLine("lista removida"+ copy[i].ToString());*/
                }
            }
        }
예제 #2
0
 public void eliminarHijo(ArbolGeneral <T> hijo)
 {
     this.raiz.getHijos().Remove(hijo.getRaiz());
 }
예제 #3
0
 public void agregarHijo(ArbolGeneral <T> hijo)
 {
     this.raiz.getHijos().Add(hijo.getRaiz());
 }