public AirBattle1()
 {
     this.F_LostInfo   = new LostPlaneInfo();
     this.E_LostInfo   = new LostPlaneInfo();
     this.SeikuKind    = BattleSeikuKinds.None;
     this.F_TouchPlane = 0;
     this.E_TouchPlane = 0;
 }
Ejemplo n.º 2
0
 public AirBattle1()
 {
     F_LostInfo   = new LostPlaneInfo();
     E_LostInfo   = new LostPlaneInfo();
     SeikuKind    = BattleSeikuKinds.None;
     F_TouchPlane = 0;
     E_TouchPlane = 0;
 }
Ejemplo n.º 3
0
        protected virtual int getMerits(int f_seiku, int e_seiku, ref BattleSeikuKinds dispSeiku)
        {
            double num  = (double)f_seiku * 3.0;
            double num2 = (double)f_seiku * 1.5;
            double num3 = (double)e_seiku * 3.0;
            double num4 = (double)e_seiku * 1.5;

            if ((double)f_seiku >= num3)
            {
                dispSeiku     = BattleSeikuKinds.Kakuho;
                seikuValue[0] = 3;
                seikuValue[1] = 0;
                return(1);
            }
            if (num2 <= (double)e_seiku && (double)e_seiku < num)
            {
                dispSeiku     = BattleSeikuKinds.Ressei;
                seikuValue[0] = 1;
                seikuValue[1] = 2;
                return(7);
            }
            if (num4 <= (double)f_seiku && (double)f_seiku < num3)
            {
                dispSeiku     = BattleSeikuKinds.Yuusei;
                seikuValue[0] = 2;
                seikuValue[1] = 1;
                return(3);
            }
            if ((double)e_seiku >= num)
            {
                dispSeiku     = BattleSeikuKinds.Lost;
                seikuValue[0] = 0;
                seikuValue[1] = 3;
                return(10);
            }
            dispSeiku     = BattleSeikuKinds.None;
            seikuValue[0] = 0;
            seikuValue[1] = 0;
            return(5);
        }
Ejemplo n.º 4
0
 protected override int getMerits(int f_seiku, int e_seiku, ref BattleSeikuKinds dispSeiku)
 {
     return(base.getMerits(f_seiku, e_seiku, ref dispSeiku));
 }
Ejemplo n.º 5
0
        private void CalculateDayKindAttack()                                   //计算每艘船弹观发动率
        {
            double AllDeckSakuteki = 0;                                         //舰队索敌

            double[] ShipSumItemSakuteki = new double[fDeck.Ship_List.Count()]; //单舰装备索敌
            int      DeckIdx             = 0;

            foreach (ShipData currentShip in fDeck.Ship_List)
            {
                AllDeckSakuteki += currentShip.Sakuteki;//舰队观测
                foreach (ItemData currentItem in currentShip.Item_List)
                {
                    if (currentItem.onSlotNum > 0 &&
                        (currentItem.Api_mapbattle_type3 == 10 || currentItem.Api_mapbattle_type3 == 10))//水观水爆
                    {
                        AllDeckSakuteki += (int)Math.Sqrt((double)currentItem.onSlotNum) * currentItem.Sakuteki;
                    }
                    ShipSumItemSakuteki[DeckIdx] += (double)currentItem.Sakuteki;
                }
                ++DeckIdx;
            }
            double           AllDeckSpUp = (double)((int)(Math.Sqrt(AllDeckSakuteki) + AllDeckSakuteki * 0.1));
            BattleSeikuKinds Seiku       = FightParams.Seiku;

            DeckIdx = 0;
            foreach (ShipData currentShip2 in fDeck.Ship_List)
            {
                int ShipLuckSpUp = (int)(Math.Sqrt((double)currentShip2.Luck) + 10.0);
                if (Seiku == BattleSeikuKinds.Kakuho)
                {
                    int Posbility = (int)((double)ShipLuckSpUp + 10.0 + (AllDeckSpUp + ShipSumItemSakuteki[DeckIdx] * 1.6) * 0.7);
                    if (currentShip2.CanDayRenzoku)
                    {
                        currentShip2.ThisBattlePosbilityDayRenzoku = (double)Posbility / 130.0;
                    }
                    else
                    {
                        currentShip2.ThisBattlePosbilityDayRenzoku = 0;
                    }
                    if (currentShip2.CanDaySp4)
                    {
                        currentShip2.ThisBattlePosbilityDaySp4 = (double)Posbility / 150.0;
                    }
                    else
                    {
                        currentShip2.ThisBattlePosbilityDaySp4 = 0;
                    }
                }
                else if (Seiku == BattleSeikuKinds.Yuusei)
                {
                    int Posbility = (int)((double)ShipLuckSpUp + (AllDeckSpUp + ShipSumItemSakuteki[DeckIdx] * 1.2) * 0.6);
                    if (currentShip2.CanDayRenzoku)
                    {
                        currentShip2.ThisBattlePosbilityDayRenzoku = (double)Posbility / 130.0;
                    }
                    else
                    {
                        currentShip2.ThisBattlePosbilityDayRenzoku = 0;
                    }
                    if (currentShip2.CanDaySp4)
                    {
                        currentShip2.ThisBattlePosbilityDaySp4 = (double)Posbility / 150.0;
                    }
                    else
                    {
                        currentShip2.ThisBattlePosbilityDaySp4 = 0;
                    }
                }
                ++DeckIdx;
            }
        }