Esempio n. 1
0
        public Map(string path)
        {
            parser = new Parser(path);

            ArrayList current;
            landfills = new ArrayList();
            selected = new Point(-1,-1);
            current = parser.getSection("ATTRIBUTES");
            foreach (string[] line in current)
            {
                if(line[0].Equals("tileset"))
                {
                    tilesetName = line[1];
                    tiles = new tileset(tilesetName);
                }
                else if(line[0].Equals("size"))
                {
                    width = int.Parse(line[1]);
                    height = int.Parse(line[2]);
                }
                else if(line[0].Equals("description"))
                {
                    description = "";
                    for(int i=1;i<line.Length;i++)
                        description += line[i];
                }
            }
            m = new tile_t[width,height];
            current = parser.getSection("CONTENT");
            for(int x=0;x<width;x++)
            {
                for(int y=0;y<height;y++)
                {
                    m[x,y] = new tile_t(((string[])current[y])[x]);
                }
            }

            current = parser.getSection("RESOURCES");
            foreach(string[] line in current)
            {
                if(line[0].Equals("landfill"))
                    addLandfill(int.Parse(line[2])-1,int.Parse(line[3])-1,int.Parse(line[1]),int.Parse(line[4]),int.Parse(line[5]));
                else if(line[0].Equals("oil"))
                    addOilWell(int.Parse(line[1])-1,int.Parse(line[2])-1,0,int.Parse(line[3]),int.Parse(line[4]));
            }

            current = parser.getSection("PLAYERS");
            foreach(string[] line in current)
            {
                if(line.Length > 1)
                    numPlayers++;
            }
        }
Esempio n. 2
0
        public Map(string tilePath, int numX, int numY)
        {
            landfills = new ArrayList();
            selected = new Point(-1,-1);
            tilesetName = tilePath;
            width = numX;
            height = numY;
            tiles = new tileset(tilesetName);
            parser = new Parser();
            m = new tile_t[width,height];

            tile defaultTile = (tile)tiles.getAbsTiles()[0];

            for(int y=0;y<height;y++)
                for(int x=0;x<width;x++)
                    m[x,y] = new tile_t(defaultTile);
        }