예제 #1
0
        }       //Método para dibujar las coordenadas alrededor el panelmapa

        private void panelMapa_Paint(object sender, PaintEventArgs e)
        {
            graficosImg = panelMapa.CreateGraphics();

            for (int i = 0; i < datos.Length; i++)
            {
                for (int j = 0; j < datos[0].Length; j++)
                {
                    Terreno terreno = obtenerTerreno(int.Parse(datos[i][j]));

                    graficosImg.DrawImage(terreno.Imagen, j * CELL_WIDTH, i * CELL_WIDTH);

                    if (coordenada_InicialXY.X == j && coordenada_InicialXY.Y == i)
                    {
                        graficosImg.DrawImage(banderaIni, coordenada_InicialXY.X * CELL_WIDTH, coordenada_InicialXY.Y * CELL_WIDTH, 20, 20);
                    }

                    if (coordenada_FinalXY.X == j && coordenada_FinalXY.Y == i)
                    {
                        graficosImg.DrawImage(banderaFin, coordenada_FinalXY.X * CELL_WIDTH, coordenada_FinalXY.Y * CELL_WIDTH, 20, 20);
                    }
                }
            }

            foreach (Personaje personaje in personajes)
            {
                graficosImg.DrawImage(personaje.Imagen, personaje.CoordenadaX * CELL_WIDTH, personaje.CoordenadaY * CELL_WIDTH, 30, 30);
            }

            foreach (Coordenada coordenada in lista_pasos)
            {
                graficosImg.DrawString(coordenada.listaFormateada(), fuente2, pintaloDeBlanco, coordenada.CoordenadaX * CELL_WIDTH, coordenada.CoordenadaY * CELL_WIDTH);
            }
        }   //Se dibujan los terrenos, personaje, coordenada inicial y final y lista de pasos
예제 #2
0
        }   //Valida si un terreno ya existe en la lista

        private void agregarTerrenos(string texto)
        {
            int fil = 0;
            int col = 0;
            int cod = 0;

            string[] filas = texto.Split('\n');

            if (filas[filas.Length - 1].ToString() == "")  //No hay nada en la ultima fila
            {
                Array.Resize(ref filas, filas.Length - 1); //Se elimina
            }

            fil = filas.Length;

            datos = new string[fil][];

            for (int i = 0; i < fil; i++)
            {
                datos[i] = filas[i].Split(',');
            }
            col = datos[0].Length;


            if (validarDatos(fil, col))
            {
                for (int i = 0; i < fil; i++)
                {
                    for (int j = 0; j < col; j++)
                    {
                        cod = int.Parse(datos[i][j]);

                        if (!existeTerrenoEnLista(cod)) //Si no existe en la lista se agrega
                        {
                            Terreno terreno = new Terreno();
                            terreno.Codigo = cod;
                            terrenos.Add(terreno);
                        }
                    }
                }

                foreach (Terreno terreno in terrenos)   //Se agregan terrenos al combobox
                {
                    cmbCodigo.Items.Add(terreno.Codigo);
                }
                cmbCodigo.SelectedIndex = 0; //Poner indice del combobox en el primer item
                cmbNombre.SelectedIndex = 0;
                panel1.Show();               //Se muestran los paneles
            }
        }                                    //agrega los datos del txt a una matriz e inicializa el panel 1