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(); }
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); } }
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); }
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; }