Esempio n. 1
0
        private void theGame_Load(object sender, EventArgs e)
        {
            this.Owner.Hide();
            myHero   = (theHero)this.Owner.Tag;
            this.Tag = myHero;
            myWorld.init();
            //初始化英雄的数据
            this.myHero.setTheHeroMaxValue(true);
            this.myHero.rebuildTheHero();
            this.myHero.buildConsumeIndex();
            this.myHero.buildBodyIndex();
            this.myHero.initBodyIndex();
            //更新地图

            //初始化背包
            myHero.getHeroBag().setOwner(myHero);
            //设置消息栏
            myHero.setMessageBox(this.SystemMsg);
            //背包初始化
            myHero.getHeroBag().updata(myHero);
            //敌人生成器初始化
            AddMobAction.setMyHero(myHero);
            AddMobAction.setMyWorld(myWorld);
            //myWorld.showWorld();
            //初始化合成器
            doCraft.setMyHero(myHero);

            updata();
            updataMap();


            //测试模式
            setTestMode(false);
        }
Esempio n. 2
0
        public override void UseItem(theHero user)
        {
            base.UseItem(user);
            getMessageBox().Items.Add("你喝了生水\n口渴度-" + getThristyDecrease() + ",免疫力-" + getImmDecrease() + "");
            //System.Console.WriteLine("你喝了生水\n口渴度-"+getThristyDecrease()+",免疫力-"+getImmDecrease()+"");
            if (user.getThirsty() - getThristyDecrease() <= 0)
            {
                user.setThirsty(0);
            }
            else
            {
                user.setThirsty(user.getThirsty() - getThristyDecrease());
            }

            if (user.getImmunity() - getImmDecrease() <= 0)
            {
                user.setImmunity(0);
            }
            else
            {
                user.setImmunity(user.getImmunity() - getImmDecrease());
            }

            user.setPeeIncreaseIndex(user.getPeeIncreaseIndex() + getPeeIncrease());

            user.setShitIncreaseIndex(user.getShitIncreaseIndex() + getShitIncrease());

            user.destoryOneItem(this);
            user.getHeroBag().updata(user);
        }
Esempio n. 3
0
        public int AttackByBothHand(theHero myHero)
        {
            if (myHero.isOutOfEnergy(1))
            {
                getMessageBox().Items.Add("没有多余的精力来攻击了!"); return(0);
            }
            int Damage = 0;

            if (myHero.getHero_LeftHand().getIsEquipedSomething() && myHero.getHero_RightHand().getIsEquipedSomething())
            {
                if (myHero.getHero_LeftHand().getTakeInHand() == myHero.getHero_RightHand().getTakeInHand())
                {
                    if (myHero.getHero_LeftHand().getTakeInHand().getType() == 4)
                    {
                        Damage = (int)(myHero.getHero_strength() * 0.8) + dr.getRandomNum(myHero.getHero_RightHand().getTakeInHand().getMinDamage(), myHero.getHero_RightHand().getTakeInHand().getMaxDamage());
                        // magicDamage = (int)(myHero.getHero_iq() * 0.8) + dr.getRandomNum(myHero.getHero_RightHand().getTakeInHand().getMinMagicDamage(), myHero.getHero_RightHand().getTakeInHand().getMaxMagicDamage());
                        if (!dr.startBet(myHero.getHero_RightHand().getTakeInHand().getHitRate(), 100))
                        {
                            getMessageBox().Items.Add("你用拿着" + myHero.getHero_RightHand().getTakeInHand().getName() + "的双手攻击了一次,但没打中");
                            //System.Console.WriteLine("你用拿着" + myHero.getHero_RightHand().getTakeInHand().getName() + "的双手攻击了一次,但没打中");
                            return(0);
                        }

                        if (dr.startBet(myHero.getHero_RightHand().getTakeInHand().getGreatDamageRate(), 100))
                        {
                            Damage = Damage * myHero.getHero_RightHand().getTakeInHand().getGreatDamageIndex();
                            getMessageBox().Items.Add("你用拿着" + myHero.getHero_RightHand().getTakeInHand().getName() + "的双手攻击了一次,居然出现了暴击!\n造成了" + Damage + "点伤害");
                            // System.Console.WriteLine("你用拿着" + myHero.getHero_RightHand().getTakeInHand().getName() + "的双手攻击了一次,居然出现了暴击!\n造成了" + Damage + "点伤害");
                        }
                        else
                        {
                            getMessageBox().Items.Add("你用拿着" + myHero.getHero_RightHand().getTakeInHand().getName() + "的双手攻击了一次\n造成了" + Damage + "点伤害");
                            // System.Console.WriteLine("你用拿着" + myHero.getHero_RightHand().getTakeInHand().getName() + "的双手攻击了一次\n造成了" + Damage + "点伤害");
                        }
                        myHero.getHero_LeftHand().getTakeInHand().decreaseEnduranceByAttack();
                        myHero.getHeroBag().checkItems();
                        myHero.getHeroBag().updata(myHero);
                        myHero.attackCauseDecreaseEnergy();
                        return(Damage);
                    }
                }
            }
            getMessageBox().Items.Add("必须要有双手武器才能双手攻击");
            // System.Console.WriteLine("必须要有双手武器才能双手攻击");

            return(0);
        }
Esempio n. 4
0
        override public void UseItem(theHero user)
        {
            base.UseItem(user);
            getMessageBox().Items.Add("你吃了一个苹果\n饥饿度-" + getHungryDecrease() + ",口渴度-" + getThristyDecrease() + "\n免疫力-" + getImmDecrease() + ",精力+" + getEnergyIncrease());
            //System.Console.WriteLine("你吃了一个苹果\n饥饿度-"+getHungryDecrease()+",口渴度-"+getThristyDecrease()+"\n免疫力-"+getImmDecrease()+",精力+"+getEnergyIncrease());
            if (user.getThirsty() - getThristyDecrease() <= 0)
            {
                user.setThirsty(0);
            }
            else
            {
                user.setThirsty(user.getThirsty() - getThristyDecrease());
            }

            if (user.getHungry() - getHungryDecrease() <= 0)
            {
                user.setHungry(0);
            }
            else
            {
                user.setHungry(user.getHungry() - getHungryDecrease());
            }

            if (user.getImmunity() - getImmDecrease() <= 0)
            {
                user.setImmunity(0);
            }
            else
            {
                user.setImmunity(user.getImmunity() - getImmDecrease());
            }

            if (user.getEnergy() + getEnergyIncrease() >= user.getMaxEnergy())
            {
                user.setEnergy(user.getMaxEnergy());
            }
            else
            {
                user.setEnergy(user.getEnergy() + getEnergyIncrease());
            }

            user.setPeeIncreaseIndex(user.getPeeIncreaseIndex() + getPeeIncrease());

            user.setShitIncreaseIndex(user.getShitIncreaseIndex() + getShitIncrease());


            user.destoryOneItem(this);
            user.getHeroBag().updata(user);
        }
Esempio n. 5
0
 private void theBag_Load(object sender, EventArgs e)
 {
     this.Tag = (theHero)this.Owner.Tag;
     owner    = (theHero)this.Tag;
     heroBag  = owner.getHeroBag();
     heroBag.setOwner(owner);
     //此时向listBox2中填入物品数据,listBox1中填入物品名
     //listBox1中的物品名是供用户观看的,真正的操作是在listBox2中运行的
     for (int i = 0; i < heroBag.getItemArrayCount(); i++)
     {
         listBox2.Items.Add(heroBag.getItemByIndex(i));
         listBox1.Items.Add(heroBag.getItemByIndex(i).getName());
     }
     heroBag.updata(owner);
     updata();
 }
Esempio n. 6
0
        public int AttackByLeftHand(theHero myHero)
        {
            if (myHero.isOutOfEnergy(1))
            {
                getMessageBox().Items.Add("没有多余的精力来攻击了!"); return(0);
            }
            int Damage;

            if (myHero.getHero_LeftHand().getIsEquipedSomething())
            {
                switch (myHero.getHero_LeftHand().getTakeInHand().getType())
                {
                case 2:
                {         //单手武器
                    Damage = (int)(myHero.getHero_strength() * 0.5) + dr.getRandomNum(myHero.getHero_LeftHand().getTakeInHand().getMinDamage(), myHero.getHero_LeftHand().getTakeInHand().getMaxDamage());
                    if (!dr.startBet(myHero.getHero_LeftHand().getTakeInHand().getHitRate(), 100))
                    {
                        getMessageBox().Items.Add("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手攻击了一次,但没打中");
                        //System.Console.WriteLine("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手攻击了一次,但没打中");
                        return(0);
                    }

                    if (dr.startBet(myHero.getHero_LeftHand().getTakeInHand().getGreatDamageRate(), 100))
                    {
                        Damage = Damage * myHero.getHero_LeftHand().getTakeInHand().getGreatDamageIndex();
                        getMessageBox().Items.Add("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手攻击了一次,居然出现了暴击!\n造成了" + Damage + "点伤害");
                        // System.Console.WriteLine("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手攻击了一次,居然出现了暴击!\n造成了" + Damage + "点伤害");
                    }
                    else
                    {
                        getMessageBox().Items.Add("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手攻击了一次\n造成了" + Damage + "点伤害");
                        //System.Console.WriteLine("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手攻击了一次\n造成了" + Damage + "点伤害");
                    }
                    myHero.getHero_LeftHand().getTakeInHand().decreaseEnduranceByAttack();
                    myHero.getHeroBag().checkItems();
                    myHero.getHeroBag().updata(myHero);
                    myHero.attackCauseDecreaseEnergy();
                    return(Damage);
                }

                case 3:
                {
                    Damage = (int)(myHero.getHero_strength() * 0.3);
                    getMessageBox().Items.Add("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手打了一次,\n造成了" + Damage + "点伤害");
                    //System.Console.WriteLine("你用拿着" + myHero.getHero_LeftHand().getTakeInHand().getName() + "的左手打了一次,\n造成了" + Damage + "点伤害");
                    myHero.getHero_LeftHand().getTakeInHand().DecreaseEndurance();
                    myHero.getHeroBag().checkItems();
                    myHero.getHeroBag().updata(myHero);
                    myHero.attackCauseDecreaseEnergy();
                    return(Damage);
                }

                case 4:
                {
                    getMessageBox().Items.Add("双手武器不能单手用啦");
                    // System.Console.WriteLine("双手武器不能单手用啦");
                    return(0);
                }

                default: return(0);
                }
            }
            else
            {
                Damage = (int)(myHero.getHero_strength() * 0.2);
                getMessageBox().Items.Add("你用左手拳头打了一拳,\n造成了" + Damage + "点伤害");
                // System.Console.WriteLine("你用左手拳头打了一拳,\n造成了" + Damage + "点伤害");
                myHero.attackCauseDecreaseEnergy();
                return(Damage);
            }
        }
Esempio n. 7
0
        public void updata()
        {
            myHero.getHeroBag().updata(myHero);

            HpBar.Maximum  = myHero.getMaxHp();
            HpBar.Value    = myHero.getHp();
            HpBarShow.Text = HpBar.Value + "/" + HpBar.Maximum;

            HungryBar.Maximum = myHero.getMaxHungry();
            HungryBar.Value   = myHero.getHungry();
            HungryShow.Text   = HungryBar.Value + "/" + HungryBar.Maximum;

            ThirstyBar.Maximum = myHero.getMaxThirsty();
            ThirstyBar.Value   = myHero.getThirsty();
            ThirstyShow.Text   = ThirstyBar.Value + "/" + ThirstyBar.Maximum;

            PeeBar.Maximum = myHero.getMaxPee();
            PeeBar.Value   = myHero.getPee();
            PeeeShow.Text  = PeeBar.Value + "/" + PeeBar.Maximum;

            ShitBar.Maximum = myHero.getMaxShit();
            ShitBar.Value   = myHero.getShit();
            ShitShow.Text   = ShitBar.Value + "/" + ShitBar.Maximum;

            TemperBar.Maximum = (int)myHero.getMaxTemperture();
            TemperBar.Value   = (int)myHero.getTemperature();
            TemperShow.Text   = myHero.getTemperature() + "/" + myHero.getMaxTemperture() + "摄氏度";

            ImmBar.Maximum = myHero.getMaxImmunity();
            ImmBar.Value   = myHero.getImmunity();
            ImmShow.Text   = ImmBar.Value + "/" + ImmBar.Maximum;

            BloodBar.Maximum = myHero.getMaxBlood();
            BloodBar.Value   = myHero.getBlood();
            BloodShow.Text   = BloodBar.Value + "/" + BloodBar.Maximum;

            PainBar.Maximum = myHero.getMaxPain();
            PainBar.Value   = myHero.getPain();
            PainShow.Text   = PainBar.Value + "/" + PainBar.Maximum;

            EnergyBar.Maximum = myHero.getMaxEnergy();
            EnergyBar.Value   = myHero.getEnergy();
            EnergyShow.Text   = EnergyBar.Value + "/" + EnergyBar.Maximum;

            BurdenBar.Maximum = (int)myHero.getMaxBurden();
            BurdenBar.Value   = (int)myHero.getBurden();
            BurdenShow.Text   = myHero.getBurden() + "/" + myHero.getMaxBurden() + "千克";

            ExpBar.Maximum  = myHero.getMaxExp();
            ExpBar.Value    = myHero.getExp();
            ExpBarShow.Text = ExpBar.Value + "/" + ExpBar.Maximum;

            hero_level.Text     = myHero.getLevel().ToString();
            hero_age.Text       = myHero.getHero_age().ToString() + "岁";
            hero_agility.Text   = myHero.getHero_agility().ToString();
            hero_bloodtype.Text = tl.BloodTypeToString(myHero.getHero_bloodtype());
            hero_charm.Text     = myHero.getHero_charm().ToString();
            hero_endurance.Text = myHero.getHero_endurance().ToString();
            hero_eq.Text        = myHero.getHero_eq().ToString();
            hero_eye.Text       = myHero.getHero_eye().ToString() + "度";
            hero_face.Text      = myHero.getHero_face().ToString();
            hero_group.Text     = tl.GroupToString(myHero.getHero_group());
            hero_hair.Text      = myHero.getHero_hair().ToString() + "根";
            hero_height.Text    = myHero.getHero_height().ToString() + "厘米";
            hero_iq.Text        = myHero.getHero_iq().ToString();
            hero_job.Text       = tl.JobToString(myHero.getHero_job());
            hero_lucky.Text     = myHero.getHero_lucky().ToString();
            hero_money.Text     = myHero.getHero_money().ToString() + "元";
            hero_sex.Text       = tl.SexToString(myHero.getHero_sex());
            hero_strength.Text  = myHero.getHero_strength().ToString();
            hero_talk.Text      = myHero.getHero_talk().ToString();
            hero_weight.Text    = myHero.getHero_weight().ToString() + "千克";
        }