Ignore:
Timestamp:
2013-07-25 14:54:50 (6 years ago)
Author:
nieekrva
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/NikiV/Airbattle/Airbattle/Airbattle/Airbattle.cs

    r4637 r4669  
    1616    List<Vector> hamistenSpawnauspaikat; 
    1717    IntMeter vihulaskuri; 
    18  
     18    string ase = ""; 
    1919    EasyHighScore topLista = new EasyHighScore(); 
     20    Image plasmaAmmusKuva = LoadImage("plasmaammus"); 
    2021 
    2122    int[] montakoVihuaKentassa = { 20, 30, 40, 50, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180 }; 
     
    3839        { 
    3940            kenttaNro++; 
     41            Luoplasmaase(new Vector( RandomGen.NextDouble(Level.Left, Level.Right), Level.Top), RUUDUN_LEVEYS, RUUDUN_LEVEYS); 
    4042            Timer.SingleShot(2.0, delegate 
    4143            { 
     
    116118        ammus.CollisionIgnoreGroup = ampuja.CollisionIgnoreGroup; 
    117119        ammus.Hit(Vector.FromLengthAndAngle(1000, ampuja.Angle + Angle.FromDegrees(90))); 
     120        if(ase.Equals("plasmaase")) 
     121        { 
     122            ammus.Image = plasmaAmmusKuva; 
     123            ammus.IgnoresCollisionResponse = true; 
     124        } 
     125 
    118126        Add(ammus); 
    119127        AddCollisionHandler(ammus, "hämis", CollisionHandler.AddMeterValue(pisteLaskuri, 200)); 
     
    125133    void AmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
    126134    { 
     135        if(!ase.Equals("plasmaase")) 
    127136        ammus.Destroy(); 
    128137        if(!kohde.Tag.Equals("seinä"))kohde.Destroy(); 
     
    187196        ruudut.SetTileMethod('h', LisaaHamiksenPaikka); 
    188197        ruudut.SetTileMethod('p', LisaaVihunPaikka); 
     198        ruudut.SetTileMethod('t', Luoplasmaase); 
    189199        ruudut.Execute(RUUDUN_LEVEYS, RUUDUN_LEVEYS); 
    190200    } 
     
    203213        AddCollisionHandler(alus, "hämis", PelaajaOsuu); 
    204214        AddCollisionHandler(alus, "perusvihu", PelaajaOsuu); 
    205     } 
     215        AddCollisionHandler(alus, TarkistaKerattavat); 
     216    } 
     217 
     218 
     219    void TarkistaKerattavat(PhysicsObject alus, PhysicsObject kerattava) 
     220    { 
     221        if(!(kerattava.Tag is string)) return; 
     222        switch ((string)kerattava.Tag) 
     223        { 
     224            case "plasmaase": 
     225                ase = "plasmaase"; 
     226                kerattava.Destroy(); 
     227                break; 
     228            default: 
     229                break; 
     230        } 
     231 
     232    } 
     233 
    206234 
    207235    void LisaaHamiksenPaikka(Vector paikka, double leveys, double korkeus) 
     
    255283 
    256284    } 
    257  
     285    void Luoplasmaase(Vector paikka, double leveys, double korkeus) 
     286    { 
     287        PhysicsObject plasmaase = new PhysicsObject(leveys, korkeus); 
     288        plasmaase.Position = paikka; 
     289        Add(plasmaase); 
     290        plasmaase.CanRotate = false; 
     291        Image plasmaasekuva = LoadImage("token1"); 
     292        plasmaase.Image = plasmaasekuva; 
     293        plasmaase.Tag = "plasmaase"; 
     294        plasmaase.Hit(new Vector(0, -500)); 
     295    } 
     296         
    258297    
    259298 
Note: See TracChangeset for help on using the changeset viewer.