コード例 #1
0
 public void show_fight(Game_Person mob) // передаем в экран моба которого нужно
 {
     fight_v.mob = mob;
     fight_v.set_fight();
     fight_v.Visible = true;
     fight_v.BringToFront();
 }
コード例 #2
0
 public void show_trade(bool saller, Game_Person mob) // тут короче типа торговец ли моб и передаем моба
 {
     trade_v.isSaller = saller;
     trade_v.mob      = mob;
     trade_v.set_trade();
     trade_v.Visible = true;
     trade_v.BringToFront();
 }
コード例 #3
0
        // арбалетчик елитный рыцарь призрак гонец молот наездник пеший рыцарь щитовик алебарда викинг деревенщина волк призрак 2
        //настраиваем мобов
        public void init_mobs()
        {
            gp                = new Game_Person();
            gp.name           = "лучник";
            gp.hp             = 120;
            gp.atk            = 30;
            gp.texture        = Properties.Resources.archer_test;
            gp.texture_action = Properties.Resources.archer_test;
            gp.icon           = Properties.Resources.archer_test;
            gp.is_map         = true;
            gp.isGamer        = false;
            //добавляем так возможности мобов ну там удары хилы и прочее
            gp.add_action(new Person_Action("Выстрел стрелой", "", 0, 10, 0));
            gp.add_action(new Person_Action("Выстрел двумя стрелами", "", 0, 20, 0));
            gp.add_action(new Person_Action("Лечение", "", 10, 0, 0));
            mobs.Add(gp);

            gp                = new Game_Person();
            gp.name           = "топорщик";
            gp.hp             = 150;
            gp.atk            = 40;
            gp.texture        = Properties.Resources.axe_test;
            gp.texture_action = Properties.Resources.axe_test;
            gp.icon           = Properties.Resources.axe_test;
            gp.is_map         = true;
            gp.isGamer        = false;
            gp.add_action(new Person_Action("Удар", "", 0, 10, 0));
            gp.add_action(new Person_Action("Сильный удар", "", 0, 20, 0));
            gp.add_action(new Person_Action("Лечение", "", 10, 0, 0));
            mobs.Add(gp);

            gp                = new Game_Person();
            gp.name           = "медведь";
            gp.hp             = 200;
            gp.atk            = 60;
            gp.texture        = Properties.Resources.bear_еуые;
            gp.texture_action = Properties.Resources.bear_еуые;
            gp.icon           = Properties.Resources.bear_еуые;
            gp.is_map         = true;
            gp.isGamer        = false;
            gp.add_action(new Person_Action("Удар", "", 0, 10, 0));
            mobs.Add(gp);
            // хз почему но этот чувак не появляется в бою =Д
            gp                = new Game_Person();
            gp.name           = "гражданин";
            gp.hp             = 100;
            gp.atk            = 10;
            gp.texture        = Properties.Resources.citizen_test;
            gp.texture_action = Properties.Resources.citizen_test;
            gp.icon           = Properties.Resources.citizen_test;
            gp.is_map         = true;
            gp.isGamer        = false;
            gp.add_action(new Person_Action("Удар", "", 0, 10, 0));
            gp.add_action(new Person_Action("Лечение", "", 10, 0, 0));
            mobs.Add(gp);
        }
コード例 #4
0
        //тоже самое что и в прошлой функции но для мобов при их респе на карте но не работает
        void check_fight(Point mob1, Point mob2, Game_Person mob)
        {
            Point hero1, hero2, centerA, centerB;
            int   distX, distY, sumX, sumY; //а1,а2,б1 и б2 уже даны

            hero1   = new Point(hero.Left, hero.Top);
            hero2   = new Point(hero.Left + hero.Width, hero.Top + hero.Height);
            centerA = new Point((hero2.X + hero1.X) / 2, (hero2.Y + hero1.Y) / 2);
            centerB = new Point((mob2.X + mob1.X) / 2, (mob2.Y + mob1.Y) / 2);
            distX   = Math.Abs(centerA.X - centerB.X);
            distY   = Math.Abs(centerA.Y - centerB.Y);
            sumX    = ((hero2.X - hero1.X) / 2) + (mob2.X - mob1.X) / 2;
            sumY    = ((hero2.Y - hero1.Y) / 2) + (mob2.Y - mob1.Y) / 2;
            if (distX <= sumX && distY <= sumY)
            {
                MainForm.selfref.show_fight(mob);
            }
        }
コード例 #5
0
        //зайти к торговцу торговец создается рандомно с рандомным инвентарем
        private void loc_trade_Click(object sender, EventArgs e)
        {
            Game_Person saller = new Game_Person();

            saller.name           = "Торговец";
            saller.hp             = 0;
            saller.atk            = 0;
            saller.money          = rand.Next(100, 5000);
            saller.texture        = Properties.Resources.citizen_test;
            saller.texture_action = Properties.Resources.citizen_test;
            saller.icon           = Properties.Resources.citizen_test;
            saller.is_map         = false;
            saller.isGamer        = false;
            foreach (Inventory_Item it in MainForm.selfref.all_items)
            {
                if (rand.Next(0, 100) >= 60) //тоже вероятность 40% дропа предмета у торгоша
                {
                    saller.add_inventory_item(it);
                }
            }
            MainForm.selfref.show_trade(true, saller); //первый параметр типа это если торговец второй объект торговца или моба
        }
コード例 #6
0
 //настраиваем гг
 public void init_gg_new_game()
 {
     gg                = new Game_Person();
     gg.name           = "игрок";
     gg.hp             = 100;
     gg.atk            = 10;
     gg.money          = 500;
     gg.texture        = Properties.Resources.citizen_test;
     gg.texture_action = Properties.Resources.citizen_test;
     gg.icon           = Properties.Resources.citizen_test;
     gg.is_map         = true;
     gg.isGamer        = true;
     gg.map_x          = 200;
     gg.map_y          = 200;
     //кидаем в инвентарь одежду
     gg.add_inventory_item(all_items.Find(item => item.name == "Топор"));
     gg.add_inventory_item(all_items.Find(item => item.name == "Обычная одежда"));
     gg.add_inventory_item(all_items.Find(item => item.name == "Обычная лошадь"));
     //одеваем вещи на персонажа
     gg.inv_mass.Find(item => item.name == "Топор").isDress          = true;
     gg.inv_mass.Find(item => item.name == "Обычная одежда").isDress = true;
     gg.inv_mass.Find(item => item.name == "Обычная лошадь").isDress = true;
 }