Ejemplo n.º 1
0
        private static Obszar Wczytaj(string nazwa)
        {
            string katalog ="Resources/Obszary/" + nazwa+".txt";

                String zawartoscPliku = File.ReadAllText(katalog);

                string[] wiersze = zawartoscPliku.ToLower().Split(new[] { Environment.NewLine },StringSplitOptions.None);
             string[]wymiary= wiersze[0].Split(new[]{" "},StringSplitOptions.RemoveEmptyEntries);
             int szerokosc = int.Parse(wymiary[0]);
             int wysokosc = int.Parse(wymiary[1]);
             int[] gracz=new[]{int.Parse(wymiary[2]),int.Parse(wymiary[3])};
             ElementMapy[,] mapa = new ElementMapy[szerokosc, wysokosc];
            for(int i=1;i<wiersze.Length;i++)//pierwszy wiersz to zawiera wymary
            {
                int poczatek = wiersze[i].IndexOf('(');
                int koniec = wiersze[i].IndexOf(')', poczatek+1);
                int j = 0;
                 while(poczatek>-1 && koniec>-1)
                 {
                     string[] wpisPola= wiersze[i].Substring(poczatek+1, koniec - poczatek-1).Trim().Split(';');
                     string tlo = null;
                     ElementMapy el = null;
                     foreach(string zawartosc in wpisPola)
                     {

                         if (!string.IsNullOrEmpty(zawartosc))
                         {

                             string[] element = zawartosc.Split(':');
                             if(element[0]=="przeciwnik")
                             {
                                 el = StworzPrzeciwnika(element[1]);
                             }
                             else if(element[0]=="obiekt")
                             {
                                 el = StworzObiekt(element[1]);
                             }
                             else if (element[0] == "npc")
                             {
                                 el = StworzNpc(element[1]);
                             }
                             else if (element[0] == "tlo")
                             {
                                 tlo = element[1];
                             }
                         }

                     }
                     poczatek = wiersze[i].IndexOf('(',koniec+1);
                     koniec = wiersze[i].IndexOf(')', poczatek + 1);
                     if(el==null)
                     {
                         el = new ElementMapyPusty();
                     }
                     el.Tlo = tlo;
                     mapa[i-1,j] = el;
                     j++;
                 };
            }
            return new Obszar(nazwa,mapa,gracz);
        }
Ejemplo n.º 2
0
 public Obszar(string _nazwa,ElementMapy[,] mapa,int[]  gracz)
 {
     _szerokosc = mapa.GetLength(0);
     _wysokosc = mapa.GetLength(1);
     _mapa = mapa;
     nazwa = _nazwa;
     _gracz = gracz;
 }