public void GiveInputToGameController(string input)
    {
        var data = input.Split();

        if (data[0] == "Soldier")
        {
            if (data.Length == 6)
            {
                SoldierFactory soldiersFactory = new SoldierFactory();

                string soldierType = data[1];
                string name        = data[2];
                int    age         = int.Parse(data[3]);
                double experience  = double.Parse(data[4]);
                double endurance   = double.Parse(data[5]);

                ISoldier soldier = soldiersFactory.CreateSoldier(soldierType, name, age, experience, endurance);

                if (weraHouse.TryEquipSoldier(soldier) == true)
                {
                    AddSoldierToArmy(soldier);
                }
                else
                {
                    string massage = string.Format(OutputMessages.SoldierCannotBeEquiped, soldier.GetType().Name, soldier.Name);
                    throw new System.ArgumentException(massage);
                }
            }
            else if (data[1] == "Regenerate")
            {
                string soldiersType = data[2];

                army.RegenerateTeam(soldiersType);
            }
        }
        else if (data[0].Equals("WareHouse"))
        {
            AmmunitionFactory ammunitionFactory = new AmmunitionFactory();

            string name   = data[1];
            int    number = int.Parse(data[2]);

            AddAmmunitions(ammunitionFactory.CreateAmmunition(name), number);
        }
        else if (data[0].Equals("Mission"))
        {
            IMissionFactory missionFactory = new MissionFactory();

            string type            = data[1];
            double scoreToComplete = double.Parse(data[2]);

            IMission mission = missionFactory.CreateMission(type, scoreToComplete);

            consoleWriter.AppendLine(missionController.PerformMission(mission).Trim());
        }
    }
Beispiel #2
0
    public void TestMethod()
    {
        Type missContType = typeof(MissionController);

        this.army = new Army();
        var ranker   = SoldierFactory.CreateSoldier("Ranker", "Ivan", 47, 23, 100);
        var corporal = SoldierFactory.CreateSoldier("Corporal", "Ivaylo", 21, 78, 100);

        this.army.AddSoldier(ranker);
        this.army.AddSoldier(corporal);
        var missionEasy = MissionFactory.CreateMission("Easy", 1);
    }
    public void SuccessMessageShouldWorkCorrectly()
    {
        IArmy      army      = new Army();
        IWareHouse wareHouse = new WareHouse();

        ISoldierFactory soldierFactory = new SoldierFactory();
        IMissionFactory missionFactory = new MissionFactory();

        IMission mission = missionFactory.CreateMission("Easy", 0);

        MissionController missionController = new MissionController(army, wareHouse);

        Assert.That(() => missionController.PerformMission(mission).Trim(), Is.EqualTo($"Mission completed - {mission.Name}"));
    }
Beispiel #4
0
    private static void Main()
    {
        SoldierFactory    fac  = new SoldierFactory();
        AmmunitionFactory afac = new AmmunitionFactory();
        MissionFactory    mfac = new MissionFactory();

        var sold = fac.CreateSoldier("Ranker", "Ivan", 10, 10, 10);

        var ammo = afac.CreateAmmunition("Gun");

        var m = mfac.CreateMission("Easy", 100);

        IReader reader = new ConsoleReader();
        IWriter writer = new ConsoleWriter();

        IEngine engine = new Engine(reader, writer);

        engine.Run();

        //TryToGetSomePointsFromJudge();
    }
Beispiel #5
0
    public void CreateMission(eMissionType type, Transform pos = null, uint level = 0)
    {
        Mission mission = m_Factory.CreateMission(type, pos, level);

        List <Mission> pList;

        if (m_Missions.ContainsKey(mission.Priority))
        {
            pList = m_Missions[mission.Priority];
        }
        else
        {
            pList = new List <Mission>();
            m_Missions.Add(mission.Priority, pList);
        }

        if (mission.Priority == eMissionPriority.Main)
        {
            MainMissionCount++;
            mission.OnMissionComplete += () => { MainMissionCount--; };
        }

        pList.Add(mission);
    }
        private void MissionCommand(string[] data)
        {
            var mission = missionFactory.CreateMission(data[0], double.Parse(data[1]));

            result.AppendLine(this.MissionControllerField.PerformMission(mission).Trim());
        }
Beispiel #7
0
    //Метод на който подаваме инпута
    public void GiveInputToGameController(string input)
    {
        // сплитваме
        var data = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

        //проверяваме каква е командата от инпута
        if (data[0].Equals("Soldier"))
        {
            string type       = string.Empty;
            string name       = string.Empty;
            int    age        = 0;
            int    experience = 0;

            //double speed = 0d; // ненужна променлива
            double endurance = 0d;
            //double motivation = 0; // ненужна променлива
            //double maxWeight = 0d; // ненужна променлива

            if (data.Length == 3)
            {
                type = data[1];
                name = data[2];
            }
            else
            {
                type       = data[1];
                name       = data[2];
                age        = int.Parse(data[3]);
                experience = int.Parse(data[4]);
                //speed = double.Parse(data[5]);
                endurance = double.Parse(data[6]);
                // motivation = double.Parse(data[7]);
                //maxWeight = double.Parse(data[8]);
            }

            var soldiersFactory = new SoldierFactory();
            var soldier         = soldiersFactory.CreateSoldier(type, name, age, experience, endurance);
            //switch (type)
            //{
            //    case "Ranker":
            //        var ranker = soldiersFactory.GenerateRanker(name, age, experience, endurance);

            //        //AddSoldierToArmy(ranker, type);
            //        break;
            //    case "Corporal":
            //        var corporal = soldiersFactory.GenerateCorporal(name, age, experience, endurance);
            //        // AddSoldierToArmy(corporal, type);
            //        break;
            //    case "Special-Force":
            //        var specialForce = soldiersFactory.GenerateSpecialForce(name, age, experience, endurance);
            //        // AddSoldierToArmy(specialForce, type);
            //        break;
            //    case "Regenerate":
            //        var soldierController = new SoldierController(); ;
            //        soldierController.TeamRegenerate(army, name);
            //        break;
            //        //case "Vacation": // излишни методи
            //        //    SoldierController.TeamGoesOnVacation(army, name);
            //        //    break;
            //        //case "Bonus":
            //        //    SoldierController.TeamGetBonus(army, name);
            //        //    break;
            //}
        }
        else if (data[0].Equals("WareHouse"))
        {
            string name              = data[1];
            int    number            = int.Parse(data[2]);
            var    ammunitionFactory = new AmmunitionFactory();
            var    ammunition        = ammunitionFactory.CreateAmmunition(name);
            this.AddAmmunitions(ammunition);
            // AddAmmunitions(ammunitionFactory.CreateAmmunitions(name, number));
        }
        else if (data[0].Equals("Mission"))
        {
            //Трябва да се направи проверка за това каква мисия да бъде стартирана и изобщо
            //има ли смисъл от тези няколко вида мисии и как да се разбере кога коя мисия да бъде изпълнена
            //this.MissionControllerField.PerformMission(new Easy());
            var missionFactory = new MissionFactory();
            var mission        = missionFactory.CreateMission(data[1], double.Parse(data[2]));
        }
    }