コード例 #1
0
        static void Main(string[] args)
        {
            Area  area  = null;
            Rover rover = null;

            var missionFactory = new MissionFactory();

            while (true)
            {
                var statement = Console.ReadLine().Trim().ToUpper();

                if (statement == string.Empty)
                {
                    break;
                }

                if (area == null)
                {
                    area = missionFactory.CreateArea(statement);
                }
                else if (rover == null)
                {
                    rover = missionFactory.CreateRover(area, statement);
                }
                else
                {
                    rover.Process(statement);
                    Console.WriteLine(rover);
                    rover = null;
                }
            }
        }
コード例 #2
0
        protected override void LoadContent()
        {
            LoadCharacter();
            LoadNpcs();
            LoadSounds();
            base.LoadContent();
            OpenMap();
            //Load2DTileMap();
            LoadIsoTileMap();
            LoadGun();
            LoadWindows();
            LoadItems();
            LoadEnemies();
            oldState = new ButtonState();

            missions = gameRef.Content.Load <MissionFactory>(@"Missions\AllMissions");
            missionManager.AddMission(missions.GetMissionById(0));

            dialogueManager.DialogueSelected += missionManager.OnUpdateEvent;

            AllDialogues allDialogues = gameRef.Content.Load <AllDialogues>(@"Dialogues\AllDialogues");

            DialogueService.GetInstance().AllDialogues = allDialogues.Dialogues;
            DialogueService.GetInstance().RegisterDialogueProcessor(OnDialogueSelected);

            //commandManager.RegisterCommand(Keys.I, OpenEquipmentScreen);
            //commandManager.RegisterCommand(Keys.U, OpenInventoryScreen);
            commandManager.RegisterCommand(Keys.Escape, OpenPauseMenuWindow);
            commandManager.RegisterCommand(Keys.L, OpenMissionLogWindow);
            commandManager.RegisterCommand(Keys.E, OpenDialogueWindow);
            commandManager.RegisterCommand(Keys.C, OpenPlayerInfoWindow);

            //TODO: remove after done testing
            //commandManager.RegisterCommand(Keys.E, PickupItem);
        }
コード例 #3
0
ファイル: Engine.cs プロジェクト: nayots/SoftUni
    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());
    }
コード例 #4
0
 public GameController(MissionController controller, IArmy army, IWareHouse wareHouse)
 {
     this.controller     = controller;
     this.army           = army;
     this.wareHouse      = wareHouse;
     this.missionFactory = new MissionFactory();
 }
コード例 #5
0
ファイル: Fleet.cs プロジェクト: campycoder/zvjezdojedac
        private Fleet(IkonComposite rawData, ObjectDeindexer deindexer)
        {
            var ownerSave = rawData[OwnerKey];

            this.Owner = deindexer.Get <Player>(ownerSave.To <int>());

            var    positionSave  = rawData[PositionKey];
            var    positionArray = positionSave.To <IkonArray>();
            double positionX     = positionArray[0].To <double>();
            double positionY     = positionArray[1].To <double>();

            this.Position = new Vector2D(positionX, positionY);

            var missionsSave = rawData[MissionsKey];

            this.Missions = new LinkedList <AMission>();
            foreach (var item in missionsSave.To <IkonArray>())
            {
                this.Missions.AddLast(MissionFactory.Load(item, deindexer));
            }

            var shipsSave = rawData[ShipsKey];

            this.Ships = new ShipGroupCollection();
            foreach (var item in shipsSave.To <IkonArray>())
            {
                this.Ships.Add(ShipGroup.Load(item.To <IkonComposite>(), deindexer));
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: mterrysancsoft/missionname
        static void Main(string[] args)
        {
            MissionFactory mf = new MissionFactory(@"..\..\..\..\Mission.Data\adjectives.txt", @"..\..\..\..\\Mission.Data\nouns.txt");
            Mission        m  = new Mission();

            // default mission
            Console.WriteLine("Default mission = " + m.Name);

            // Random missions
            Console.WriteLine("Random mission 1 = " + mf.Random().Name);
            Console.WriteLine("Random mission 2 = " + mf.Random().Name);
            Console.WriteLine("Random mission 3 = " + mf.Random().Name);
            Console.WriteLine("Random mission 4 = " + mf.Random().Name);
            Console.WriteLine("Random mission 5 = " + mf.Random().Name);

            // Daily missions
            for (DateTime dt = DateTime.Today.AddDays(-4); dt <= DateTime.Today; dt = dt.AddDays(1))
            {
                Console.WriteLine("Daily mission = " + mf.Daily(dt).Name);
            }

            // Today's mission - should not change
            Console.WriteLine("Today's mission = " + mf.Today().Name);
            Console.WriteLine("Today's mission = " + mf.Today().Name);

            // Static missions - should be consistent based on the seed
            Console.WriteLine("Static mission 1 = " + mf.Static(1).Name);
            Console.WriteLine("Static mission 2 = " + mf.Static(2).Name);
            Console.WriteLine("Static mission 1 again = " + mf.Static(1).Name);
        }
コード例 #7
0
 public void SetUp()
 {
     _parserMock = new Mock <IMissionFilenameParser>();
     _parserMock
     .Setup(m => m.IsMissionNameFormatValid(_validMissionName))
     .Returns(true);
     _parserMock
     .Setup(m => m.IsMissionNameFormatValid(_invalidMissionName))
     .Returns(false);
     _parserMock
     .Setup(m => m.GetSize(It.IsAny <string>()))
     .Returns(_mockSize);
     _parserMock
     .Setup(m => m.GetMissionType(It.IsAny <string>()))
     .Returns(_mockType);
     _parserMock
     .Setup(m => m.GetName(It.IsAny <string>()))
     .Returns(_mockName);
     _parserMock
     .Setup(m => m.GetTerrain(It.IsAny <string>()))
     .Returns(_mockTerrain);
     _parserMock
     .Setup(m => m.GetVersion(It.IsAny <string>()))
     .Returns(_mockVersion);
     _sut         = new MissionFactory(_parserMock.Object);
     _mockVersion = new MissionVersion("TestVersion", new Mock <IMissionVersionComparer>().Object);
 }
コード例 #8
0
        public static BaseMissionController GetMission(string roomID, string missionName)
        {
            lock (Server.RoomControllers) {
                RoomController room = Server.RoomControllers.Find(x => x.Room.ID.Equals(roomID));
                if (room == null)
                {
                    throw new Exception(string.Format("unknow room with id: {0}", roomID));
                }

                BaseMissionController missionController = room.MissionController;
                BaseMission           mission           = null;

                if (missionController != null)
                {
                    return(missionController);
                }

                switch (missionName)
                {
                case "TestMission":
                    mission = new TestMission();
                    break;

                default:
                    throw new Exception(string.Format("unknow mission name: {0}", missionName));
                }

                room.MissionController         = MissionFactory.GetMissionController(mission, room);
                room.MissionController.Mission = mission;

                Server.Updater.OnUpdate += room.MissionController.Update;
                return(room.MissionController);
            }
        }
コード例 #9
0
 private void UpdatePanel()
 {
     if ((this.panel.Content != null) && (this.panel.Content.IsInitialized))
     {
         this.panel.Content.DataContext = MissionFactory.GetMissionVM(this.mission);
     }
 }
コード例 #10
0
        public void AreaCreationFromSyntax(string statement, int width, int height)
        {
            var roverFactory = new MissionFactory();

            var area = roverFactory.CreateArea(statement);

            area.Width.Should().Be(width);
            area.Height.Should().Be(height);
        }
コード例 #11
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);
    }
コード例 #12
0
ファイル: DomainTest.cs プロジェクト: tarikkrkmz/MarsRover
        public void RoverMovement_With_Wrong_Result(int areaWidth, int areaHeight, string statement, string thirdLine, string result)
        {
            var area         = new Area(areaWidth, areaHeight);
            var roverFactory = new MissionFactory();

            var rover = roverFactory.CreateRover(area, statement);

            Assert.Throws <OutOfAreaException>(() => rover.Process(thirdLine));
        }
コード例 #13
0
ファイル: GameController.cs プロジェクト: dradkov/SoftUni
 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();
 }
コード例 #14
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();
 }
コード例 #15
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());
        }
    }
コード例 #16
0
ファイル: GameController.cs プロジェクト: MeGaDeTH91/SoftUni
 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;
 }
コード例 #17
0
ファイル: GameController.cs プロジェクト: nayots/SoftUni
 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;
 }
コード例 #18
0
ファイル: DomainTest.cs プロジェクト: tarikkrkmz/MarsRover
        public void RoverMovement(int areaWidth, int areaHeight, string statement, string thirdLine, string result)
        {
            var area         = new Area(areaWidth, areaHeight);
            var roverFactory = new MissionFactory();

            var rover = roverFactory.CreateRover(area, statement);

            rover.Process(thirdLine);

            rover.ToString().Should().Be(result);
        }
コード例 #19
0
 public Engine()
 {
     this.army                     = new List <ISoldier>();
     this.commandoFactory          = new CommandoFactory();
     this.engineerFactory          = new EngineerFactory();
     this.lieutenantGeneralFactory = new LieutenantGeneralFactory();
     this.missionFactory           = new MissionFactory();
     this.privateFactory           = new PrivateFactory();
     this.repairFactory            = new RepairFactory();
     this.spyFactory               = new SpyFactory();
 }
コード例 #20
0
 public GameController()
 {
     this.army      = new Dictionary <string, List <ISoldier> >();
     this.wearHouse = new Dictionary <string, List <IAmmunition> >();
     this.armyClass = new Army();
     this.wareHouse = new WareHouse();
     this.missionControllerField = new MissionController(armyClass, wareHouse);
     this.ammoFactory            = new AmmunitionFactory();
     this.soldiersFactory        = new SoldierFactory();
     this.soldierController      = new SoldierController();
     this.missionFactory         = new MissionFactory();
 }
コード例 #21
0
 public GameController()
 {
     this.wareHouse              = new WareHouse();
     this.army                   = new Army(this.WareHouse);
     this.soldiersFactory        = new SoldiersFactory();
     this.ammunitionFactory      = new AmmunitionFactory();
     this.missionFactory         = new MissionFactory();
     this.soldierController      = new SoldierController(this.Army, this.WareHouse);
     this.MissionControllerField = new MissionController(this.Army, this.WareHouse);
     this.result                 = new StringBuilder();
     this.output                 = new Output(this.Army, this.WareHouse, result);
 }
コード例 #22
0
ファイル: TestClass.cs プロジェクト: tanyta78/CSharpOOPAdv
    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);
    }
コード例 #23
0
        public void RoverCreationFromSyntax(int areaWidth, int areaHeight, string statement, Type T)
        {
            var area         = new Area(areaWidth, areaHeight);
            var roverFactory = new MissionFactory();

            var rover = roverFactory.CreateRover(area, statement);

            rover.Area.Width.Should().Be(areaWidth);
            rover.Area.Height.Should().Be(areaHeight);
            rover.Heading.Should().BeOfType(T);

            rover.ToString().Should().Be(statement);
        }
コード例 #24
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();
    }
コード例 #25
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}"));
    }
コード例 #26
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();
    }
コード例 #27
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();
    }
コード例 #28
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();
    }
コード例 #29
0
        static void Main(string[] args)
        {
            //ServicePointManager.DefaultConnectionLimit = 100;
            //var config = new RabbitMissionConfig("amqp://127.0.0.1",serializerType:SerializerType.MessagePack);
            var server = MissionFactory.CreateServer().UseRabbit("rabbit", new Logger());

            Container.Server = server;
            //ServicePointManager.DefaultConnectionLimit = 10;
            using (WebApp.Start <Startup>(url: "http://127.0.0.1:9008/"))
            {
                Console.WriteLine("host:{0}", "http://localhost:9008/");
                Console.WriteLine("Press [enter] to quit...");
                Console.ReadLine();
                server.Dispose();
            }
        }
コード例 #30
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();
    }