Exemplo n.º 1
0
 public Nodo(Pico pico)
 {
     NodosHijos = new List <Nodo>();
     this.Pico  = pico;
 }
Exemplo n.º 2
0
 public override string ToString()
 {
     return(Pico.ToString());
 }
Exemplo n.º 3
0
        private static List <Pico> CrearThreePeaks(List <Pico> nivel1, List <Pico> nivel2, List <Pico> nivel3, List <Pico> nivel4, out string error)
        {
            try
            {
                //nivel 1 = 10 cartas
                //nivel 2 = 9 cartas
                //nivel 3 = 6 cartas
                //nivel 4 = 3 cartas

                List <Pico> cartasEnPicos = new List <Pico>();

                Pico picoBase = null;
                Pico pico1    = new Pico(nivel4[0])
                {
                };                                //9
                Pico pico2 = new Pico(nivel4[1]); //A
                Pico pico3 = new Pico(nivel4[2]); //Q

                cartasEnPicos.Add(pico1);
                cartasEnPicos.Add(pico2);
                cartasEnPicos.Add(pico3);

                pico1.InferiorIzquierda = new Pico(nivel3[0]); //10
                pico1.InferiorDerecha   = new Pico(nivel3[1]); //8

                pico2.InferiorIzquierda = new Pico(nivel3[2]); //5
                pico2.InferiorDerecha   = new Pico(nivel3[3]); //2

                pico3.InferiorIzquierda = new Pico(nivel3[4]); //3
                pico3.InferiorDerecha   = new Pico(nivel3[5]); //6

                cartasEnPicos.Add(pico1.InferiorIzquierda);
                cartasEnPicos.Add(pico1.InferiorDerecha);
                cartasEnPicos.Add(pico2.InferiorIzquierda);
                cartasEnPicos.Add(pico2.InferiorDerecha);
                cartasEnPicos.Add(pico3.InferiorIzquierda);
                cartasEnPicos.Add(pico3.InferiorDerecha);

                pico1.InferiorIzquierda.InferiorIzquierda = new Pico(nivel2[0]);                                           //k
                pico1.InferiorIzquierda.InferiorDerecha   = pico1.InferiorDerecha.InferiorIzquierda = new Pico(nivel2[1]); //4
                pico1.InferiorDerecha.InferiorDerecha     = new Pico(nivel2[2]);                                           //3

                pico2.InferiorIzquierda.InferiorIzquierda = new Pico(nivel2[3]);                                           //6
                pico2.InferiorIzquierda.InferiorDerecha   = pico2.InferiorDerecha.InferiorIzquierda = new Pico(nivel2[4]); //k
                pico2.InferiorDerecha.InferiorDerecha     = new Pico(nivel2[5]);                                           //j

                pico3.InferiorIzquierda.InferiorIzquierda = new Pico(nivel2[6]);                                           //3
                pico3.InferiorIzquierda.InferiorDerecha   = pico3.InferiorDerecha.InferiorIzquierda = new Pico(nivel2[7]); //3
                pico3.InferiorDerecha.InferiorDerecha     = new Pico(nivel2[8]);                                           //q


                cartasEnPicos.Add(pico1.InferiorIzquierda.InferiorIzquierda);
                cartasEnPicos.Add(pico1.InferiorIzquierda.InferiorDerecha);
                cartasEnPicos.Add(pico1.InferiorDerecha.InferiorDerecha);
                cartasEnPicos.Add(pico2.InferiorIzquierda.InferiorIzquierda);
                cartasEnPicos.Add(pico2.InferiorIzquierda.InferiorDerecha);
                cartasEnPicos.Add(pico2.InferiorDerecha.InferiorDerecha);
                cartasEnPicos.Add(pico3.InferiorIzquierda.InferiorIzquierda);
                cartasEnPicos.Add(pico3.InferiorIzquierda.InferiorDerecha);
                cartasEnPicos.Add(pico3.InferiorDerecha.InferiorDerecha);


                pico1.InferiorIzquierda.InferiorIzquierda.InferiorIzquierda = picoBase = new Pico(nivel1[0]);//A
                cartasEnPicos.Add(pico1.InferiorIzquierda.InferiorIzquierda.InferiorIzquierda);
                pico1.InferiorIzquierda.InferiorIzquierda.InferiorDerecha     =
                    pico1.InferiorDerecha.InferiorIzquierda.InferiorIzquierda = new Pico(nivel1[1]);  //Q
                cartasEnPicos.Add(pico1.InferiorIzquierda.InferiorIzquierda.InferiorDerecha);
                pico1.InferiorIzquierda.InferiorDerecha.InferiorDerecha     =
                    pico1.InferiorDerecha.InferiorDerecha.InferiorIzquierda = new Pico(nivel1[2]); //5
                cartasEnPicos.Add(pico1.InferiorIzquierda.InferiorDerecha.InferiorDerecha);
                pico1.InferiorDerecha.InferiorDerecha.InferiorDerecha           =
                    pico2.InferiorIzquierda.InferiorIzquierda.InferiorIzquierda = new Pico(nivel1[3]);  //4
                cartasEnPicos.Add(pico1.InferiorDerecha.InferiorDerecha.InferiorDerecha);
                pico2.InferiorIzquierda.InferiorIzquierda.InferiorDerecha     =
                    pico2.InferiorDerecha.InferiorIzquierda.InferiorIzquierda = new Pico(nivel1[4]);  //9
                cartasEnPicos.Add(pico2.InferiorIzquierda.InferiorIzquierda.InferiorDerecha);
                pico2.InferiorIzquierda.InferiorDerecha.InferiorDerecha     =
                    pico2.InferiorDerecha.InferiorDerecha.InferiorIzquierda = new Pico(nivel1[5]); //5
                cartasEnPicos.Add(pico2.InferiorIzquierda.InferiorDerecha.InferiorDerecha);
                pico2.InferiorDerecha.InferiorDerecha.InferiorDerecha           =
                    pico3.InferiorIzquierda.InferiorIzquierda.InferiorIzquierda = new Pico(nivel1[6]);//5
                cartasEnPicos.Add(pico2.InferiorDerecha.InferiorDerecha.InferiorDerecha);
                pico3.InferiorIzquierda.InferiorIzquierda.InferiorDerecha     =
                    pico3.InferiorDerecha.InferiorIzquierda.InferiorIzquierda = new Pico(nivel1[7]);//4
                cartasEnPicos.Add(pico3.InferiorIzquierda.InferiorIzquierda.InferiorDerecha);
                pico3.InferiorIzquierda.InferiorDerecha.InferiorDerecha     =
                    pico3.InferiorDerecha.InferiorDerecha.InferiorIzquierda = new Pico(nivel1[8]); //7
                cartasEnPicos.Add(pico3.InferiorIzquierda.InferiorDerecha.InferiorDerecha);
                pico3.InferiorDerecha.InferiorDerecha.InferiorDerecha = new Pico(nivel1[9]);       //10
                cartasEnPicos.Add(pico3.InferiorDerecha.InferiorDerecha.InferiorDerecha);

                pico1.ConocerPadres();
                pico2.ConocerPadres();
                pico3.ConocerPadres();

                cartasEnPicos.Reverse();
                error = string.Empty;
                return(cartasEnPicos);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(null);
            }
        }