Пример #1
0
        public MainWindow()
        {
            #region Подготовка карты и панели меню
            InitializeComponent();
            // Определяем вид разметки окна: область карты слева и меню справа
            Lay = LayoutsFactory.GetLayout(LayoutType.Vertical, this.Content);

            // Определяем параметры карты: количество клеток по горизонтали и вертикали, размер клетки, 
            // ширина декоративной рамки вокруг карты
            MapInfo = new CellMapInfo(35, 20, 50, 0);

            // Создаем карту и размещаем его в окне программы
            Map = MapCreator.GetUniversalMap(this, MapInfo);
            Lay.Attach(Map, 0);
            //Map.DrawGrid(); // выводим сетку

            // Указываем путь к папке с картинками 
            Map.Library.ImagesFolder = new PathInfo { Path = "..\\..\\..\\..\\i", Type = PathType.Relative };
            // Создаем панель инвентаря и размещаем ее в меню
            hppanel = new InventoryPanel(Map.Library, 150);
            //hppanel2 = new InventoryPanel(Map.Library, 150);
            //Items1 = new InventoryPanel(Map.Library, 50);
            //Items2 = new InventoryPanel(Map.Library, 50);
            Lay.Attach(hppanel, 1);
            //Lay.Attach(Items1, 1);
            //Lay.Attach(hppanel2, 1);
            //Lay.Attach(Items2, 1);
            hppanel.SetBackground(Brushes.Wheat);

            // Создаем текстовую панель и размещаем ее в меню
            Info = new TextArea_Vertical();
            Lay.Attach(Info, 1);
            Info.AddTextBlock("expEnemy");
            Info.AddTextBlock("expMine");

            // определяем функцию, которая будет вызвана при нажатии на клавишу
            //Map.Keyboard.SetSingleKeyEventHandler(CheckKey);
            #endregion
            player = new GameObject();
            player.y = 50;
            player.speed = 3;
            player.reload = 100000;
            player.ammo = 40;
            player.hp = 10;
            player.InventoryPanel = hppanel;
            addPictures();
            //player.Name = 
            Map.SetMapBackground("map");
            Name Start = new Name();
            Start.player = player;
            Start.ShowDialog();
            timer.AddAction(BCE, 10);
            timer.AddAction(mishen, 30000);
            timer.AddAction(spaunEnemy, 3000);
            timer.AddAction(sudba, 60000);

            hppanel.AddItem("hp", "hp10");
            hppanel.AddItem("box", "box", player.ammo.ToString());
        }
Пример #2
0
        TextArea_Vertical Info; // Место для текстовой информации

        public MainWindow()
        {
            #region Подготовка карты и панели меню
            InitializeComponent();
            // Определяем вид разметки окна: область карты слева и меню справа
            Lay = LayoutsFactory.GetLayout(LayoutType.Vertical, this.Content);

            // Определяем параметры карты: количество клеток по горизонтали и вертикали, размер клетки,
            // ширина декоративной рамки вокруг карты
            MapInfo = new CellMapInfo(10, 10, 50, 5);

            // Создаем карту и размещаем его в окне программы
            Map = MapCreator.GetUniversalMap(this, MapInfo);
            Lay.Attach(Map, 0);
            Map.DrawGrid(); // выводим сетку

            // Указываем путь к папке с картинками
            Map.Library.ImagesFolder = new PathInfo {
                Path = "..\\..\\images", Type = PathType.Relative
            };

            // Создаем панель инвентаря и размещаем ее в меню
            Items = new InventoryPanel(Map.Library, Map.CellSize);
            Lay.Attach(Items, 1);
            Items.SetBackground(Brushes.Wheat);

            // Создаем текстовую панель и размещаем ее в меню
            Info = new TextArea_Vertical();
            Lay.Attach(Info, 1);

            // определяем функцию, которая будет вызвана при нажатии на клавишу
            Map.Keyboard.SetSingleKeyEventHandler(CheckKey);
            #endregion

            //=======================================================================
            //                         Пример кода

            // добавляем картинку с диска в библиотеку - после этого ее можно вывести на карту сколько угодно раз
            Map.Library.AddPicture("smile", "smile1.png");
            // рисуем ее в двух клетках
            Map.DrawInCell("smile", 2, 4);
            Map.DrawInCell("smile", 4, 9);


            //=======================================================================
            // Со следующей строки пишем свой код :)
            //-----------------------------------------------------------------------
        }
Пример #3
0
        public MainWindow()
        {
            UGameObjectBase.game = game;
            Behavior.game        = game;
            InitializeComponent();
            Lay      = LayoutsFactory.GetLayout(LayoutType.Vertical, this.Content);
            MapInfo  = new CellMapInfo(50, 31, 30, 5);
            game.Map = MapCreator.GetUniversalMap(this, MapInfo);
            game.Map.Mouse.SetMouseSingleLeftClickHandler(game.setMovementGoalByClick);
            Lay.Attach(game.Map, 0);
            //game.Map.DrawGrid();
            unitsPanel = new InventoryPanel(game.Map.Library, game.Map.CellSize);

            Lay.Attach(unitsPanel, 1);
            unitsPanel.SetBackground(Brushes.Wheat);
            game.Map.SetMapBackground(Brushes.Black);

            info = new TextArea_Vertical();
            Lay.Attach(info, 1);
            info.AddTextBlock("Resources");

            AddPictures();
            unitsPanel.AddItem("allyLightTank", "tank1", "Light Tank");
            unitsPanel.SetMouseClickHandler(CheckInventoryClick);
            unitsPanel.AddItem("allyMediumTank", "MediumTank", "Medium Tank");
            unitsPanel.AddItem("scavenger", "scavenger", "scavenger");
            game.timer.AddAction(ShowResources, 1000);

            game.AddBase(game.Map.XAbsolute / 2, game.Map.YAbsolute / 2, "base");
            // game.CreateTank("scavenger", 500, 500);
            // game.AddObject("SimpleFlyer", new GOParams { X = game.Map.XAbsolute, Y = game.Map.YAbsolute });
            //game.CreateTank("enemyLightTank", 1300, 500);

            // game.CreateTank("Baneblade",100, 200);
            game.CreateTank("enemyLightTank", 5, 500);
        }