示例#1
0
 public void intercambiar(nodoSimple p, nodoSimple ap, nodoSimple q, nodoSimple aq)
 {
     if (p == q)
     {
         return;
     }
     desconectar(p, aq);
     if (ap == q)
     {
         conectar(p, aq);
     }
     else
     {
         if (aq == p)
         {
             conectar(p, q);
         }
         else
         {
             desconectar(q, aq);
             conectar(p, aq);
             conectar(q, ap);
         }
     }
 }
示例#2
0
 public Boolean finDeRecorrido(nodoSimple p)
 {
     if (p == null)
     {
         return(true);
     }
     return(false);
 }
示例#3
0
 public void borrar(nodoSimple x, nodoSimple y)
 {
     if (x == null)
     {
         Console.WriteLine("no existe.");
         return;
     }
     desconectar(x, y);
 }
示例#4
0
        public nodoSimple anterior(nodoSimple x)
        {
            nodoSimple p = primerNodo();

            while (p != x)
            {
                p = p.retornaLiga();
            }
            return(p);
        }
示例#5
0
        public void  mostrarLista()
        {
            nodoSimple p = primerNodo();

            while (!finDeRecorrido(p))
            {
                Console.Write(p.retornaDato() + ",");
                p = p.retornaLiga();
            }
        }
示例#6
0
        public nodoSimple buscarDato(object d, nodoSimple y)
        {
            nodoSimple x = primerNodo();

            while (!finDeRecorrido(x) && x.retornaDato() != d)
            {
                y.asignaDato(x);
                x = x.retornaLiga();
            }
            return(x);
        }
示例#7
0
        private void puntosJ1Acumulados()
        {
            nodoSimple p = jj1.getFichas().primerNodo();
            Ficha      f;

            while (!jj1.getFichas().finDeRecorrido(p))
            {
                f         = (Ficha)p.retornaDato();
                puntosJ1 += f.getN1() + f.getN2();
                p         = p.retornaLiga();
            }
        }
示例#8
0
        private int puntosAcumulados(Jugador j)
        {
            nodoSimple p = j.getFichas().primerNodo();
            Ficha      f;
            int        puntos = 0;

            while (!j.getFichas().finDeRecorrido(p))
            {
                f       = (Ficha)p.retornaDato();
                puntos += f.getN1() + f.getN2();
                p       = p.retornaLiga();
            }
            return(puntos);
        }
示例#9
0
        private void renovarLista(Jugador j, Ficha f)
        {
            LSL        aux = new LSL();
            nodoSimple x   = j.getFichas().primerNodo();

            while (!j.getFichas().finDeRecorrido(x))
            {
                if (x.retornaDato() != f)
                {
                    aux.insertar(x.retornaDato(), aux.ultimoNodo());
                }
                x = x.retornaLiga();
            }
            j.setFichas(aux);
        }
示例#10
0
        public nodoSimple buscarDondeInsertar(object d)
        {
            nodoSimple p = primerNodo();
            nodoSimple y = anterior(p);

            while (p != null)
            {
                if ((int)p.retornaDato() > (int)d)
                {
                    break;
                }
                y = p;
                p = p.retornaLiga();
            }
            return(y);
        }
示例#11
0
        public nodoSimple menorDato(nodoSimple y)
        {
            nodoSimple menor = primerNodo();
            nodoSimple q     = menor;
            nodoSimple p     = q.retornaLiga();

            while (!finDeRecorrido(p))
            {
                if ((int)p.retornaDato() < (int)menor.retornaDato())
                {
                    menor = p;
                    y.asignaDato(q);
                }
                q = p;
                p = p.retornaLiga();
            }
            return(menor);
        }
示例#12
0
 public void desconectar(nodoSimple x, nodoSimple y)
 {
     if (y == null)
     {
         if (primero == ultimo)
         {
             ultimo  = null;
             primero = x.retornaLiga();
         }
         else
         {
             y.asignaLiga(x.retornaLiga());
             if (x == ultimo)
             {
                 ultimo = y;
             }
         }
     }
 }
示例#13
0
 public void conectar(nodoSimple x, nodoSimple y)
 {
     n++; //testing
     if (y == null)
     {
         if (primero == null)
         {
             primero = x;
             ultimo  = x;
         }
         else
         {
             x.asignaLiga(primero);
         }
         return;
     }
     x.asignaLiga(y.retornaLiga());
     y.asignaLiga(x);
     if (y == ultimo)
     {
         ultimo = x;
     }
 }
示例#14
0
 public nodoSimple(object d)
 {
     this.dato = d;
     liga      = null;
 }
示例#15
0
        public void insertar(object d, nodoSimple y)
        {
            nodoSimple x = new nodoSimple(d);

            conectar(x, y);
        }
示例#16
0
        private void comenzarJuego()
        {
            if (jj1.getTurno() == 1)
            {
                nodoSimple f1  = jj1.getFichas().primerNodo();
                Ficha      fj1 = (Ficha)f1.retornaDato();
                nodoSimple f2  = f1.retornaLiga();
                Ficha      fj2 = (Ficha)f2.retornaDato();
                nodoSimple f3  = f2.retornaLiga();
                Ficha      fj3 = (Ficha)f3.retornaDato();
                nodoSimple f4  = f3.retornaLiga();
                Ficha      fj4 = (Ficha)f4.retornaDato();
                nodoSimple f5  = f4.retornaLiga();
                Ficha      fj5 = (Ficha)f5.retornaDato();
                nodoSimple f6  = f5.retornaLiga();
                Ficha      fj6 = (Ficha)f6.retornaDato();
                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj1.getId() + ".png");
                ficha1.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj2.getId() + ".png");
                ficha2.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj3.getId() + ".png");
                ficha3.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj4.getId() + ".png");
                ficha4.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj5.getId() + ".png");
                ficha5.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj6.getId() + ".png");
                ficha6.Image = new Bitmap(stream);
            }
            else
            {
                nodoSimple f1  = jj1.getFichas().primerNodo();
                Ficha      fj1 = (Ficha)f1.retornaDato();
                nodoSimple f2  = f1.retornaLiga();
                Ficha      fj2 = (Ficha)f2.retornaDato();
                nodoSimple f3  = f2.retornaLiga();
                Ficha      fj3 = (Ficha)f3.retornaDato();
                nodoSimple f4  = f3.retornaLiga();
                Ficha      fj4 = (Ficha)f4.retornaDato();
                nodoSimple f5  = f4.retornaLiga();
                Ficha      fj5 = (Ficha)f5.retornaDato();
                nodoSimple f6  = f5.retornaLiga();
                Ficha      fj6 = (Ficha)f6.retornaDato();
                nodoSimple f7  = f6.retornaLiga();
                Ficha      fj7 = (Ficha)f7.retornaDato();

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj1.getId() + ".png");
                ficha1.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj2.getId() + ".png");
                ficha2.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj3.getId() + ".png");
                ficha3.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj4.getId() + ".png");
                ficha4.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj5.getId() + ".png");
                ficha5.Image = new Bitmap(stream);

                stream       = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj6.getId() + ".png");
                ficha6.Image = new Bitmap(stream);

                stream         = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + fj7.getId() + ".png");
                ficha7.Enabled = true;
                ficha7.Image   = new Bitmap(stream);
            }
        }
示例#17
0
        private void colocarFichaBots(Jugador j)
        {
            nodoSimple p = j.getFichas().primerNodo();
            Ficha      f;

            while (!j.getFichas().finDeRecorrido(p))
            {
                f = (Ficha)p.retornaDato();
                int x = compararFichas(f);
                if (x == 1 || x == 3)
                {
                    cajonIzqActual = (PictureBox)cajonIzq[cajonIzqSum];
                    cajonIzqSum++;
                    stream = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + f.getId() + ".png");
                    Image img = new Bitmap(stream);

                    if (x == 1)
                    {
                        img.RotateFlip(RotateFlipType.RotateNoneFlipY);
                    }
                    if (f.getN1() == f.getN2())
                    {
                        img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    }

                    if (cajonIzqSum > 6)
                    {
                        img.RotateFlip(RotateFlipType.Rotate90FlipX);
                    }
                    if (cajonIzqSum > 15)
                    {
                        img.RotateFlip(RotateFlipType.Rotate270FlipNone);
                    }
                    if (cajonIzqSum > 17)
                    {
                        img.RotateFlip(RotateFlipType.Rotate90FlipX);
                    }
                    cajonIzqActual.Image = img;
                    cajonIzqActual.Show();
                    j.setCantFichas(j.getCantFichas() - 1);
                    renovarLista(j, f);
                    checarPasar(false);
                    actualizarContador();
                    return;
                }
                else if (x == 2 || x == 4)
                {
                    cajonDerActual = (PictureBox)cajonDer[cajonDerSum];
                    cajonDerSum++;
                    stream = assembly.GetManifestResourceStream("Domino_Logica_II.Resources." + f.getId() + ".png");
                    Image img = new Bitmap(stream);
                    img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    if (x == 4)
                    {
                        img.RotateFlip(RotateFlipType.RotateNoneFlipX);
                    }
                    if (f.getN1() == f.getN2())
                    {
                        img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    }
                    if (cajonDerSum > 9)
                    {
                        img.RotateFlip(RotateFlipType.Rotate270FlipY);
                    }
                    if (cajonDerSum > 11)
                    {
                        img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    }
                    if (cajonDerSum > 14)
                    {
                        img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    }

                    cajonDerActual.Image = img;
                    cajonDerActual.Show();
                    j.setCantFichas(j.getCantFichas() - 1);
                    renovarLista(j, f);
                    checarPasar(false);
                    actualizarContador();
                    return;
                }

                p = p.retornaLiga();
            }
            checarPasar(true);
        }
示例#18
0
 public void asignaLiga(nodoSimple x)
 {
     this.liga = x;
 }