示例#1
0
 public WareHouse()
 {
     this.ammunitionFactory   = new AmmunitionFactory();
     this.ammunitionQuantites = new Dictionary <string, int>();
 }
    public void GiveInputToGameController(string input)
    {
        var data = input.Split();

        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]);
            }

            switch (type)
            {
            case "Ranker":
                var ranker = SoldiersFactory.GenerateRanker(name, age, experience, speed, endurance,
                                                            motivation, maxWeight);
                AddSoldierToArmy(ranker, type);
                break;

            case "Corporal":
                var corporal = SoldiersFactory.GenerateCorporal(name, age, experience, speed, endurance,
                                                                motivation, maxWeight);
                AddSoldierToArmy(corporal, type);
                break;

            case "Special-Force":
                var specialForce = SoldiersFactory.GenerateSpecialForce(name, age, experience, speed, endurance,
                                                                        motivation, maxWeight);
                AddSoldierToArmy(specialForce, type);
                break;

            case "Regenerate":
                SoldierController.TeamRegenerate(army, name);
                break;

            case "Vacation":
                SoldierController.TeamGoesOnVacation(army, name);
                break;

            case "Bonus":
                SoldierController.TeamGetBonus(army, name);
                break;
            }
        }
        else if (data[0].Equals("WearHouse"))
        {
            string name   = data[1];
            int    number = int.Parse(data[2]);

            AddAmmunitions(AmmunitionFactory.CreateAmmunitions(name, number));
        }
        else if (data[0].Equals("Mission"))
        {
            this.MissionControllerField.PerformMission(new Easy());
        }
    }
示例#3
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]));
        }
    }
示例#4
0
 public WareHouse()
 {
     this.ammunitionFactory = new AmmunitionFactory();
     this.Ammunitions       = new Dictionary <string, List <IAmmunition> >();
 }