コード例 #1
0
ファイル: Level3.cs プロジェクト: husathap/miquelon
        bool Wave9()
        {
            if (EnemyList.Count != 0)
            {
                if (counter >= 50)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(4))));
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(4))));
                    counter = 0;
                }

                counter++;

                if (counter2 >= 200)
                {
                    EnemyBulletList.Add(new Bullet.Life(new Vector2(1054, rand.Next(50, 600)), new Vector2(-3, 0)));
                    counter2 = 0;
                }

                counter2++;

                return(false);
            }
            else
            {
                EnemyList.Add(new Enemy.TrackingShooterFish3(this, 325));
                return(true);
            }
        }
コード例 #2
0
ファイル: Level3.cs プロジェクト: husathap/miquelon
        bool Wave5()
        {
            if (EnemyList.Count != 0)
            {
                if (counter >= 30)
                {
                    for (int i = 0; i <= 5; i++)
                    {
                        EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(5))));
                        EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(5))));
                        EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(5))));
                        EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(5))));
                    }
                    counter = 0;
                }

                counter++;
                return(false);
            }
            else
            {
                for (int i = 100; i <= 550; i += 80)
                {
                    EnemyList.Add(new Enemy.Smiley(this, 1300, i));
                }
                counter = 0;
                return(true);
            }
        }
コード例 #3
0
ファイル: Level2.cs プロジェクト: husathap/miquelon
        bool Wave7()
        {
            if (EnemyList.Count == 0)
            {
                counter = 0;
                return(true);
            }
            else
            {
                if (counter >= 10)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 620), new Vector2(-2, -2)));
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 620), new Vector2(-2, -2)));

                    if (rand.NextDouble() <= 0.05)
                    {
                        EnemyBulletList.Add(new Bullet.Life(new Vector2(rand.Next(1024), 620), new Vector2(-2, -2)));
                    }

                    counter = 0;
                }
                counter++;
                return(false);
            }
        }
コード例 #4
0
ファイル: Level3.cs プロジェクト: husathap/miquelon
        /// <summary>
        /// Representing the first wave.
        /// </summary>
        /// <returns></returns>
        bool Wave1()
        {
            if (EnemyList.Count != 0)
            {
                if (counter >= 15)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 0), new Vector2(0, 2)));
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 0), new Vector2(0, 4)));
                    EnemyBulletList.Add(new Bullet.Cross(new Vector2(rand.Next(1024), 0), new Vector2(0, 3)));

                    if (rand.NextDouble() <= 0.05)
                    {
                        EnemyBulletList.Add(new Bullet.Life(new Vector2(rand.Next(1024), 0), new Vector2(0, 5)));
                    }

                    counter = 0;
                }

                counter++;
                return(false);
            }
            else
            {
                counter = 0;

                for (int i = 630; i <= 1200; i += 100)
                {
                    EnemyList.Add(new Enemy.Seahorse(this, 300, i));
                    EnemyList.Add(new Enemy.Seahorse(this, 824, i));
                }

                return(true);
            }
        }
コード例 #5
0
ファイル: Level2.cs プロジェクト: husathap/miquelon
        bool Wave1()
        {
            if (EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(256, 200), 0, false));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(512, 200), 0, false));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(768, 200), 0, false));
                counter = 0;
                return(true);
            }

            if (counter >= 40)
            {
                for (int i = 0; i <= 10; i++)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 10), new Vector2(0, rand.Next(3, 6))));
                }

                EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 10), new Vector2(0, rand.Next(3, 6))));
                EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 10), new Vector2(0, rand.Next(3, 6)), true));
                counter = 0;
            }

            counter++;

            return(false);
        }
コード例 #6
0
 public void RemoveBullet(BulletModel bullet)
 {
     EnemyBulletList.Remove(bullet);
     Events.RemoveFutureTaggedEvents(bullet);
     Events.RemoveAllTaggedEvents(bullet.GetHashCode() + "static".GetHashCode());
     enemyBulletList = EnemyBulletList.Except(RemoveBullet(bullet.GetHashCode() + "static".GetHashCode())).ToList();
 }
コード例 #7
0
ファイル: Level2.cs プロジェクト: husathap/miquelon
        bool Wave2()
        {
            if (counter >= 10)
            {
                EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 10), new Vector2(0, rand.Next(3, 6)), true));
                counter = 0;
            }

            counter++;

            if (EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(612, 300), 1074, true));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(412, 300), 1074, true));
                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(300, 400), -25, true));
                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(512, 200), -25, true));
                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(624, 100), -25, true));

                EnemyList.Add(new Enemy.EvilEel2(this, 100));
                EnemyList.Add(new Enemy.EvilEel2(this, 1124, 200));
                EnemyList.Add(new Enemy.EvilEel2(this, 1224, 300));
                EnemyList.Add(new Enemy.EvilEel2(this, 1324, 400));
                EnemyList.Add(new Enemy.EvilEel2(this, 1424, 500));

                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #8
0
ファイル: Level2.cs プロジェクト: husathap/miquelon
        bool Wave5()
        {
            if (EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.Epsilon(this, 50, true));
                EnemyList.Add(new Enemy.Epsilon(this, 974, false));
                EnemyList.Add(new Enemy.Delta(this, 100, true));
                EnemyList.Add(new Enemy.Delta(this, 550, false));
                return(true);
            }
            else
            {
                if (counter >= 55)
                {
                    EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 620), new Vector2(1, -2)));
                    EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 30), new Vector2(1, 1), true));
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 30), new Vector2(1, 3)));

                    EnemyBulletList.Add(new Bullet.Garble(new Vector2(rand.Next(1024), 620), new Vector2(-1.5f, -3)));

                    counter = 0;
                }
                counter++;

                return(false);
            }
        }
コード例 #9
0
ファイル: Level3.cs プロジェクト: husathap/miquelon
        bool Wave3()
        {
            if (EnemyList.Count != 0)
            {
                if (counter >= 15)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 630), new Vector2(0, -2)));
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 630), new Vector2(0, -2)));

                    if (rand.NextDouble() <= 0.01)
                    {
                        EnemyBulletList.Add(new Bullet.Life(new Vector2(rand.Next(1024), 0), new Vector2(0, 5)));
                    }

                    counter = 0;
                }

                counter++;
                return(false);
            }
            else
            {
                EnemyList.Add(new Enemy.Kitty1(this));
                return(true);
            }
        }
コード例 #10
0
 public void RemoveEnemy(EnemyModel enemy)
 {
     EnemyShipList.Remove(enemy);
     Events.RemoveFutureTaggedEvents(enemy);
     Events.RemoveAllTaggedEvents(enemy.GetHashCode() + "static".GetHashCode());
     enemyBulletList = EnemyBulletList.Except(RemoveBullet(enemy.GetHashCode() + "static".GetHashCode())).ToList();
     DrawEnemyExplosion(enemy);
 }
コード例 #11
0
        bool Wave4()
        {
            if (counter >= 10)
            {
                counter = 0;
                EnemyBulletList.Add(new Bullet.Blocky(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
            }

            counter++;

            if (counter2 >= 40)
            {
                counter2 = 0;
                EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
            }

            counter2++;

            if (counter3 >= 50)
            {
                double num = rand.NextDouble();
                if (num < 0.1)
                {
                    EnemyBulletList.Add(new Bullet.Life(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
                }
                else if (num >= 0.1 && num <= 0.5)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
                }
                else
                {
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
                }

                counter3 = 0;
            }

            counter3++;

            if (this.EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 200));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 300));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 500));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 600));
                EnemyList.Add(new Enemy.EvilEel(this, 350));
                counter  = 0;
                counter2 = 0;
                counter3 = 0;
                return(true);
            }
            return(false);
        }
コード例 #12
0
        private List <BulletModel> RemoveBullet(int tag)
        {
            List <BulletModel> bs = EnemyBulletList.FindAll(e => e.Tag == tag);

            if (bs.Count > 0)
            {
                foreach (BulletModel bm in bs.ToList())
                {
                    bs.AddRange(RemoveBullet(bm.GetHashCode() + "static".GetHashCode()));
                }
            }
            return(bs.ToList());
        }
コード例 #13
0
        bool Wave12()
        {
            if (EnemyList.Count > 0)
            {
                if (counter >= 5)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(1044, rand.Next(600)), new Vector2(-3.5f, -0.2f)));
                    counter = 0;
                }
                counter++;
                return(false);
            }

            return(true);
        }
コード例 #14
0
        bool Wave3()
        {
            if (counter >= 20)
            {
                counter = 0;
                EnemyBulletList.Add(new Bullet.Blocky(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
            }

            counter++;

            if (counter2 >= 40)
            {
                counter2 = 0;
                EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
            }

            counter2++;

            if (counter3 >= 50)
            {
                if (rand.NextDouble() < 0.3)
                {
                    EnemyBulletList.Add(new Bullet.Life(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
                }
                else
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
                }

                counter3 = 0;
            }

            counter3++;

            if (this.EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 200));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 300));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 500));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 600));
                EnemyList.Add(new Enemy.TrackingShooterFish(this, 100));
                counter  = 0;
                counter2 = 0;
                return(true);
            }
            return(false);
        }
コード例 #15
0
        private void FinishGame(Boolean isVictory)
        {
            IsActiveGameMode = false;

            _dispatcherFunction(() =>
            {
                PlayerBulletList.ForEach(x => x.Reset());
                EnemyBulletList.ForEach(x => x.Reset());
            });

            if (isVictory && OnWin != null)
            {
                OnWin(this, new EventArgs());
            }
            if (!isVictory && OnLose != null)
            {
                OnLose(this, new EventArgs());
            }
        }
コード例 #16
0
        bool Wave1()
        {
            if (counter >= 40)
            {
                EnemyBulletList.Add(new Bullet.Blocky(new Vector2(rand.Next(1024), -20), new Vector2(-1, 3)));
                counter = 0;
            }

            counter++;

            if (this.EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.ShooterFish(this, 200));
                EnemyList.Add(new Enemy.ShooterFish(this, 400));
                EnemyList.Add(new Enemy.ShooterFish(this, 500));
                counter = 0;
                return(true);
            }
            return(false);
        }
コード例 #17
0
        bool Wave14()
        {
            if (counter >= 50)
            {
                counter = 0;
                EnemyBulletList.Add(new Bullet.Blocky(new Vector2(rand.Next(1024), 620), new Vector2(0, -5)));
            }

            counter++;

            if (counter2 >= 100)
            {
                counter2 = 0;
                EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 620), new Vector2(0, -5)));
            }

            counter2++;

            if (counter3 >= 10)
            {
                double num = rand.NextDouble();
                if (num < 0.05)
                {
                    EnemyBulletList.Add(new Bullet.Life(new Vector2(rand.Next(1024), 620), new Vector2(0, -5)));
                }
                else if (num >= 0.05 || num <= 0.8)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 620), new Vector2(0, -5)));
                }
                else
                {
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 620), new Vector2(0, -5)));
                }

                counter3 = 0;
            }

            counter3++;

            return(EnemyList.Count == 0);
        }
コード例 #18
0
 public void ClearList()
 {
     for (int i = NextLevelEntityList.Count - 1; i >= 0; i--)
     {
         NextLevelEntityList[i].Destroy();
     }
     for (int x = ActionEntityList.Count - 1; x >= 0; x--)
     {
         ActionEntityList[x].Destroy();
     }
     for (int z = BulletList.Count - 1; z >= 0; z--)
     {
         BulletList[z].Destroy();
     }
     for (int y = SignEntityList.Count - 1; y >= 0; y--)
     {
         SignEntityList[y].Destroy();
     }
     for (int g = EnemyCornerList.Count - 1; g >= 0; g--)
     {
         EnemyCornerList[g].Destroy();
     }
     for (int h = GroundEnemyList.Count - 1; h >= 0; h--)
     {
         GroundEnemyList[h].Destroy();
     }
     for (int o = EnemyBulletList.Count - 1; o >= 0; o--)
     {
         EnemyBulletList[o].Destroy();
     }
     NextLevelEntityList.Clear();
     ActionEntityList.Clear();
     BulletList.Clear();
     EnemyBulletList.Clear();
     GroundEnemyList.Clear();
     SignEntityList.Clear();
     EnemyCornerList.Clear();
 }
コード例 #19
0
ファイル: Level3.cs プロジェクト: husathap/miquelon
        bool Wave8()
        {
            if (EnemyList.Count != 0)
            {
                if (counter >= 30)
                {
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 0), new Vector2(1, rand.Next(4))));
                    EnemyBulletList.Add(new Bullet.Cross(new Vector2(rand.Next(1024), 0), new Vector2(-1, rand.Next(4))));
                    EnemyBulletList.Add(new Bullet.Clear(new Vector2(rand.Next(1024), 0), new Vector2(0, rand.Next(4))));
                    counter = 0;
                }

                counter++;

                if (counter2 >= 200)
                {
                    EnemyBulletList.Add(new Bullet.Life(new Vector2(1054, rand.Next(50, 600)), new Vector2(-3, 0.01f)));
                    counter2 = 0;
                }

                counter2++;

                return(false);
            }
            else
            {
                EnemyList.Add(new Enemy.Smiley(this, 1300, 325));
                EnemyList.Add(new Enemy.Smiley(this, 1300, 425));
                EnemyList.Add(new Enemy.Smiley(this, 1200, 325));

                for (int i = 200; i <= 600; i += 200)
                {
                    EnemyList.Add(new Enemy.Smiley(this, 2600, i));
                }

                return(true);
            }
        }
コード例 #20
0
ファイル: Level2.cs プロジェクト: husathap/miquelon
        bool Wave4()
        {
            if (EnemyList.Count == 0)
            {
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(612, 300), 1074, true));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(412, 300), 1074, true));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(852, 300), 1074, true));

                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(612, 200), 1374, true));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(412, 300), 1374, true));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(852, 400), 1374, true));
                EnemyList.Add(new Enemy.VerticalSaucer(this, new Vector2(512, 250), 1374, true));

                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(512, 250), -25, true));
                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(350, 450), 1100, true));
                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(924, 150), 1100, true));
                EnemyList.Add(new Enemy.HorizontalSaucer(this, new Vector2(600, 550), -1100, true));

                counter = 0;

                return(true);
            }
            else
            {
                if (counter >= 60)
                {
                    EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 620), new Vector2(0, -3), true));
                    EnemyBulletList.Add(new Bullet.Add(new Vector2(rand.Next(1024), 30), new Vector2(0, 3)));
                    EnemyBulletList.Add(new Bullet.HPP(new Vector2(rand.Next(1024), 620), new Vector2(0, -3)));
                    EnemyBulletList.Add(new Bullet.Garble(new Vector2(rand.Next(1024), 30), new Vector2(0, 3)));

                    counter = 0;
                }
                counter++;

                return(false);
            }
        }