Ejemplo n.º 1
0
        private void BuildMap()
        {
            MapDirector director = new MapDirector(mapBuilder);

            director.Construct();
            Map = mapBuilder.Build();
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <string> > BuildMap()
        {
            if (_context.Maps.Count() > 0)
            {
                var a = _context.Maps.First();
                return(a.jsonBLocks);
            }

            MapBuilder bb = new SmalMapBuilder();

            bb.CreateMap(20, 20);
            bb.AddItems();
            bb.Map.CreateBlocksArray();


            MapDirector d = new MapDirector();

            d.BuildMap(bb);

            List <Brick> lstb = new List <Brick>();

            foreach (var item in bb.Map.Blocks)
            {
                if (item.getType() == "Brick")
                {
                    lstb.Add((Brick)item);
                }
            }
            List <Water> lstw = new List <Water>();

            foreach (var item in bb.Map.Blocks)
            {
                if (item.getType() == "Water")
                {
                    lstw.Add((Water)item);
                }
            }
            List <Ground> lstg = new List <Ground>();

            foreach (var item in bb.Map.Blocks)
            {
                if (item.getType() == "Ground")
                {
                    lstg.Add((Ground)item);
                }
            }

            string huj  = lstb.ToString() + lstw.ToString();
            var    bbb  = Newtonsoft.Json.JsonConvert.SerializeObject(lstb);
            var    bbb2 = Newtonsoft.Json.JsonConvert.SerializeObject(lstw);
            var    bbb3 = Newtonsoft.Json.JsonConvert.SerializeObject(lstg);
            var    cc   = bbb + bbb2 + bbb3;

            bb.Map.jsonBLocks = cc;
            _context.Maps.Add(bb.Map);

            _context.SaveChanges();
            return(cc);
        }
Ejemplo n.º 3
0
        public void GameSetup()
        {
            scoreboard = new ScoreboardRound();
            foreach (Player player in playerList)
            {
                scoreboard.AddPlayer(player);
            }
            Random      rand = new Random();
            int         r    = rand.Next(100);
            MapDirector mapDirector;

            if (r < 30)
            {
                mapDirector = new MapDirector(new ConcreteMapBuilder());
            }
            else if (r < 60)
            {
                mapDirector = new MapDirector(new DefaultMapBuilder());
            }
            else
            {
                mapDirector = new MapDirector(new TeleporterMapBuilder());
            }

            Map mapFromCache = Server.GetMapByName(mapDirector.getMap().mapName);

            //If the map was already generated, clone it
            //If the map was not generated before, generate it and put a copy of it in cache
            if (mapFromCache != null)
            {
                map = new MapAdapter(mapFromCache);
            }
            else
            {
                mapDirector.constructMap();
                Map temp = mapDirector.getMap();
                map = new MapAdapter(temp);
                Server.AddMap(temp);
            }
            Server.current = map.GetMapFacade();
        }
Ejemplo n.º 4
0
        public static void BuilderDemo()
        {
            Random      rand = new Random();
            int         r    = rand.Next(100);
            MapDirector mapDirector;

            if (r < 30)
            {
                mapDirector = new MapDirector(new ConcreteMapBuilder());
            }
            else if (r < 60)
            {
                mapDirector = new MapDirector(new DefaultMapBuilder());
            }
            else
            {
                mapDirector = new MapDirector(new TeleporterMapBuilder());
            }
            Console.WriteLine(r);
            mapDirector.constructMap();
            Map map = mapDirector.getMap();

            Unit[,] units = map.getUnits();
            for (int i = 0; i < map.xSize; i++)
            {
                for (int j = 0; j < map.ySize; j++)
                {
                    if (units[i, j] != null)
                    {
                        Console.Write(units[i, j] + "-");
                    }
                    else
                    {
                        Console.Write("blank-");
                    }
                }
                Console.WriteLine();
            }
        }