Ignore:
Timestamp:
2015-05-16 15:01:19 (4 years ago)
Author:
sieerinn
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/koodauskerho/38/AakeR/Turborace/Turborace/Turborace.cs

    r5834 r5845  
    66using Jypeli.Effects; 
    77using Jypeli.Widgets; 
     8using Jypeli.Content; 
    89 
    910public class Alus : PhysicsObject 
     
    2021    private AssaultRifle ase; 
    2122    public AssaultRifle Ase { get { return ase; } } 
    22  
     23     
    2324    public Alus(double leveys, double korkeus) 
    2425        : base(leveys, korkeus) 
     
    2728        ase.IsVisible = false; 
    2829        ase.ProjectileCollision = PanosOsui; 
     30        //ase.InfiniteAmmo = true; 
    2931        Add(ase); 
     32 
     33         
    3034    } 
    3135 
     
    3640        { 
    3741            Alus alus = (Alus)kohde; 
    38             alus.elamaLaskuri.Value -= 4; 
     42            alus.elamaLaskuri.Value -= 3; 
    3943 
    4044        } 
     
    7377    Image laserkuplakuva = LoadImage("LaserKupla"); 
    7478    Image laserkuva = LoadImage("Laser"); 
     79    Image aluspalakuva = LoadImage("AlusPalanen"); 
     80    Image rajahdyskuva = LoadImage("Rajahdys"); 
     81    Image lasipalakuva = LoadImage("Lasipala"); 
     82    Image isolaserkuva1 = LoadImage("IsoLaser1"); 
     83    Image isolaserkuva2 = LoadImage("IsoLaser2"); 
     84    Image isolaserkuva3 = LoadImage("IsoLaser3"); 
    7585     
    7686    Alus alus1, alus2, alus3, alus4; 
     
    181191        Add(elama1); 
    182192 
     193 
    183194        elama2 = new ProgressBar(50, 5); 
    184195        elama2.Position = alus2.Position + new Vector(0, 30); 
     
    210221        palkkilaskuri.Start(); 
    211222 
     223        alus1.Destroyed += delegate { elama1.Destroy(); }; 
     224        alus2.Destroyed += delegate { elama2.Destroy(); }; 
     225        alus3.Destroyed += delegate { elama3.Destroy(); }; 
     226        alus4.Destroyed += delegate { elama4.Destroy(); }; 
    212227         
    213228 
     
    216231    public void AmmuLaser(Alus alus) 
    217232    { 
    218         PhysicsObject panos = alus.Ase.Shoot(); 
    219         //panos.Image = laserkuva; 
     233        PhysicsObject panos; 
     234        if (alus.AmmoLaskuri.Value > 0) 
     235        { 
     236            panos = alus.Ase.Shoot(); 
     237 
     238            if (panos != null) 
     239            { 
     240                alus.AmmoLaskuri.Value--; 
     241                panos.Image = laserkuva; 
     242                panos.AbsoluteAngle = alus.AbsoluteAngle - Angle.FromDegrees(90); 
     243                 
     244            } 
     245             
     246        } 
     247         
    220248    } 
    221249 
     
    269297    { 
    270298        Alus alus = new Alus(60, 40); 
     299        alus.ElamaLaskuri.LowerLimit += delegate 
     300        { 
     301            alus.Destroy(); int pMaxMaara = 100; 
     302            // Alustetaan räjähdysjärjestelmä 
     303            // Parametrit: 
     304            // * kuva: mitä tekstuuria räjähdyksen  
     305            //   hiukkasten halutaan käyttävän 
     306            // * pMaxMaara: räjähdyksen käyttämien  
     307            //   hiukkasten eli partikkeleiden maksimimäärä 
     308            ExplosionSystem rajahdys = new ExplosionSystem(LoadImage("AlusPalanen"), 100); 
     309            rajahdys.MinScale = 20; 
     310            rajahdys.MaxScale = 25; 
     311             
     312            // Lisätään järjestelmä peliin 
     313            Add(rajahdys); 
     314 
     315            // "Käynnistetään" räjähdys 
     316            rajahdys.AddEffect(alus.X, alus.Y, 50); 
     317 
     318 
     319            ExplosionSystem rajahdys2 = new ExplosionSystem(LoadImage("Rajahdys"), 20); 
     320            rajahdys2.MinScale = 50; 
     321            rajahdys2.MaxScale = 100; 
     322 
     323            // Lisätään järjestelmä peliin 
     324            Add(rajahdys2); 
     325 
     326            // "Käynnistetään" räjähdys 
     327            rajahdys2.AddEffect(alus.X, alus.Y, 16); 
     328 
     329            ExplosionSystem rajahdys3 = new ExplosionSystem(LoadImage("Lasipala"), 8); 
     330            rajahdys3.MinScale = 30; 
     331            rajahdys3.MaxScale = 30; 
     332 
     333            // Lisätään järjestelmä peliin 
     334            Add(rajahdys3); 
     335 
     336            // "Käynnistetään" räjähdys 
     337            rajahdys3.AddEffect(alus.X, alus.Y, 50); 
     338 
     339        }; 
    271340        alus.Shape = Shape.Rectangle; 
    272341        alus.Image = kuva; 
Note: See TracChangeset for help on using the changeset viewer.