Пример #1
0
    public void Run()
    {
        var input = reader.ReadLine();

        ISoldierController soldierController = new SoldierController();
        AmmunitionFactory  ammunitionFactory = new AmmunitionFactory();
        IOutputGiver       outputGiver       = new Output();
        Army              army              = new Army();
        IWareHouse        wareHouse         = new WareHouse();
        SoldierFactory    soldiersFactory   = new SoldierFactory();
        MissionFactory    missionFactory    = new MissionFactory();
        MissionController missionController = new MissionController(army, wareHouse);

        var gameController = new GameController(soldierController, soldiersFactory, ammunitionFactory, outputGiver, army, wareHouse, missionController, missionFactory);
        var result         = new StringBuilder();

        while (!input.Equals("Enough! Pull back!"))
        {
            try
            {
                gameController.GiveInputToGameController(input);
            }
            catch (ArgumentException arg)
            {
                result.AppendLine(arg.Message);
            }
            input = reader.ReadLine();
        }

        gameController.RequestResult(result);
        writer.WriteLine(result.ToString());
    }
    public void DeploySoldier(Vector3 hitpoint)
    {
        GameObject go = SoldierFactory.SpawnSoldier(mCurrentSelectedSoldierType, hitpoint);

        MapManager.mMapInstance.SoldiersInGame.Add(go);
        MapManager.mMapInstance.SoldiersScriptInGame.Add(go.GetComponent <Soldier>());
    }
Пример #3
0
    public static void Main()
    {
        List <Soldier> soldiers = new List <Soldier>();

        string input = string.Empty;

        while ((input = Console.ReadLine()) != "End")
        {
            string[] tokens      = input.Split();
            string   soldierType = tokens[0];

            Soldier soldier;
            try
            {
                soldier = SoldierFactory.GetSoldier(soldiers, soldierType, tokens);
            }
            catch (ArgumentException ex)
            {
                continue;
            }

            soldiers.Add(soldier);
        }

        Console.WriteLine(string.Join($"{Environment.NewLine}", soldiers));
    }
Пример #4
0
        private static void Main(string[] args)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            var soldiersWithIds = new Dictionary <string, ISoldier>();

            while (true)
            {
                try
                {
                    var input = Console.ReadLine();
                    if (input == "End")
                    {
                        break;
                    }

                    var soldierParams = input.Split();
                    var soldier       = SoldierFactory.CreateSoldier(soldierParams, soldiersWithIds);
                    Console.WriteLine(soldier);
                    soldiersWithIds.Add(soldier.Id, soldier);
                }
                catch (InvalidCorpsTypeException)
                {
                }
            }
        }
Пример #5
0
        static void Main(string[] args)
        {
            var soldiers = new List <ISoldier>();

            string input;

            while ((input = Console.ReadLine()) != "End")
            {
                var tokens      = input.Split();
                var soldierType = tokens[0];
                var id          = int.Parse(tokens[1]);
                var firstName   = tokens[2];
                var lastName    = tokens[3];
                var salary      = decimal.Parse(tokens[4]);

                ISoldier soldier = null;

                try
                {
                    soldier = SoldierFactory.CreateSoldier(soldiers, tokens, soldierType, id, firstName, lastName, salary);
                }
                catch
                {
                }
                soldiers.Add(soldier);
            }

            foreach (var soldier in soldiers)
            {
                Console.WriteLine(soldier);
            }
        }
Пример #6
0
    //IReader reader = new ConsoleReader();

    public GameController()
    {
        this.missionFactory    = new MissionFactory();
        this.army              = new Army();
        this.soldierFactory    = new SoldierFactory();
        this.ammunitionFactory = new AmmunitionFactory();
        this.wareHouse         = new WareHouse();
        this.missionController = new MissionController(this.army, this.wareHouse);
    }
Пример #7
0
    public GameController()
    {
        this.soldierFactory = new SoldierFactory();

        this.Army      = new Army();
        this.WareHouse = new WareHouse();

        this.MissionControllerField = new MissionController(Army, WareHouse);
    }
Пример #8
0
 public GameController(IWriter writer)
 {
     this.wareHouse         = new WareHouse();
     this.writer            = writer;
     this.army              = new Army();
     this.missionController = new MissionController(this.army, this.wareHouse);
     this.soldiersFactory   = new SoldierFactory();
     this.missionFactory    = new MissionFactory();
 }
Пример #9
0
 public GameController()
 {
     this.army              = new Army();
     this.wareHouse         = new WareHouse();
     this.missionfactory    = new MissionFactory();
     this.soldierFactory    = new SoldierFactory();
     this.missionController = new MissionController(this.army, this.wareHouse);
     this.output            = new StringBuilder();
 }
Пример #10
0
    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());
        }
    }
Пример #11
0
 // Start is called before the first frame update
 void Start()
 {
     pb                 = transform.root.gameObject.GetComponent <PlayerBase>();
     soldier            = transform.root.gameObject;
     soldierStat        = transform.root.gameObject.GetComponent <SoldierStat>();
     soldierNumber      = FindObjectOfType <SoldierNumber>();
     soldierFactory     = FindObjectOfType <SoldierFactory>();
     soldierHealth.text = pb.hp + "/" + pb.hp;
     soldierPower.text  = pb.power + "/" + pb.power;
 }
Пример #12
0
 public GameController(IReader reader, IWriter writer)
 {
     this.Army      = new Army();
     this.WareHouse = new WareHouse();
     this.MissionControllerField = new MissionController(Army, WareHouse);
     this.soldiersFactory        = new SoldierFactory();
     this.ammunitionFactory      = new AmmunitionFactory();
     this.missionFactory         = new MissionFactory();
     this.reader = reader;
     this.writer = writer;
 }
Пример #13
0
 public GameController(ISoldierController soldierController, SoldierFactory soldiersFactory, AmmunitionFactory ammunitionFactory, IOutputGiver outputGiver, Army army, IWareHouse wareHouse, MissionController missionControllerField, MissionFactory missionFactory)
 {
     this.soldierController = soldierController;
     this.soldiersFactory   = soldiersFactory;
     this.ammunitionFactory = ammunitionFactory;
     this.missionFactory    = missionFactory;
     this.outputGiver       = outputGiver;
     Army      = army;
     WareHouse = wareHouse;
     MissionControllerField = missionControllerField;
 }
Пример #14
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);
    }
Пример #15
0
    public void Run()
    {
        string inputLine;

        while ((inputLine = this.reader.ReadLine()) != TerminatingCommand)
        {
            string[] cmdArgs = inputLine.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            switch (cmdArgs[0])
            {
            case "Soldier":
                //to do soldier Soldier Ranker Ivan 28 55 100

                if (cmdArgs.Length == 3)
                {
                    //to do soldier regenerate
                }
                else
                {
                    string   type           = cmdArgs[1];
                    string   name           = cmdArgs[2];
                    int      age            = int.Parse(cmdArgs[3]);
                    double   experience     = double.Parse(cmdArgs[4]);
                    double   endurance      = double.Parse(cmdArgs[6]);
                    ISoldier currentSoldier = SoldierFactory.CreateSoldier(type, name, age, experience, endurance);
                    foreach (var weapon in currentSoldier.Weapons)
                    {
                    }
                }

                break;

            case "WareHouse":
                string ammunitionName = cmdArgs[1];
                int    number         = int.Parse(cmdArgs[2]);

                IAmmunition currentAmmunition = AmmunitionFactory.CreateAmmunition(ammunitionName);

                if (!this.WareHouse.Storage.ContainsKey(currentAmmunition))
                {
                    this.WareHouse.Storage.Add(currentAmmunition, 0);
                }

                this.WareHouse.Storage[currentAmmunition] += number;

                break;

            case "Mission":
                //to do mission
                break;
            }
        }
    }
Пример #16
0
    public static void Main()
    {
        IReader         reader         = new ConsoleReader();
        IWriter         writer         = new ConsoleWriter();
        IMissionFactory missionFactory = new MissionFactory();
        ISoldierFactory soldierFactory = new SoldierFactory();
        IArmy           army           = new Army();

        GameController gameController = new GameController(soldierFactory, missionFactory, army, writer);
        Engine         engine         = new Engine(reader, writer, gameController);

        engine.Run();
    }
Пример #17
0
    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}"));
    }
Пример #18
0
    public static void Main()
    {
        IReader         reader         = new ConsoleReader();
        IWriter         writer         = new ConsoleWriter();
        ISoldierFactory soldierFactory = new SoldierFactory();
        IWareHouse      wareHouse      = new Warehouse();
        IArmy           army           = new Army();
        IMissionFactory missionFactory = new MissionFactory();
        IGameController gameController = new GameController
                                             (writer, soldierFactory, wareHouse, army, missionFactory);

        var engine = new Engine(reader, writer, gameController);

        engine.Run();
    }
Пример #19
0
    public static void Main()
    {
        IArmy              army              = new Army();
        IWareHouse         wareHouse         = new WareHouse();
        IAmmunitionFactory ammunitionFactory = new AmmunitionFactory();
        IMissionFactory    missionFactory    = new MissionFactory();
        ISoldierFactory    soldierFactory    = new SoldierFactory();
        IReader            consoleReader     = new ConsoleReader();
        IWriter            consoleWriteLine  = new ConsoleWriter();
        MissionController  missionController = new MissionController(army, wareHouse);
        GameController     gameController    = new GameController(wareHouse, army, missionController, soldierFactory, ammunitionFactory, missionFactory);
        Engine             engine            = new Engine(gameController, consoleReader, consoleWriteLine);

        engine.Run();
    }
Пример #20
0
    public static void Main()
    {
        IWriter            writer            = new ConsoleWriter();
        IReader            reader            = new ConsoleReader();
        IArmy              army              = new Army();
        IAmmunitionFactory amunitionFactory  = new AmmunitionFactory();
        IMissionFactory    missionFactory    = new MissionFactory();
        ISoldierFactory    soldierFactory    = new SoldierFactory();
        IWareHouse         wareHouse         = new WareHouse(amunitionFactory);
        IMissionController missionController = new MissionController(army, wareHouse);
        IGameController    gameController    = new GameController(missionController, soldierFactory, missionFactory, writer, wareHouse, army);
        IEngine            engine            = new Engine(reader, writer, missionController, gameController
                                                          , army, wareHouse, soldierFactory, missionFactory, amunitionFactory);

        engine.Run();
    }
Пример #21
0
    public static void Main()
    {
        //List<ISoldier> armyColection = new List<ISoldier>();
        //Dictionary<string, int> warehouseColection = new Dictionary<string, int>();
        IReader            reader            = new ConsoleReader();
        IWriter            writer            = new ConsoleWriter();
        ISoldierFactory    soldierFactory    = new SoldierFactory();
        IAmmunitionFactory ammunitionFactory = new AmmunitionFactory();
        IMissionFactory    missionFactory    = new MissionFactory();
        IArmy          army           = new Army();
        IWareHouse     warehouse      = new WareHouse();
        GameController gameController = new GameController(army, warehouse, soldierFactory, ammunitionFactory, missionFactory, writer);
        IEngine        engine         = new Engine(reader, writer, gameController);

        engine.Run();
    }
Пример #22
0
    static void Main()
    {
        var wareHouse         = new WareHouse();
        var ammunitionFactory = new AmmunitionFactory();
        var soldiersFactory   = new SoldierFactory();
        var missionFactory    = new MissionFactory();
        var reader            = new ConsoleReader();
        var writer            = new ConsoleWriter();

        var army = new Army(wareHouse);

        var gameController = new GameController(wareHouse, ammunitionFactory, soldiersFactory, army, missionFactory, writer);

        var engine = new Engine(gameController, reader, writer);

        engine.Run();
    }
    public void TestSuccessMessage()
    {
        var army              = new Army();
        var af                = new AmmunitionFactory();
        var wareHouse         = new WareHouse(af);
        var soldierFactory    = new SoldierFactory();
        var missionFactory    = new MissionFactory();
        var missionController = new MissionController(army, wareHouse);
        var writer            = new ConsoleWriter();
        var gamecontroller    = new GameController(army, wareHouse, missionController, soldierFactory, missionFactory, writer);

        var mission = new Easy(0);

        var result = missionController.PerformMission(mission).Trim();

        Assert.That(result, Is.EqualTo("Mission completed - Suppression of civil rebellion"));
    }
Пример #24
0
        public static void Main(string[] args)
        {
            ISoldier soldier;

            for (int i = 0; i < 1000; i++)
            {
                soldier = SoldierFactory.GetSoldier(SoldierType.SONNASI);
            }
            Console.WriteLine(Sonnasi.ObjectCounter);
            for (int i = 0; i < 1000; i++)
            {
                soldier = SoldierFactory.GetSoldier(SoldierType.ASUR);
            }
            Console.WriteLine(Asur.Objectcounter);


            Console.ReadLine();
        }
Пример #25
0
    private static void GatheringArmy(List <Soldier> soldiers)
    {
        while (true)
        {
            string[] cmdArgs = Console.ReadLine().Split();

            if (cmdArgs[0] == "End")
            {
                break;
            }

            Soldier currentSoldier = SoldierFactory.CreateSoldier(cmdArgs, soldiers);

            if (currentSoldier != null)
            {
                soldiers.Add(currentSoldier);
            }
        }
    }
    public void TestSuccessMissionCounter()
    {
        //Arrange
        //IWareHouse wareHouse = new WareHouse();
        //IArmy army = new Army();
        ISoldierFactory soldierFactory = new SoldierFactory();

        //Act
        this.wareHouse.AddAmmunitions("AutomaticMachine", 4);
        this.wareHouse.AddAmmunitions("Gun", 6);
        this.wareHouse.AddAmmunitions("Helmet", 20);
        var soldier = soldierFactory.CreateSoldier("Ranker", "Ivan", 28, 55, 100);

        this.army.AddSoldier(soldier);

        this.stu.PerformMission(new Easy(1));

        //Assert
        Assert.AreEqual(1, this.stu.SuccessMissionCounter);
    }
Пример #27
0
        public static void Main(string[] args)
        {
            string         command  = Console.ReadLine();
            SoldierFactory factory  = new SoldierFactory();
            List <Soldier> soldiers = new List <Soldier>();

            while (command != "End")
            {
                string[] arr = command.Split(" ", StringSplitOptions.RemoveEmptyEntries);

                factory.SortSoldiers(arr, soldiers);

                command = Console.ReadLine();
            }

            foreach (var s in soldiers)
            {
                Console.WriteLine(s);
            }
        }
Пример #28
0
    // Use this for initialization
    void Start()
    {
        mSoldierFactory = new SoldierFactory(Builder, m_SoldierRoot);

        Debug.Log("Soldier Number: " + Data.Soldier.Size().ToString());

        SetSoldierSpawnCD(0, Data.Soldier["1"].BaseSpawn);
        SetSoldierSpawnCD(1, Data.Soldier["2"].BaseSpawn);
        SetSoldierSpawnCD(2, Data.Soldier["3"].BaseSpawn);
        SetSoldierSpawnCD(3, Data.Soldier["4"].BaseSpawn);
        SetSoldierSpawnCD(4, Data.Soldier["5"].BaseSpawn);

        mSoldierCreateTime = new RepeatTimer[SoldierFactory.SoldierNum];
        for (int i = 0; i < mSoldierCreateTime.Length; i++)
        {
            mSoldierCreateTime[i] = new RepeatTimer();
            mSoldierCreateTime[i].SetIntervalTime(mSoldierSpawnCD[i]);
            mSoldierCreateTime[i].SetIntervalEvent(SpawnSoldier);
        }
    }
Пример #29
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();
    }
Пример #30
0
    // Entry point into console application.
    static void Main()
    {
        SoldierFactory factory = new SoldierFactory();

        soldier = factory.GetSoldier("0");
        soldier.RenderSoldier("Bob", "Red");

        soldier = factory.GetSoldier("0");
        soldier.RenderSoldier("Bob", "Blue");

        soldier = factory.GetSoldier("1");
        soldier.RenderSoldier("Tom", "White");

        soldier = factory.GetSoldier("1");
        soldier.RenderSoldier("Jerry", "Black");

        // Console.WriteLine(soldier);

        // Wait for user
        Console.ReadKey();
    }
    public void Test()
    {
        var army              = new Army();
        var af                = new AmmunitionFactory();
        var wareHouse         = new WareHouse(af);
        var soldierFactory    = new SoldierFactory();
        var missionFactory    = new MissionFactory();
        var missionController = new MissionController(army, wareHouse);
        var writer            = new ConsoleWriter();
        var gamecontroller    = new GameController(army, wareHouse, missionController, soldierFactory, missionFactory, writer);

        var    mission = new Easy(1);
        string result  = string.Empty;

        for (int i = 0; i < 4; i++)
        {
            result = missionController.PerformMission(mission).Trim();
        }

        Assert.IsTrue(result.StartsWith("Mission declined - Suppression of civil rebellion"));
    }
Пример #32
0
    // Entry point into console application.
    static void Main()
    {
        SoldierFactory factory = new SoldierFactory();

        soldier = factory.GetSoldier("0");
        soldier.RenderSoldier("Bob", "Red");

        soldier = factory.GetSoldier("0");
        soldier.RenderSoldier("Bob", "Blue");

        soldier = factory.GetSoldier("1");
        soldier.RenderSoldier("Tom", "White");

        soldier = factory.GetSoldier("1");
        soldier.RenderSoldier("Jerry", "Black");

        // Console.WriteLine(soldier);

        // Wait for user
        Console.ReadKey();
    }