예제 #1
0
    public void CargarMapa(string nombre)
    {
        List <string> lineas;
        int           actualX, actualY;

        try
        {
            lineas = new List <string>(File.ReadAllLines(nombre));
        }
        catch (Exception e)
        {
            lineas = new List <string>();
        }
        Sprite aux = new Sprite();

        for (int i = 0; i < lineas.Count; i++)
        {
            string linea = lineas[i];
            actualY = i * aux.height;

            for (int j = 0; j < linea.Length; j++)
            {
                actualX = j * aux.width;

                switch (linea[j])
                {
                case 'A':
                    Arbol a = new Arbol("data/tree.png");
                    a.MoveTo(actualX, actualY);
                    Arboles.Add(a);
                    break;

                case 'E':
                    Edificio e = new Edificio("data/casa_amarilla.png");
                    e.MoveTo(actualX, actualY);
                    Edificios.Add(e);
                    break;

                case 'H':
                    Hierba h = new Hierba("data/hierba_alta.png");
                    h.MoveTo(actualX, actualY);
                    Hierbas.Add(h);
                    break;

                case 'N':
                    Npc n = CargarNpc();
                    n.MoveTo(actualX, actualY);
                    Npcs.Add(n);
                    break;

                case 'F':
                    Enfermera ef = new Enfermera(
                        new string[4][] {
                        new string[] { "data/npcs/enfermera/enfermeraRightBase.png" },
                        new string[] { "data/npcs/enfermera/enfermeraLeftBase.png" },
                        new string[] { "data/npcs/enfermera/enfermeraUpBase.png" },
                        new string[] { "data/npcs/enfermera/enfermeraDownBase.png" }
                    });
                    ef.Dialogo.Add("Tus pokemons han sido curados");
                    ef.MoveTo(actualX, actualY);
                    Npcs.Add(ef);
                    break;

                case 'P':
                    Pc p = new Pc("data/pc.png");
                    p.MoveTo(actualX, actualY);
                    Pcs.Add(p);
                    break;
                }
            }
        }
    }