Example #1
0
        public void czy_zestrzelony()
        {
            czy_brak = true;

            float odcień1 = losowe.następny_float(0, 6);
            float odcień2 = (odcień1 + losowe.następny_float(0, 2)) % 6f;
            Color kolor1  = Kolor_zmiana.zmiana_do_koloru(odcień1, 0.5f, 1);
            Color kolor2  = Kolor_zmiana.zmiana_do_koloru(odcień2, 0.5f, 1);

            Zawartość.Dźwięk.Eksplozje.Play(0.5f, losowe.następny_float(-0.2f, 0.2f), 0);
            for (int i = 0; i < 120; i++)
            {
                float speed = 18f * (1f - 1 / losowe.następny_float(1f, 10f));
                var   state = new Cząstki_stan()
                {
                    Prędkość        = losowe.następny_wektor(speed, speed),
                    Typ             = cząstki_typ.Przeciwnik,
                    Mnożnik_długość = 1f
                };

                Color color = Color.Lerp(kolor1, kolor2, losowe.następny_float(0, 1));
                Start.Cząstki_menadżer.stwórz_cząstkę(Tekstury.laser, pozycja, color, 190, 1.5f, state);
            }
            Gracz_status.dodaj_punkty(punkt_wartość);
            Gracz_status.zwiększ_mnożnik();
        }
Example #2
0
        public void zabij()
        {
            Gracz_status.usuń_życie();
            klatek_do_pojawienia_się = Gracz_status.czy_koniec_gry ? 300 : 120;
            Color zółty = new Color(0.8f, 0.8f, 0.4f);

            for (int i = 0; i < 1200; i++)
            {
                float szykość = 18f * (1f - 1 / losowo.następny_float(1f, 10f));
                Color kolor   = Color.Lerp(Color.White, zółty, losowo.następny_float(0, 1));
                var   state   = new Cząstki_stan
                {
                    Prędkość        = losowo.następny_wektor(szykość, szykość),
                    Typ             = cząstki_typ.Brak,
                    Mnożnik_długość = 1
                };

                Start.Cząstki_menadżer.stwórz_cząstkę(Tekstury.laser, pozycja, kolor, 190, 1.5f, state);
            }
        }
Example #3
0
        protected override void Update(GameTime gameTime)
        {
            czas = gameTime;
            Sterowanie.Update();

            if (Sterowanie.przycisk_czy_wciœniête(Buttons.Back) || Sterowanie.klawiatura_czy_wciœniête(Keys.Escape))
            {
                this.Exit();
            }
            if (Sterowanie.klawiatura_czy_wciœniête(Keys.P))
            {
                pauza = !pauza;
            }
            if (!pauza)
            {
                Jednostka_menad¿er.Update();
                Cz¹stki_menad¿er.Update();
                Przeciwnik_pojawienie_siê.Update();
                Gracz_status.Update();
            }

            base.Update(gameTime);
        }
Example #4
0
        public override void Update()
        {
            if (czy_nie_żyje)
            {
                if (Gracz_status.życia == 0)
                {
                    if (Keyboard.GetState().IsKeyDown(Keys.T))
                    {
                        klatek_do_pojawienia_się = 120;
                        Gracz_status.Reset();
                        pozycja = Start.rozmiar_ekranu / 2;
                    }
                    else if (Keyboard.GetState().IsKeyDown(Keys.N))
                    {
                        gra.wyjdź();
                    }
                }
                else
                {
                    --klatek_do_pojawienia_się;
                }

                return;
            }
            const float szybkość = 8;

            Prędkość = szybkość * Sterowanie.pobierz_ruch();
            pozycja += Prędkość;
            pozycja  = Vector2.Clamp(pozycja, rozmiar / 2, Start.rozmiar_ekranu - rozmiar / 2);

            if (Prędkość.LengthSquared() > 0)
            {
                orientacja = Dodatki.do_kąta(Prędkość);
            }

            var cel = Sterowanie.pobierz_celownik();

            if (cel.LengthSquared() > 0 && klatki_pozostało <= 0)
            {
                klatki_pozostało = klatki_czas;
                float      cel_kąt  = Dodatki.do_kąta(cel);
                Quaternion cel_quat = Quaternion.CreateFromYawPitchRoll(0, 0, cel_kąt);

                float   losowy_spread = Dodatki.następny_float(losowo, -0.04f, 0.04f) + Dodatki.następny_float(losowo, -0.04f, 0.04f);
                Vector2 prędkość_p    = Prędkość_math.z_krzywej(cel_kąt + losowy_spread, 11f);

                Vector2 pęd = Vector2.Transform(new Vector2(25, -8), cel_quat);
                Jednostka_menadżer.dodaj(new Pocisk(pozycja + pęd, prędkość_p));

                pęd = Vector2.Transform(new Vector2(25, 8), cel_quat);
                Jednostka_menadżer.dodaj(new Pocisk(pozycja + pęd, prędkość_p));
                Zawartość.Dźwięk.Strzał.Play(0.2f, losowo.następny_float(-0.2f, 0.2f), 0);
            }

            if (klatki_pozostało > 0)
            {
                klatki_pozostało--;
            }
            strzał_powtarzalny();
            Prędkość = Vector2.Zero;
        }