Esempio n. 1
0
    public void GiveInputToGameController(string input)
    {
        var data = input.Split();

        if (data[0].Equals("Soldier"))
        {
            var soldier = soldierFactory.CreateSoldier(data[1], data[2], int.Parse(data[3]), double.Parse(data[4]),
                                                       double.Parse(data[5]));
            if (wareHouse.TryEquipSoldier(soldier))
            {
                army.AddSoldier(soldier);
            }
            else
            {
                throw new ArgumentException(string.Format(OutputMessages.SoldierCannotBeEquiped, data[1], data[2]));
            }
        }
        else if (data[1] == "Regenerate")
        {
            army.RegenerateTeam(data[2]);
        }

        else if (data[0] == "WareHouse")
        {
            string name   = data[1];
            int    number = int.Parse(data[2]);

            this.wareHouse.AddAmmunition(name, number);
        }
        else if (data[0] == "Mission")
        {
            var mission = missionFactory.CreateMission(data[1], double.Parse(data[2]));
            writer.AppendLine(missionController.PerformMission(mission).TrimEnd());
        }
    }
    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());
        }
    }
Esempio n. 3
0
    public void GiveInputToGameController(string input)
    {
        var data = input.Split();

        string givenType = data[0];

        string givenCommand = data[1];

        if (givenType.Equals("Soldier"))
        {
            if (givenCommand == "Regenerate")
            {
                army.RegenerateTeam(givenType);
            }
            else
            {
                var soldier = this.soldierFactory.CreateSoldier
                              (
                    data[1],                    //type
                    data[2],                    //name
                    int.Parse(data[3]),         //age
                    double.Parse(data[4]),      //experience
                    double.Parse(data[5])       //endurance
                              );

                if (this.wareHouse.TryEquipSoldier(soldier))
                {
                    this.army.AddSoldier(soldier);
                }
                else
                {
                    throw new ArgumentException(string.Format(OutputMessages.SoldierCannotBeEquiped, data[1], data[2]));
                }
            }
        }

        else if (data[0].Equals("WareHouse"))
        {
            string name   = data[1];
            int    number = int.Parse(data[2]);

            this.wareHouse.AddAmmunition(name, number);
        }
        else if (data[0].Equals("Mission"))
        {
            var mission = missionFactory.CreateMission(data[1], double.Parse(data[2]));
            writer.AppendLine(this.missionController.PerformMission(mission).Trim());
        }
    }
    public void GiveInputToGameController(string input)
    {
        string[] data = input.Split();

        if (data[0].Equals("Soldier"))
        {
            if (data[1] == "Regenerate")
            {
                army.RegenerateTeam(data[2]);
            }
            else
            {
                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 = this.soldierFactory.CreateSoldier(soldierType, name, age, experience, endurance);

                if (this.wareHouse.TryEquipSoldier(soldier))
                {
                    this.army.AddSoldier(soldier);
                }
                else
                {
                    throw new ArgumentException(string.Format(OutputMessages.SoldierNotAdded, soldier.GetType().Name, soldier.Name));
                }
            }
        }
        else if (data[0].Equals("WareHouse"))
        {
            string name  = data[1];
            int    count = int.Parse(data[2]);

            this.wareHouse.AddAmmunition(name, count);
        }
        else if (data[0].Equals("Mission"))
        {
            string missionType  = data[1];
            double neededPoints = double.Parse(data[2]);

            IMission mission = this.missionFactory.CreateMission(missionType, neededPoints);

            this.writer.AppendLine(this.missionController.PerformMission(mission).Trim());
        }
    }
    public void GiveInputToGameController(string input)
    {
        var data = input.Split();

        if (data[0].Equals("Soldier"))
        {
            if (data[1] == "Regenerate")
            {
                army.RegenerateTeam(data[2]);
            }
            else
            {
                string soldierType = data[1];
                string soldierName = data[2];
                int    age         = int.Parse(data[3]);
                double experience  = double.Parse(data[4]);
                double endurance   = double.Parse(data[5]);

                ISoldier soldier = this.soldierFactory
                                   .CreateSoldier(soldierType, soldierName, age, experience, endurance);
                if (!this.wareHouse.TryEquipSoldier(soldier))
                {
                    string message = string.Format(OutputMessages.SoldierCannotBeEquiped, soldierType, soldierName);
                    throw new ArgumentException(message);
                }
                army.AddSoldier(soldier);
            }
        }
        else if (data[0].Equals("WareHouse"))
        {
            string name   = data[1];
            int    number = int.Parse(data[2]);

            this.wareHouse.AddAmmunition(name, number);
        }
        else if (data[0].Equals("Mission"))
        {
            string   missionType     = data[1];
            double   scoreToComplete = double.Parse(data[2]);
            IMission mission         = this.missionFactory.CreateMission(missionType, scoreToComplete);

            writer.AppendLine(this.missionController.PerformMission(mission).Trim());
        }
    }
Esempio n. 6
0
    public void GiveInputToGameController(string input)
    {
        var data = input.Split(new char[] { ' ', }, StringSplitOptions.RemoveEmptyEntries);
        var cmd  = data[0];

        data = data.Skip(1).ToArray();

        if (data[0].Equals("Soldier"))
        {
            string type = string.Empty;

            if (data[1].Equals("Regenerate"))
            {
                type = data[2];

                army.RegenerateTeam(type);
            }

            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[0];
                name       = data[1];
                age        = int.Parse(data[2]);
                experience = int.Parse(data[3]);
                speed      = double.Parse(data[4]);
                endurance  = double.Parse(data[5]);
            }

            soldierFactory.CreateSoldier(type, name, age, experience, endurance);
        }
        else if (data[0].Equals("WareHouse"))
        {
            string name   = data[1];
            int    number = int.Parse(data[2]);

            for (int i = 0; i < number; i++)
            {
                Type        ammoType     = Type.GetType(name);
                IAmmunition ammoInstance = Activator.CreateInstance(ammoType) as IAmmunition;

                AddAmmunitions(ammoInstance);
            }
        }
        else if (data[0].Equals("Mission"))
        {
            string type  = data[1];
            double score = double.Parse(data[2]);

            switch (type)
            {
            case "Easy":
                this.MissionControllerField.PerformMission(new Easy(score));
                break;

            case "Medium":
                this.MissionControllerField.PerformMission(new Medium(score));
                break;

            case "Hard":
                this.MissionControllerField.PerformMission(new Hard(score));
                break;
            }
        }
    }