コード例 #1
0
        void GraficarEncabezadosColumna(EncabezadosColumna encolum, int nivel)
        {
            if (encolum.GetPrimero() != null)
            {
                int            cont     = 0;
                NodoEncabezado auxiliar = encolum.GetPrimero();
                sw.Write("{rank = same\n");
                while (auxiliar != null)
                {
                    sw.Write("ec" + auxiliar.Get_Id() + nivel + "[label = \"Numero de columna: " + (char)auxiliar.Get_Id() + "\"];\n");
                    auxiliar = auxiliar.siguiente;
                    cont++;
                }
                sw.Write("}\n");

                auxiliar = encolum.GetPrimero();
                while (auxiliar.siguiente != null)
                {
                    sw.Write("ec" + auxiliar.Get_Id() + nivel + "->ec" + auxiliar.siguiente.Get_Id() + nivel + "\n");
                    sw.Write("ec" + auxiliar.Get_Id() + nivel + "->c" + auxiliar.cont.fila + auxiliar.cont.columna + nivel + "\n");
                    auxiliar = auxiliar.siguiente;
                }
                sw.Write("ec" + auxiliar.Get_Id() + nivel + "->c" + auxiliar.cont.fila + auxiliar.cont.columna + nivel + "\n");
            }
        }
コード例 #2
0
        void GraficarEncabezadosFila(EncabezadoFila enfila, int nivel)
        {
            if (enfila.GetPrimero() != null)
            {
                int            cont     = 0;
                NodoEncabezado auxiliar = enfila.GetPrimero();
                while (auxiliar != null)
                {
                    sw.Write("{rank = same\n");
                    sw.Write("ef" + auxiliar.Get_Id() + nivel + "[label = \"Numero de fila: " + auxiliar.Get_Id() + "\"];\n");

                    NodoMatriz auxiliarcontenido = auxiliar.cont;
                    while (auxiliarcontenido != null)
                    {
                        sw.Write("c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel + "[label = \"Fila: " + auxiliarcontenido.fila + "\\nColumna: " + auxiliarcontenido.columna + "\\nUnidad: " + auxiliarcontenido.idunidad + "\\nJugador: " + auxiliarcontenido.idjugador);
                        if (auxiliarcontenido.subir != null)
                        {
                            sw.Write("\\nArriba: " + auxiliarcontenido.subir.fila + "," + auxiliarcontenido.subir.columna + "-" + auxiliarcontenido.subir.idunidad);
                        }
                        if (auxiliarcontenido.bajar != null)
                        {
                            sw.Write("\\nAbajo: " + auxiliarcontenido.bajar.fila + "," + auxiliarcontenido.bajar.columna + "-" + auxiliarcontenido.bajar.idunidad);
                        }
                        sw.Write("\"];\n");
                        auxiliarcontenido = auxiliarcontenido.siguiente;
                    }

                    sw.Write("}");
                    auxiliar = auxiliar.siguiente;
                    cont++;
                }

                auxiliar = enfila.GetPrimero();
                while (auxiliar.siguiente != null)
                {
                    sw.Write("ef" + auxiliar.Get_Id() + nivel + "->ef" + auxiliar.siguiente.Get_Id() + nivel + "\n");
                    sw.Write("ef" + auxiliar.Get_Id() + nivel + "->c" + auxiliar.cont.fila + auxiliar.cont.columna + nivel + "\n");
                    auxiliar = auxiliar.siguiente;
                }
                sw.Write("ef" + auxiliar.Get_Id() + nivel + "->c" + auxiliar.cont.fila + auxiliar.cont.columna + nivel + "\n");
            }
        }
コード例 #3
0
 public NodoEncabezado ExisteEncabezadoColuma(char id)
 {
     if (this.primero != null)
     {
         NodoEncabezado auxiliar = this.primero;
         while (auxiliar != null)
         {
             if (auxiliar.Get_Id() == id)
             {
                 return(auxiliar);
             }
             auxiliar = auxiliar.siguiente;
         }
     }
     return(null);
 }
コード例 #4
0
 public void EliminarEncabezadoFila(int id)
 {
     if (this.primero != null)
     {
         NodoEncabezado auxiliar = this.primero;
         NodoEncabezado anterior = null;
         while (auxiliar != null)
         {
             if (auxiliar.Get_Id() == id)
             {
                 break;
             }
             anterior = auxiliar;
             auxiliar = auxiliar.siguiente;
         }
         if (anterior == null)
         {
             if (auxiliar.siguiente != null)
             {
                 NodoEncabezado aux = auxiliar.siguiente;
                 auxiliar.siguiente = null;
                 this.primero       = aux;
             }
             else
             {
                 this.primero = null;
             }
         }
         else
         {
             if (auxiliar.siguiente != null)
             {
                 anterior.siguiente = auxiliar.siguiente;
                 auxiliar.siguiente = null;
             }
             else
             {
                 anterior.siguiente = null;
             }
         }
         auxiliar = null;
     }
 }
コード例 #5
0
        public void InsertarEncabezadoColumna(char id, NodoMatriz cont)
        {
            NodoEncabezado nuevo = new NodoEncabezado(id, cont);

            if (this.primero == null)
            {
                this.primero = nuevo;
            }
            else
            {
                if (this.primero.Get_Id() > id)
                {
                    nuevo.siguiente = this.primero;
                    this.primero    = nuevo;
                }
                else
                {
                    NodoEncabezado auxiliar = this.primero;
                    while (auxiliar.siguiente != null)
                    {
                        if (auxiliar.Get_Id() < id && auxiliar.siguiente.Get_Id() > id)
                        {
                            break;
                        }
                        auxiliar = auxiliar.siguiente;
                    }
                    if (auxiliar.siguiente == null)
                    {
                        auxiliar.siguiente = nuevo;
                    }
                    else
                    {
                        nuevo.siguiente    = auxiliar.siguiente;
                        auxiliar.siguiente = nuevo;
                    }
                }
            }
        }
コード例 #6
0
        void GraficarEncabezadosFilaVivos(EncabezadoFila enfila, int nivel)
        {
            if (enfila.GetPrimero() != null)
            {
                int            cont     = 0;
                NodoEncabezado auxiliar = enfila.GetPrimero();
                string         anterior;
                while (auxiliar != null)
                {
                    sw.Write("{rank = same\n");

                    anterior = "";
                    NodoMatriz auxiliarcontenido = auxiliar.cont;
                    while (auxiliarcontenido != null)
                    {
                        if (auxiliarcontenido.vidad != 0)
                        {
                            if (anterior == "")
                            {
                                sw.Write("ef" + auxiliar.Get_Id() + nivel + "[label = \"Numero de fila: " + auxiliar.Get_Id() + "\"];\n");
                                sw.Write("c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel + "[label = \"Fila: " + auxiliarcontenido.fila + "\\nColumna: " + auxiliarcontenido.columna + "\\nUnidad: " + auxiliarcontenido.idunidad + "\\nJugador: " + auxiliarcontenido.idjugador);
                                if (auxiliarcontenido.subir != null)
                                {
                                    sw.Write("\\nArriba: " + auxiliarcontenido.subir.fila + "," + auxiliarcontenido.subir.columna + "-" + auxiliarcontenido.subir.idunidad);
                                }
                                if (auxiliarcontenido.bajar != null)
                                {
                                    sw.Write("\\nAbajo: " + auxiliarcontenido.bajar.fila + "," + auxiliarcontenido.bajar.columna + "-" + auxiliarcontenido.bajar.idunidad);
                                }
                                sw.Write("\"];\n");
                                sw.WriteLine("ef" + auxiliar.Get_Id() + nivel + "->c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel);
                                anterior = "c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel;
                            }
                            else
                            {
                                sw.Write("c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel + "[label = \"Fila: " + auxiliarcontenido.fila + "\\nColumna: " + auxiliarcontenido.columna + "\\nUnidad: " + auxiliarcontenido.idunidad + "\\nJugador: " + auxiliarcontenido.idjugador);
                                if (auxiliarcontenido.subir != null)
                                {
                                    sw.Write("\\nArriba: " + auxiliarcontenido.subir.fila + "," + auxiliarcontenido.subir.columna + "-" + auxiliarcontenido.subir.idunidad);
                                }
                                if (auxiliarcontenido.bajar != null)
                                {
                                    sw.Write("\\nAbajo: " + auxiliarcontenido.bajar.fila + "," + auxiliarcontenido.bajar.columna + "-" + auxiliarcontenido.bajar.idunidad);
                                }
                                sw.Write("\"];\n");
                                sw.WriteLine(anterior + "->c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel);
                                sw.WriteLine("c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel + "->" + anterior);
                                anterior = "c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel;
                            }
                        }

                        auxiliarcontenido = auxiliarcontenido.siguiente;
                    }

                    sw.Write("}");
                    auxiliar = auxiliar.siguiente;
                    cont++;
                }

                auxiliar = enfila.GetPrimero();
                anterior = "";
                while (auxiliar != null)
                {
                    NodoMatriz auxiliarcontenido = auxiliar.cont;
                    while (auxiliarcontenido != null)
                    {
                        if (auxiliarcontenido.vidad != 0)
                        {
                            if (anterior == "")
                            {
                                anterior = "ef" + auxiliar.Get_Id() + nivel;
                            }
                            else
                            {
                                sw.WriteLine(anterior + "->ef" + auxiliar.Get_Id() + nivel);
                                anterior = "ef" + auxiliar.Get_Id() + nivel;
                            }
                            break;
                        }
                        auxiliarcontenido = auxiliarcontenido.siguiente;
                    }
                    auxiliar = auxiliar.siguiente;
                }
            }
        }
コード例 #7
0
        void GraficarEncabezadosColumnaVivos(EncabezadosColumna encolum, int nivel)
        {
            if (encolum.GetPrimero() != null)
            {
                int            cont     = 0;
                NodoEncabezado auxiliar = encolum.GetPrimero();
                sw.Write("{rank = same\n");
                while (auxiliar != null)
                {
                    NodoMatriz auxiliarcontenido = auxiliar.cont;
                    while (auxiliarcontenido != null)
                    {
                        if (auxiliarcontenido.vidad != 0)
                        {
                            sw.WriteLine("ec" + auxiliar.Get_Id() + nivel + "[label = \"Numero de columna: " + (char)auxiliar.Get_Id() + "\"];\n");
                            break;
                        }
                        auxiliarcontenido = auxiliarcontenido.abajo;
                    }

                    auxiliar = auxiliar.siguiente;
                    cont++;
                }
                sw.Write("}\n");

                auxiliar = encolum.GetPrimero();
                string anterior = "";
                while (auxiliar != null)
                {
                    NodoMatriz auxiliarcontenido = auxiliar.cont;
                    while (auxiliarcontenido != null)
                    {
                        if (auxiliarcontenido.vidad != 0)
                        {
                            if (anterior == "")
                            {
                                anterior = "ec" + auxiliar.Get_Id() + nivel;
                            }
                            else
                            {
                                sw.WriteLine(anterior + "->ec" + auxiliar.Get_Id() + nivel);
                                anterior = "ec" + auxiliar.Get_Id() + nivel;
                            }
                            break;
                        }
                        auxiliarcontenido = auxiliarcontenido.abajo;
                    }
                    auxiliar = auxiliar.siguiente;
                }

                auxiliar = encolum.GetPrimero();
                anterior = "";
                while (auxiliar != null)
                {
                    NodoMatriz auxiliarcontenido = auxiliar.cont;
                    anterior = "";
                    while (auxiliarcontenido != null)
                    {
                        if (auxiliarcontenido.vidad != 0)
                        {
                            if (anterior == "")
                            {
                                sw.WriteLine("ec" + auxiliar.Get_Id() + nivel + "->c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel);
                                anterior = "c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel;
                            }
                            else
                            {
                                sw.WriteLine(anterior + "->c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel);
                                sw.WriteLine("c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel + "->" + anterior);
                                anterior = "c" + auxiliarcontenido.fila + auxiliarcontenido.columna + nivel;
                            }
                        }
                        auxiliarcontenido = auxiliarcontenido.abajo;
                    }

                    auxiliar = auxiliar.siguiente;
                }
            }
        }