Beispiel #1
0
 public Dekorator(iEnemyShip enemyShip)
 {
     this.enemyShip = enemyShip;
     this.armor     = enemyShip.GetArmor();
     this.gunDmg    = enemyShip.GetGunDmg();
     this.shipspeed = enemyShip.GetSpeed();
     this.life      = enemyShip.GetLifes();
 }
Beispiel #2
0
        // Konstruktor pobiera potrzebne dane
        public ThreadShipMissileControl(iEnemyShip enemyShip, int xx, int yy, Canvas map, PlayerShip player)
        {
            this.player    = player;
            missileCounter = 1;
            this.map       = map;
            x = xx;
            y = yy;
            this.enemyShip = enemyShip;

            this.isMovingRigth = true;
        }
Beispiel #3
0
        public void RunGame()
        {
            while (true)
            {
                if (Globals.shipCounter == 0)
                {
                    Globals.mapCount++;
                    if (Globals.mapCount > 2)
                    {
                        Application.Current.Dispatcher.Invoke((Action)(() =>
                        {
                            mapa.Visibility = Visibility.Hidden;
                        }));
                    }
                    for (int i = 0; i < Globals.mapCount; i++)
                    {
                        shipLottery = random.Next(1, 6);//wybierz losowy statek do stworzenia
                        Application.Current.Dispatcher.Invoke((Action)(() =>
                        {
                            if (shipLottery == 1)
                            {
                                iEnemyShip enemy = factory.GetShip(mapa, "Cruiser");

                                ThreadShipMissileControl tws = new ThreadShipMissileControl(enemy, random.Next(20, 400), random.Next(20, 400), mapa, player);
                                Thread t = new Thread(new ThreadStart(tws.ThreadProc));
                                t.Start();
                            }
                            if (shipLottery == 2)
                            {
                                iEnemyShip enemy2 = new UpgradeSpeed(factory.GetShip(mapa, "Destroyer"));

                                ThreadShipMissileControl tws2 = new ThreadShipMissileControl(enemy2, random.Next(20, 400), random.Next(20, 400), mapa, player);
                                Thread t2 = new Thread(new ThreadStart(tws2.ThreadProc));
                                t2.Start();
                            }
                            if (shipLottery == 3)
                            {
                                iEnemyShip enemy = new UpgradeLife(factory.GetShip(mapa, "Cruiser"));

                                ThreadShipMissileControl tws = new ThreadShipMissileControl(enemy, random.Next(20, 400), random.Next(20, 400), mapa, player);
                                Thread t = new Thread(new ThreadStart(tws.ThreadProc));
                                t.Start();
                            }
                            if (shipLottery == 4)
                            {
                                iEnemyShip enemy = new UpgradeGun(factory.GetShip(mapa, "Cruiser"));

                                ThreadShipMissileControl tws = new ThreadShipMissileControl(enemy, random.Next(20, 400), random.Next(20, 400), mapa, player);
                                Thread t = new Thread(new ThreadStart(tws.ThreadProc));
                                t.Start();
                            }
                            if (shipLottery == 5)
                            {
                                iEnemyShip enemy = new UpgradeGun(factory.GetShip(mapa, "Destroyer"));

                                ThreadShipMissileControl tws = new ThreadShipMissileControl(enemy, random.Next(20, 400), random.Next(20, 400), mapa, player);
                                Thread t = new Thread(new ThreadStart(tws.ThreadProc));
                                t.Start();
                            }
                            if (shipLottery == 6)
                            {
                                iEnemyShip enemy = new UpgradeLife(factory.GetShip(mapa, "Cruiser"));

                                ThreadShipMissileControl tws = new ThreadShipMissileControl(enemy, random.Next(20, 400), random.Next(20, 400), mapa, player);
                                Thread t = new Thread(new ThreadStart(tws.ThreadProc));
                                t.Start();
                            }
                        }));
                        Thread.Sleep(200);
                        Globals.shipCounter++;
                    }

                    Application.Current.Dispatcher.Invoke((Action)(() =>
                    {
                        mapa.Visibility = Visibility.Visible;
                    }));
                }
                boosterCounter++;//tworzenie wzmocnień co określoną ilość czasu
                if (boosterCounter % 100 == 0)
                {
                    Booster       boost         = new Booster(mapa, "gun");
                    FlyingBooster flyingBooster = new FlyingBooster(boost, player);
                    Thread        t             = new Thread(new ThreadStart(flyingBooster.ThreadProc));
                    t.Start();
                }
                if (boosterCounter % 150 == 0)
                {
                    Booster       boost         = new Booster(mapa, "armor");
                    FlyingBooster flyingBooster = new FlyingBooster(boost, player);
                    Thread        t             = new Thread(new ThreadStart(flyingBooster.ThreadProc));
                    t.Start();
                }
                if (boosterCounter % 200 == 0)
                {
                    Booster       boost         = new Booster(mapa, "life");
                    FlyingBooster flyingBooster = new FlyingBooster(boost, player);
                    Thread        t             = new Thread(new ThreadStart(flyingBooster.ThreadProc));
                    t.Start();
                }
                Thread.Sleep(200);
            }
        }
Beispiel #4
0
 public UpgradeSpeed(iEnemyShip enemyShip) : base(enemyShip)
 {
     this.shipspeed = shipspeed + Globals.mapCount;
 }
Beispiel #5
0
 public UpgradeGun(iEnemyShip enemyShip) : base(enemyShip)
 {
     this.gunDmg += Globals.mapCount;
 }
Beispiel #6
0
 public UpgradeLife(iEnemyShip enemyShip) : base(enemyShip)
 {
     this.life += Globals.mapCount;
 }