Ignore:
Timestamp:
2017-06-17 00:08:41 (2 years ago)
Author:
npo17_18
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/24/ViljamiM/Zombodroid/Zombodroid/Zombodroid/Zombodroid.cs

    r8801 r8802  
    2626        MediaPlayer.Play("mussiiikki"); 
    2727        MediaPlayer.IsRepeating = true; 
    28       
     28 
     29 
    2930 
    3031        Mappi(); 
     
    105106    void Ammu() 
    106107    { 
    107          
     108 
    108109        if (matti.Hengissa == false) return; 
    109110        if (matti.LippaassaPatruunaa == false) 
     
    111112            tyhja.Play(); 
    112113            if (matti.LatausKesken) MessageDisplay.Add("Ladataan..."); 
    113            else MessageDisplay.Add("tyhjä"); 
    114           
     114            else MessageDisplay.Add("tyhjä"); 
     115 
    115116            return; 
     117 
     118 
    116119        } 
    117120        aani.Play(); 
    118          
     121 
    119122        PhysicsObject panos = new PhysicsObject(5.0, 5.0); 
    120123        panos.CollisionIgnoreGroup = 1; 
     124        Vector position; 
    121125        if (vasenPyssy) 
    122126        { 
    123             panos.Position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 22).RightNormal; 
     127             position= matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 22).RightNormal; 
    124128            vasenPyssy = false; 
    125129        } 
    126130        else 
    127131        { 
    128             panos.Position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * -22).RightNormal; 
     132            position = matti.Position + ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 32 + (((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * -22).RightNormal; 
    129133            vasenPyssy = true; 
    130134        } 
     135        panos.Position = position; 
     136 
    131137        panos.IgnoresCollisionWith(matti); 
    132138        panos.MaximumLifetime = new TimeSpan(0, 0, 2); 
     
    134140        panos.Velocity = ((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 2000; 
    135141        matti.PanosLaskuri.Value--; 
    136  
    137  
    138  
    139142        panos.Tag = "luoti"; 
    140  
    141     } 
     143    } 
     144 
     145    private void TeeRajahdys(Vector position) 
     146    { 
     147        int pMaxMaara = 50; 
     148        ExplosionSystem rajahdys = 
     149          new ExplosionSystem(LoadImage("partikkeli2"), pMaxMaara); 
     150        // Lisätään järjestelmä peliin 
     151        rajahdys.MaxScale = 20; 
     152        rajahdys.MinScale = 2; 
     153 
     154        rajahdys.MaxLifetime = 0.2; 
     155        rajahdys.MaxVelocity = 150; 
     156 
     157        Add(rajahdys); 
     158 
     159        double x = position.X; 
     160        double y = position.Y; 
     161        int pMaara = 10; 
     162        // "Käynnistetään" räjähdys 
     163        rajahdys.AddEffect(x, y, pMaara); 
     164    } 
     165 
     166    private void Nuotio(Vector position) 
     167    { 
     168        int pMaxMaara = 50; 
     169        int pMaara = 10; 
     170        Flame liekki = new Flame(LoadImage("suuliekki")); //, pMaxMaara, matti.Angle); 
     171 
     172        liekki.MaxScale = 15; 
     173        liekki.MaxLifetime = 2.0; 
     174        liekki.MaximumLifetime = new TimeSpan(0, 0, 8); 
     175        liekki.Position = position; 
     176         
     177        Add(liekki); 
     178    } 
     179 
    142180    void AlkuValikko() 
    143181    { 
     
    165203    void LuoKivi(Vector paikka, double leveys, double korkeus) 
    166204    { 
    167         PhysicsObject Kivi = PhysicsObject.CreateStaticObject(200.0, 200.0); 
    168         Kivi.Position = paikka; 
    169         Kivi.Position = paikka; 
    170         Kivi.Image = kivenkuva; 
    171         Add(Kivi); 
     205        PhysicsObject kivi = PhysicsObject.CreateStaticObject(200.0, 200.0); 
     206        kivi.Position = paikka; 
     207        kivi.Position = paikka; 
     208        kivi.Image = kivenkuva; 
     209        Add(kivi); 
     210        AddCollisionHandler(kivi, "luoti", LuotiOsuuEsteeseen); 
     211 
    172212    } 
    173213    void LuoMohkale(Vector paikka, double leveys, double korkeus) 
    174214    { 
    175         PhysicsObject Mohkale = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    176         Mohkale.Position = paikka; 
    177  
    178         Add(Mohkale); 
    179         Mohkale.IsVisible = true; 
     215        PhysicsObject mohkale = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     216        mohkale.Position = paikka; 
     217 
     218        Add(mohkale); 
     219        mohkale.IsVisible = true; 
     220        AddCollisionHandler(mohkale, "luoti", LuotiOsuuEsteeseen); 
     221 
    180222    } 
    181223    void LuoPuu(Vector paikka, double leveys, double korkeus) 
     
    185227        puu.Image = puunkuva; 
    186228        Add(puu); 
    187     } 
     229        AddCollisionHandler(puu, "luoti", LuotiOsuuEsteeseen); 
     230 
     231 
     232    } 
     233 
     234    private void LuotiOsuuEsteeseen(IPhysicsObject este, IPhysicsObject luoti) 
     235    { 
     236        TeeRajahdys(luoti.Position); 
     237        luoti.Destroy(); 
     238    } 
     239 
    188240    void LiikuEteen() 
    189241    { 
    190242        matti.Move(((Mouse.PositionOnWorld - matti.AbsolutePosition).Normalize()) * 220); 
    191243    } 
     244     
     245 
     246 
    192247    void YksVihu(Vector paikka, double leveys, double korkeus) 
    193248    { 
     
    246301        luoti.Destroy(); 
    247302        RoiskutaVerta(vihu.Position); 
     303        if (v.ElmaLaskuri == 0) 
     304            Nuotio(vihu.Position); 
    248305    } 
    249306    void VihuOsuuMattiin(PhysicsObject matti, PhysicsObject vihu) 
     
    257314 
    258315    } 
     316    
     317 
     318     
    259319    void PelastaPrinsessa(PhysicsObject matti, PhysicsObject prinsessa ) 
    260320    { 
Note: See TracChangeset for help on using the changeset viewer.