示例#1
0
        public static void GenerationPanel(PanelInMap kPanelInMap, float moveMap, Random rand, ref PanelInMap objRandom, List<BonusInMap> bonus)
        {
            if ((kPanelInMap != null) && (rand != null) && (objRandom != null) && (bonus != null))
            {
                //Easy
                if ((kPanelInMap.CoordY - moveMap < -10.0f) && (moveMap < 3000.0f))
                {

                    //Generation Static panel
                    kPanelInMap.CoordY = rand.Next(30 + (int)objRandom.CoordY, 95 + (int)objRandom.CoordY);
                    kPanelInMap.CoordX = rand.Next(20, 430);
                    kPanelInMap.Type = 0;
                    kPanelInMap.LeftFlag = false;

                    //Generation Bad panel
                    if (rand.Next(0, 5) == 2)
                    {
                        kPanelInMap.Type = 2;
                    }
                    else
                    {
                        objRandom = kPanelInMap;
                    }

                    //generation bonus
                    BonusInMap bufBonusInMap = null;
                    uint bufTypeBonus = (uint)rand.Next(0, 10);
                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 0))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }

                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 2))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 8, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                }

                //NORMAL
                if ((kPanelInMap.CoordY - moveMap < -10.0f) && (moveMap > 3000.0f) && (moveMap <= 10000.0f))
                {

                    //Generation Static panel
                    kPanelInMap.CoordY = rand.Next(30 + (int)objRandom.CoordY, 95 + (int)objRandom.CoordY);
                    kPanelInMap.CoordX = rand.Next(20, 430);
                    kPanelInMap.Type = (uint)rand.Next(0, 2);
                    kPanelInMap.LeftFlag = false;

                    //Generation Bad panel
                    if (rand.Next(0, 10) == 2)
                    {
                        kPanelInMap.Type = 2;
                    }
                    else
                    {
                        objRandom = kPanelInMap;
                    }

                    BonusInMap bufBonusInMap = null;

                    uint bufTypeBonus = (uint)rand.Next(0, 20);

                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 0))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 1))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 2))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 8, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 3))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 2, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 4))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 12, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }

                }
                //HARDCORE
                if ((kPanelInMap.CoordY - moveMap < -10.0f) && (moveMap > 10000.0f))
                {

                    //Generation Static panel
                    kPanelInMap.CoordY = rand.Next(30 + (int)objRandom.CoordY, 95 + (int)objRandom.CoordY);
                    kPanelInMap.CoordX = rand.Next(20, 430);
                    kPanelInMap.Type = 1;
                    kPanelInMap.LeftFlag = false;

                    //Generation Bad panel
                    objRandom = kPanelInMap;
                    if (rand.Next(0, 3) == 2)
                    {
                        kPanelInMap.Type = 5;
                        objRandom = kPanelInMap;
                    }

                    //раскидываем бонусы

                    BonusInMap bufBonusInMap = null;

                    uint bufTypeBonus = (uint)rand.Next(0, 30);

                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 0))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 1))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 2))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 8, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 3))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 2, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 4))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 12, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }

                }
            }
        }
示例#2
0
        public static void GenerationPanel(PanelInMap kPanelInMap, float moveMap, Random rand, ref PanelInMap objRandom, List <BonusInMap> bonus)
        {
            if ((kPanelInMap != null) && (rand != null) && (objRandom != null) && (bonus != null))
            {
                //Easy
                if ((kPanelInMap.CoordY - moveMap < -10.0f) && (moveMap < 3000.0f))
                {
                    //Generation Static panel
                    kPanelInMap.CoordY   = rand.Next(30 + (int)objRandom.CoordY, 95 + (int)objRandom.CoordY);
                    kPanelInMap.CoordX   = rand.Next(20, 430);
                    kPanelInMap.Type     = 0;
                    kPanelInMap.LeftFlag = false;

                    //Generation Bad panel
                    if (rand.Next(0, 5) == 2)
                    {
                        kPanelInMap.Type = 2;
                    }
                    else
                    {
                        objRandom = kPanelInMap;
                    }

                    //generation bonus
                    BonusInMap bufBonusInMap = null;
                    uint       bufTypeBonus  = (uint)rand.Next(0, 10);
                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 0))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }

                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 2))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 8, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                }

                //NORMAL
                if ((kPanelInMap.CoordY - moveMap < -10.0f) && (moveMap > 3000.0f) && (moveMap <= 10000.0f))
                {
                    //Generation Static panel
                    kPanelInMap.CoordY   = rand.Next(30 + (int)objRandom.CoordY, 95 + (int)objRandom.CoordY);
                    kPanelInMap.CoordX   = rand.Next(20, 430);
                    kPanelInMap.Type     = (uint)rand.Next(0, 2);
                    kPanelInMap.LeftFlag = false;

                    //Generation Bad panel
                    if (rand.Next(0, 10) == 2)
                    {
                        kPanelInMap.Type = 2;
                    }
                    else
                    {
                        objRandom = kPanelInMap;
                    }

                    BonusInMap bufBonusInMap = null;


                    uint bufTypeBonus = (uint)rand.Next(0, 20);

                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 0))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 1))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 2))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 8, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 3))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 2, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 4))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 12, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                }
                //HARDCORE
                if ((kPanelInMap.CoordY - moveMap < -10.0f) && (moveMap > 10000.0f))
                {
                    //Generation Static panel
                    kPanelInMap.CoordY   = rand.Next(30 + (int)objRandom.CoordY, 95 + (int)objRandom.CoordY);
                    kPanelInMap.CoordX   = rand.Next(20, 430);
                    kPanelInMap.Type     = 1;
                    kPanelInMap.LeftFlag = false;

                    //Generation Bad panel
                    objRandom = kPanelInMap;
                    if (rand.Next(0, 3) == 2)
                    {
                        kPanelInMap.Type = 5;
                        objRandom        = kPanelInMap;
                    }

                    //раскидываем бонусы

                    BonusInMap bufBonusInMap = null;


                    uint bufTypeBonus = (uint)rand.Next(0, 30);

                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 0))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 1))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 16, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 0) && (bufTypeBonus == 2))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 8, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 3))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 2, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                    if ((kPanelInMap.Type == 1) && (bufTypeBonus == 4))
                    {
                        bufBonusInMap = new BonusInMap(kPanelInMap.CoordX + 12, kPanelInMap.CoordY + 14, bufTypeBonus, kPanelInMap.LeftFlag);
                        bonus.Add(bufBonusInMap);
                    }
                }
            }
        }