Exemplo n.º 1
0
 public bool ortogonalSetMaxFilasColumnas(int filas, int columnas)
 {
     tablero_juego = new MatrizOrtogonal();//nuevo porque no se esta limpiando la matriz ortogonal
     tablero_juego.Max_columnas = columnas;
     tablero_juego.Max_filas    = filas;
     return(true);
 }
Exemplo n.º 2
0
        private static string codigoDisperso(MatrizOrtogonal tablero, int nivel, bool vivos)
        {
            string salida = "digraph g{\n";
            NodoAux <Orto <Unidad> > fila    = tablero.cabezera_fila;
            NodoAux <Orto <Unidad> > columna = tablero.cabezera_columna;

            //Node<NodoO> aux = tablero.esquina;
            salida += "{rank=same;\n esquina[color=white,label=\"\"];\n";
            salida += codigoColumna(columna);
            salida += codigoFila(fila);
            salida += codigoNodos(fila, nivel, vivos);//aqui veo que nivel quiero graficar
            salida += "}";
            return(salida);
        }
Exemplo n.º 3
0
        public static bool graficarTableroCompleto(MatrizOrtogonal tablero, string nombre_dot, string ruta_destino, string nombre_png, int nivel)
        {
            bool   bandera        = true;
            string path_principal = string.Format(@"{0}Dots\", AppDomain.CurrentDomain.BaseDirectory);//path donde se instale el coso
            string ruta_dot       = Path.Combine(path_principal, nombre_dot);
            string ruta_png       = Path.Combine(ruta_destino, nombre_png);

            limpiarFiles(ruta_dot, ruta_png);                                  //nuevo
            if (guardarDot(codigoTableroCompleto(tablero, nivel), nombre_dot)) //1.guardamos el codigo
            {
                string comando;
                comando = "dot " + "-Tpng \"" + ruta_dot + "\" -o \"" + ruta_png + "\"";
                if (llamarCMD(comando))
                {
                    bandera = true;
                }
                else
                {
                    bandera = false;
                }
            }
            return(bandera);
        }
Exemplo n.º 4
0
        private static string codigoTableroCompleto(MatrizOrtogonal tablero, int nivel)//siempre muestra solo los vivos, este es solo para clientes
        {
            string salida = "digraph g{\n"
                            + "node[shape=plaintext];\n";

            salida += "matriz[label=<<TABLE border=\"0\" cellspacing=\"0\" cellborder=\"1\">\n";
            NodoAux <Orto <Unidad> > fila = tablero.cabezera_fila;
            char char_1 = (char)65;
            char char_2 = (char)64;

            //char char_3;

            #region Encabezados columnas
            salida += "<TR>";
            salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\"></TD>\n"; //esta es la esquina
            for (int i = 0; i < tablero.Max_columnas; i++)                           //headers
            {
                if (i < 26)                                                          //una letra
                {
                    salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\">" + char_1 + "</TD>\n";
                    char_1++;
                }
                else if (i >= 26 && i < 702)//dos letras
                {
                    if (char_1 > 90)
                    {
                        char_1 = (char)65;//regresa a ser A
                        char_2++;
                    }
                    salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\">" + char_2 + char_1 + "</TD>\n";
                    char_1++;
                }//que ganas hacer mas letras
            }
            salida += "</TR>\n";
            #endregion
            #region Filas y todo lo demas
            for (int i = 1; i <= tablero.Max_filas; i++)
            {
                salida += "<TR>\n";
                if (i < 10)
                {
                    salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\">" + i + "</TD>\n";//cabezera de fila
                }
                else
                {
                    salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\">" + i + "</TD>\n";//cabezera de fila
                }
                NodoAux <Orto <Unidad> > aux = tablero.buscarRow(i);
                char_1 = (char)65;                                            //reseteamos las columnas
                char_2 = (char)64;                                            //de busqueda
                if (aux != null)                                              //si la fila existe
                {
                    for (int j = 1; j <= tablero.Max_columnas; j++, char_1++) //reviso todos los espacios
                    {
                        if (char_1 > 90)                                      //si me paso de z
                        {
                            char_1 = (char)65;
                            char_2++;  //uso otra letra
                        }
                        Unidad actual; //busco a la unidad
                        if (j < 26)
                        {
                            actual = tablero.buscarPorPosicion(i, char_1.ToString(), nivel);
                        }
                        else
                        {
                            string row = char_2.ToString() + char_1.ToString();
                            actual = tablero.buscarPorPosicion(i, row, nivel);
                        }
                        if (actual != null && actual.Vivo == true)                                                                                                           //si encuentro algo y esta vivo(no es necesario el true pero por si acaso)
                        {
                            salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\">" + actual.Nombre + "<br/>HP:" + actual.Hp + "<br/>" + actual.Duenyo + "</TD>\n"; //agrego su info
                        }
                        else
                        {
                            salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\"></TD>\n";
                        }
                    }
                }
                else//si la fila no existe
                {
                    for (int j = 0; j < tablero.Max_columnas; j++)
                    {
                        salida += "<TD width=\"100\" height=\"100\" fixedsize=\"true\"></TD>\n";
                    }
                }
                salida += "</TR>";
            }
            #endregion


            salida += "</TABLE>>];\n"
                      + "}";
            return(salida);
        }