Пример #1
0
        private static void Main(string[] args)
        {
            ConsoleFactory factory = new ConsoleFactory();

            //Model contruction
            XmasModel model = factory.ConstructModel(new TestWorld1());

            //View construction
            ThreadSafeEventManager evtman1 = new ThreadSafeEventManager();
            ConsoleView view1 = new ConsoleView(model,new Point(0,0), new ConsoleWorldView((TileWorld)model.World,xe => xe is GrabberAgent), new ConsoleViewFactory(evtman1), evtman1);

            ThreadSafeEventManager evtman2 = new ThreadSafeEventManager();
            ConsoleView view2 = new ConsoleView(model, new Point(0,24), new ConsoleWorldView((TileWorld)model.World), new ConsoleViewFactory(evtman2), evtman2);

            StreamWriter sw = File.CreateText("error.log");

            List<XmasView> views = new List<XmasView>();
            var loggerevtman = new ThreadSafeEventManager();
            var logger = new Logger(sw, DebugLevel.Timing);
            views.Add(new ConsoleLoggerView(model,new LoggerViewFactory(loggerevtman,logger),loggerevtman,logger));
            views.Add(view1);
            views.Add(view2);

            //Controller construction
            var listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 44444);
            var eisConverter = new ConsoleEisConversionTool();
            var iilParser = new ConsoleIilActionParser();
            var eisserver = new EISAgentServer(listener, eisConverter, iilParser);

            var humancontroller = new HumanInterfaceManager(new KeyboardSettings());

            List<XmasController> controllers = new List<XmasController>();

            controllers.Add(eisserver);
            controllers.Add(humancontroller);

            var engine = new XmasEngineManager(factory);

            engine.StartEngine(model,views,controllers);
        }
Пример #2
0
        static void Main(string[] args)
        {
            //The factory responsible for constructing components needed by the engine
            XmasModelFactory factory = new XmasModelFactory();

            VacuumMap1 map1 = new VacuumMap1();

            //Construct the model with all its required components
            XmasModel model = factory.ConstructModel(map1);

            //makes a file where all view info is logged
            StreamWriter sw = File.CreateText("viewlog.log");

            //Construct the view for the vacuum world
            VacuumWorldView view = new VacuumWorldView(model, new Logger(sw, DebugLevel.All));

            //Construct the manager for the agent controller with the name of the agent
            VacuumAgentManager controller = new VacuumAgentManager("vacuum_cleaner");

            //Instantiate and start the engine with the view and the controller
            XmasEngineManager engine = new XmasEngineManager(factory);
            engine.StartEngine(model, new XmasView[] { view }, new XmasController[] { controller });
        }