コード例 #1
0
ファイル: GAME_END.cs プロジェクト: TaryHuang/FINAL-FIGHTER
        public void update()
        {
            Time.UPDATE();

            if (Time.Time % 12 == 0)
            {
                bobPtr++;
                if (bobPtr >= 0)
                {
                    bob[bobPtr].start();

                    GamePage.effectMonsterDead.Play(GamePage.randObj.Next(3, 11) * 0.1f, -2 * 0.1f, 0);
                }
            }

            for (int i = 0; i < bob.Count(); i++)
            {
                bob[i].update();
            }



            if (Time.Time == 0)
            {
                //刪除紀錄~~~~~
                DelRecord();
                AddSCORE();                //將資訊寫進 遊戲分數資料表中
                GamePage.LOCAL = "死亡離開遊戲"; //破關離開遊戲 "共用"
            }
        }
コード例 #2
0
        public override void update()
        {
            //飄移怪物 血厚為防禦型怪獸  具備攻擊子彈功能 只會往前發射

            BOB_update();
            if (Dead)
            {
                return;
            }


            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }
            else
            {
                n = -50;
            }


            Rn--;
            if (Rn <= 0)
            {
                setTarget();
            }


            X += (targetLoc.X - X) / Rn;
            Y += (targetLoc.Y - Y) / Rn;



            //boss的攻擊*************
            if (FRIED.Time % 20 == 0)
            {
                this.firedM3();
            }

            if (FRIED.Time == 0)
            {
                this.firedRn(10);

                //該BOSS特殊攻擊位置
                ball_M2 ballX = new ball_M2(new Vector2(this.V.centerLoc.X, this.V.centerLoc.Y + 60));
                ballX.ADD_X = (GamePage.R_HERO.centerLoc.X - this.V.centerLoc.X) / ((GamePage.R_HERO.centerLoc.Y - this.V.centerLoc.Y) / 2);
                GamePage.R_MFired.Add(ballX);
                GamePage.effectballM2.Play(1f, -0.5f, 0f);

                FRIED.start();
            }

            FRIED.UPDATE();
        }
コード例 #3
0
ファイル: BOSS7.cs プロジェクト: TaryHuang/FINAL-FIGHTER
        public override void update()
        {
            //飄移怪物 血厚為防禦型怪獸  具備攻擊子彈功能 只會往前發射

            BOB_update();
            if (Dead)
            {
                return;
            }


            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }
            else
            {
                n = -50;
            }


            Rn--;
            if (Rn <= 0)
            {
                setTarget();
            }


            X += (targetLoc.X - X) / Rn;
            Y += (targetLoc.Y - Y) / Rn;



            //boss的攻擊*************
            if (FRIED.Time % 70 == 0)
            {
                if (GamePage.R_LV.getMlength() <= 21)
                {
                    callMonster("MONSTER71", 2);
                }
            }


            if (FRIED.Time == 0)
            {
                GamePage.Thunder = true;   //閃電特效
                GamePage.R_LV.allMLoss(1); //閃電自己招喚的怪

                this.firedM3Rn(8 + GamePage.HERO_S);
                FRIED.start();
            }

            FRIED.UPDATE();
        }
コード例 #4
0
        public override void update()
        {
            V.Rotation += 0.05f;

            //凸然出現的怪獸  出現後 鎖定英雄身捨攻擊

            BOB_update();

            //第一階段*****保護怪獸 並且閃閃怪獸
            if (n >= 0)
            {
                n--;
                if (n % 2 == 1)
                {
                    V.Alpha = 0f;
                }
                else
                {
                    V.Alpha = 1000f;
                }
                return;
            }


            //第二階段*****停止並計算英雄目標,"準備"開始衝刺
            if (Timer == null)
            {
                Timer        = new TARY_TIMER(0, sec);
                targetLoc    = GamePage.R_HERO.centerLoc;
                targetLoc.X -= V.Width / 2;
                targetLoc.X += randObj.Next(-100, 100);
                targetLoc.Y  = 850;

                Timer.start();
                V.imgptr++;
            }


            if (Timer.getT)
            {
                Timer.UPDATE();
                return;
            }



            //第三階段*****開始衝刺
            X += (targetLoc.X - X) / 16;
            Y += (targetLoc.Y - Y) / 16;
        }
コード例 #5
0
ファイル: BOSS1.cs プロジェクト: TaryHuang/FINAL-FIGHTER
        public override void update()
        {
            //飄移怪物 血厚為防禦型怪獸  具備攻擊子彈功能 只會往前發射

            BOB_update();
            if (Dead)
            {
                return;
            }


            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }
            else
            {
                n = -50;
            }


            Rn--;
            if (Rn <= 0)
            {
                this.firedX();
                setTarget();
            }


            X += (targetLoc.X - X) / Rn;
            Y += (targetLoc.Y - Y) / Rn;



            //boss的攻擊*************

            if (FRIED.Time == 0)
            {
                callMonster("MONSTER6", 1);
                this.firedF3();
                this.firedX();
                FRIED.start();
            }

            FRIED.UPDATE();
        }
コード例 #6
0
        public void update()
        {
            Time.UPDATE();
            if (Time.Time == 0)
            {
                //回到遊戲或是回到遊戲選單介面
                if (GamePage.HERO_LIFE > 0)
                {
                    GamePage._LV   = null;
                    GamePage._HERO = null;


                    //重新配置關卡及英雄
                    GamePage.R_MFired.clear();//清除子彈
                    GamePage.R_LV   = new LV(GamePage.HERO_LV, GP);
                    GamePage.R_HERO = new HERO(GamePage.HERO_LOC);
                    GamePage.R_BAR.ResetBtn();



                    //攻擊力
                    GamePage.R_HERO.setATK((int)(GamePage.HERO_A2));
                    //連續發射
                    GamePage.R_BAR.tempMove = GamePage.HERO_B - (int)(GamePage.HERO_B2 * 0.6);
                    //子彈數量
                    GamePage.R_HERO.setbullet(GamePage.HERO_C2);
                    //移動速度
                    GamePage.R_HERO.setF(GamePage.HERO_D + GamePage.HERO_D2);
                    //HP量
                    GamePage.R_HERO.setHP(GamePage.HERO_E2);



                    GamePage.LOCAL = "遊戲";
                }
                else
                {
                    //刪除紀錄~~~~~
                    DelRecord();
                    AddSCORE();//將資訊寫進 遊戲分數資料表中
                    GamePage.LOCAL = "死亡離開遊戲";
                }
            }
        }
コード例 #7
0
        protected void heroUpdate()
        {
            if (ProHero.getT)
            {
                //英雄被擊中~ 保護英雄秒數
                ProHero.UPDATE();

                if (ProHero.Time % 2 == 1)
                {
                    hero.Alpha = 0f;
                }
                else
                {
                    hero.Alpha = 1000f;
                }

                return;
            }


            L = GamePage.R_LV.HPlossX(hero.H, 50);

            if (L != 0)
            {
                //人物被擊中 人扣血、怪扣血

                Hp.hp -= L;


                //被怪擊中  星星徽章消失
                GamePage.R_BAR.PowerLv--;



                GamePage.effectHerofired.Play();
                ProHero.start();//啟動防護機制
            }


            if (Hp.hp <= 0)
            {
                dead = true;//腳色死亡
            }
        }
コード例 #8
0
ファイル: MONSTER3.cs プロジェクト: TaryHuang/FINAL-FIGHTER
        public override void update()
        {
            V.Rotation += 0.05f;
            //追蹤鎖定英雄的怪物 若怪被擊中就觸發鎖定事件

            BOB_update();

            //第一階段*****前進觸發範圍
            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }


            //第二階段*****停止並計算英雄目標,"準備"開始衝刺
            if (Timer == null)
            {
                Timer        = new TARY_TIMER(0, sec);
                targetLoc    = GamePage.R_HERO.centerLoc;
                targetLoc.X -= V.Width / 2;
                targetLoc.X += randObj.Next(-100, 100);
                targetLoc.Y  = 850;

                Timer.start();

                V.imgptr++;//怪物變色
            }
            if (Timer.getT)
            {
                Timer.UPDATE();
                return;
            }



            //第三階段*****開始衝刺
            X += (targetLoc.X - X) / 16;
            Y += (targetLoc.Y - Y) / 16;
        }
コード例 #9
0
        public override void update()
        {
            V.Rotation += 0.05f;

            //亂槍射擊的怪物 若怪被擊中就觸發亂鎖定發射

            BOB_update();

            //第一階段*****前進觸發範圍
            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }


            //第二階段*****停止並計算英雄目標,"準備"開始衝刺
            if (Timer == null)
            {
                Timer       = new TARY_TIMER(0, sec);
                targetLoc.X = randObj.Next(-20, 480);
                targetLoc.Y = 850;

                Timer.start();
                V.imgptr++;
            }
            if (Timer.getT)
            {
                Timer.UPDATE();
                return;
            }



            //第三階段*****開始衝刺
            X += (targetLoc.X - X) / 16;
            Y += (targetLoc.Y - Y) / 16;
        }
コード例 #10
0
        public override void update()
        {
            //飄移怪物 血厚為防禦型怪獸  具備攻擊子彈功能 只會往前發射
            RunTime++;
            BOB_update();
            if (Dead)
            {
                return;
            }

            //開始烙跑了!
            if (leave)
            {
                Y -= 0.5f;

                if (this.Y <= -50)
                {
                    this.Y = 1000;//使自身離開消失
                }

                return;
            }



            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }
            else
            {
                n = -50;
            }



            if (!Angry)
            {
                if (RunTime % 40 == 0)
                {
                    this.firedM3();
                    RunPtr   = (RunPtr == 3) ? 0 : RunPtr;
                    V.imgptr = RunPtr;
                    RunPtr++;
                }
            }



            Rn--;
            if (Rn <= 0)
            {
                this.firedM3();
                setTarget();
            }

            X += (targetLoc.X - X) / Rn2;
            Y += (targetLoc.Y - Y) / Rn2;


            //boss的攻擊*************

            if (FRIED.Time == 0)
            {
                this.firedM3();
                FRIED.start();
            }

            FRIED.UPDATE();
        }
コード例 #11
0
        public override void update()
        {
            //飄移怪物 血厚為防禦型怪獸  具備攻擊子彈功能 只會往前發射
            RunTime++;
            BOB_update();
            if (Dead)
            {
                return;
            }


            if (RunTime <= n)
            {
                return;
            }



            if (!Angry)
            {
                if (RunTime % 60 == 0)
                {
                    RunPtr = (RunPtr == 0) ? 1 : 0;
                }
            }
            else
            {
                if (RunTime % 50 == 0)
                {
                    Angry  = !Angry;
                    RunPtr = 0;
                }
                else
                {
                    RunPtr = 2;
                    if (RunTime % powerNum == 0)
                    {
                        this.firedF5();
                    }
                }
            }

            V.imgptr = RunPtr;



            Rn--;
            if (Rn <= 0)
            {
                this.firedX();
                setTarget();
            }

            X += (targetLoc.X - X) / Rn2;
            Y += (targetLoc.Y - Y) / Rn2;


            //boss的攻擊*************

            if (FRIED.Time == 0)
            {
                Angry = true;
                FRIED.start();
            }

            FRIED.UPDATE();
        }
コード例 #12
0
ファイル: BOSS4.cs プロジェクト: TaryHuang/FINAL-FIGHTER
        public override void update()
        {
            BOB_update();
            if (Dead)
            {
                return;
            }


            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }
            else
            {
                n = -500;
            }


            Rn--;
            if (Rn <= 0)
            {
                setTarget();
            }


            X += (targetLoc.X - X) / Rn;
            Y += (targetLoc.Y - Y) / Rn;

            //****************
            //左手右手一起移動

            RightHand.X = X + 315;
            RightHand.Y = Y + 120;

            LeftHand.X = X + 35;
            LeftHand.Y = Y + 170;

            if (LeftHand.Rotation >= M || LeftHand.Rotation <= -M)
            {
                M2 = !M2;
            }

            if (M2)
            {
                LeftHand.Rotation += 0.005f;
            }
            else
            {
                LeftHand.Rotation -= 0.005f;
            }

            //boss的攻擊*************
            if (FRIED.Time % 100 == 0)
            {
                if (GamePage.randObj.Next(0, 3) % 2 == 1)
                {
                    firedM3x3();
                }
                else
                {
                    this.firedM3Rn(8);
                }
            }



            if (FRIED.Time == 0)
            {
                this.callMonster("MONSTER1_A", 4 + GamePage.HERO_S);
                this.callMonster("MONSTER5", 3 + GamePage.HERO_S);
                this.callMonster("MONSTER51", 3 + GamePage.HERO_S);
                this.callMonster("MONSTER5_C", 2 + GamePage.HERO_S);
                //該BOSS特殊攻擊位置
                ball_M2 ballX = new ball_M2(new Vector2(this.V.centerLoc.X, this.V.centerLoc.Y + 60));
                ballX.ADD_X = (GamePage.R_HERO.centerLoc.X - this.V.centerLoc.X) / ((GamePage.R_HERO.centerLoc.Y - this.V.centerLoc.Y) / 2);
                GamePage.R_MFired.Add(ballX);
                GamePage.effectballM2.Play(1f, -0.5f, 0f);

                FRIED.start();

                hp += 5 + (20 * GamePage.HERO_S);//回血機制
            }

            FRIED.UPDATE();
        }
コード例 #13
0
        public override void update()
        {
            //飄移怪物 血厚為防禦型怪獸  具備攻擊子彈功能 只會往前發射
            RunTime++;
            BOB_update();
            if (Dead)
            {
                return;
            }



            if (Y <= n)
            {
                Y += ADD_Y;
                return;
            }
            else
            {
                n = -50;
            }



            if (!Angry)
            {
                if (RunTime % 50 == 0)
                {
                    this.firedM3x3();
                    RunPtr   = (RunPtr == 3) ? 0 : RunPtr;
                    V.imgptr = RunPtr;
                    RunPtr++;
                }
            }
            else
            {
                if (RunTime % 70 == 0)
                {
                    this.firedM2();
                    this.firedM3Rn(5);
                    RunPtr   = (RunPtr == 6) ? 3 : RunPtr;
                    V.imgptr = RunPtr;
                    RunPtr++;
                }
            }



            Rn--;
            if (Rn <= 0)
            {
                this.firedM3();
                setTarget();
            }

            X += (targetLoc.X - X) / Rn2;
            Y += (targetLoc.Y - Y) / Rn2;


            //boss的攻擊*************

            if (FRIED.Time == 0)
            {
                this.firedM3();
                FRIED.start();
            }

            FRIED.UPDATE();
        }