Exemplo n.º 1
0
        /// <summary>
        /// Компоновщик
        /// </summary>
        public static void GoCompositeItem()
        {
            IItem ammo = new Ammo();
            IItem fuel = new Fuel();
            IItem zip  = new ZIP();

            Composite tank = new Composite();

            tank.AddItem(ammo);
            tank.AddItem(ammo);
            tank.AddItem(fuel);
            tank.AddItem(zip);

            Composite platoon = new Composite();

            platoon.AddItem(tank);
            platoon.AddItem(tank);
            platoon.AddItem(tank);

            Composite sq = new Composite();

            sq.AddItem(platoon);
            sq.AddItem(platoon);
            sq.AddItem(platoon);
            sq.AddItem(platoon);

            Print(sq.Take(ESubdivision.ота));

            Console.ReadKey();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Собрать роту
        /// </summary>
        public List <string> Equip()
        {
            List <string>  vs             = new List <string>();
            PlatoonFactory platoonFactory = new PlatoonFactory();
            RollCall       rollCall       = new RollCall();
            Composite      tank           = new Composite();

            tank.AddItem(new Ammo());
            tank.AddItem(new Fuel());
            tank.AddItem(new ZIP());

            Platoon p2si13 = new Platoon();

            p2si13 = platoonFactory.GetPlatoonClear("Танкисты");
            vs.Add(p2si13.SetTitleAndConnect("2СИ-13"));

            p2si13.AddItem(tank);
            p2si13.AddItem(tank);
            p2si13.AddItem(tank);

            p2si13.AddSolder("Барсуков", "Механик водитель 1-го танка");
            p2si13.AddSolder("Горбунцов", "Наводчик 1-го танка");
            p2si13.AddSolder("Бердюгин", "Командир экипажа 1-го танка");

            p2si13.AddSolder("Алексеев", "Механик водитель 2-го танка");
            p2si13.AddSolder("Крыловский", "Наводчик 2-го танка");
            p2si13.AddSolder("Астапов", "Командир экипажа 2-го танка");

            p2si13.AddSolder("Рудько", "Механик водитель 3-го танка");
            p2si13.AddSolder("Чеконов", "Наводчик 3-го танка");
            p2si13.AddSolder("Татьков", "Командир экипажа 3-го танка");
            vs.AddRange(rollCall.Begin(p2si13));

            sq.Add(p2si13);

            Platoon p1t16 = new Platoon();

            p1t16 = platoonFactory.GetPlatoonClear("Танкисты");
            vs.Add(p1t16.SetTitleAndConnect("1Т-16"));

            p1t16.AddItem(tank);
            p1t16.AddItem(tank);
            p1t16.AddItem(tank);

            p1t16.AddSolder("Худяков", "Механик водитель 1-го танка");
            p1t16.AddSolder("Попцов", "Наводчик 1-го танка");
            p1t16.AddSolder("Логинов", "Командир экипажа 1-го танка");

            p1t16.AddSolder("Михельсон", "Механик водитель 2-го танка");
            p1t16.AddSolder("Дроздов", "Наводчик 2-го танка");
            p1t16.AddSolder("Вяткин", "Командир экипажа 2-го танка");

            p1t16.AddSolder("Андреев", "Механик водитель 3-го танка");
            p1t16.AddSolder("Гринько", "Наводчик 3-го танка");
            p1t16.AddSolder("Свиридов", "Командир экипажа 3-го танка");

            vs.AddRange(rollCall.Begin(p1t16));
            sq.Add(p1t16);

            Platoon p2si15 = new Platoon();

            p2si15 = platoonFactory.GetPlatoonClear("Танкисты");
            vs.Add(p2si15.SetTitleAndConnect("2СИ-15"));

            p2si15.AddItem(tank);
            p2si15.AddItem(tank);
            p2si15.AddItem(tank);

            p2si15.AddSolder("Халилов", "Механик водитель 1-го танка");
            p2si15.AddSolder("Нагель", "Наводчик 1-го танка");
            p2si15.AddSolder("Черных", "Командир экипажа 1-го танка");

            p2si15.AddSolder("Красненко", "Механик водитель 2-го танка");
            p2si15.AddSolder("Рысьянов", "Наводчик 2-го танка");
            p2si15.AddSolder("Рыжков", "Командир экипажа 2-го танка");

            p2si15.AddSolder("Тычков", "Механик водитель 3-го танка");
            p2si15.AddSolder("Маркевцев", "Наводчик 3-го танка");
            p2si15.AddSolder("Даулетович", "Командир экипажа 3-го танка");

            vs.AddRange(rollCall.Begin(p2si15));
            sq.Add(p2si15);

            foreach (var item in sq)
            {
                vs.AddRange(item.Take());
            }
            return(vs);
        }