コード例 #1
0
        public void Show()
        {
            var form    = new Form();
            var painter = new MapPainter();
            var map     = MapLoader.LoadMap(
                Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\..\..\maps\sample.json"));

            var ai        = new GreedyAi();
            var simulator = new GameSimulator(map.Map, new Settings());

            simulator.StartGame(new List <IAi> {
                ai
            });

            while (true)
            {
                var gameState = simulator.NextMove();
                painter.Map = gameState.CurrentMap;

                var panel = new ScaledViewPanel(painter)
                {
                    Dock = DockStyle.Fill
                };
                form.Controls.Add(panel);
                form.ShowDialog();
            }
        }
コード例 #2
0
        public static void ShowWithPath(this Map map, List <int> pathSiteIds, Future[] futures)
        {
            var form = new Form()
            {
                Text        = pathSiteIds.ToDelimitedString(" - "),
                WindowState = FormWindowState.Maximized
            };
            var mapPainter = new MapPainter
            {
                Map = map,
                PainterAugmentor = new PathAugmentor(pathSiteIds, new DefaultPainterAugmentor())
                {
                    ShowFutures = true
                },
                Futures = new Dictionary <int, Future[]> {
                    { 0, futures }
                },
            };
            var panel = new ScaledViewPanel(mapPainter)
            {
                Dock = DockStyle.Fill
            };

            form.Controls.Add(panel);
            form.ShowDialog();
        }
コード例 #3
0
        public static void Visualize(this Map map)
        {
            var form    = new Form();
            var painter = new MapPainter {
                Map = map
            };

            var panel = new ScaledViewPanel(painter)
            {
                Dock = DockStyle.Fill
            };

            form.Controls.Add(panel);
            form.ShowDialog();
        }
コード例 #4
0
        public static void Show(this Map map)
        {
            var form = new Form
            {
                WindowState = FormWindowState.Maximized
            };
            var mapPainter = new MapPainter
            {
                Map = map,
                PainterAugmentor = new DefaultPainterAugmentor(),
                Futures          = new Dictionary <int, Future[]>(),
            };
            var panel = new ScaledViewPanel(mapPainter)
            {
                Dock = DockStyle.Fill
            };

            form.Controls.Add(panel);
            form.ShowDialog();
        }