Ignore:
Timestamp:
2017-10-21 14:47:11 (20 months ago)
Author:
mianhayr
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/24/AaronL/AdventureLunk/AdventureLunk/AdventureLunk/AdventureLunk.cs

    r8791 r9464  
    2525 
    2626    Image hirviökuva = LoadImage("hirvio"); 
     27 
     28    Image lohkokuva = LoadImage("kivi123"); 
     29 
     30    Image kivikuva = LoadImage("kivi"); 
     31    PhysicsObject mieka; 
     32    List<PhysicsObject> hirviot = new List<PhysicsObject>(); 
     33    List<AssaultRifle> aseet = new List<AssaultRifle>(); 
     34 
     35 
    2736 
    2837    bool lohkoOnJoOsunutPainikkeeseen = false; 
     
    8089 
    8190        link.Velocity = vektori; 
     91 
     92        List<GameObject> viholliset = GetObjectsWithTag("vihollinen"); 
     93        foreach (GameObject go in viholliset) 
     94        { 
     95            Vector dist = go.Position - link.Position; 
     96            go.Angle = dist.Angle-Angle.FromDegrees(90); 
     97        } 
    8298    } 
    8399 
     
    137153        lohko.Position = paikka; 
    138154        lohko.Color = Color.Green; 
     155        lohko.Image = lohkokuva; 
    139156 
    140157        // TODO: 
     
    164181    void LohkoOsuu(PhysicsObject lohko, PhysicsObject painike) 
    165182    { 
     183        lohko.Destroy(); 
     184 
     185 
    166186        if (lohkoOnJoOsunutPainikkeeseen == false) 
    167         { 
     187        {    
    168188            KutsuHirvio(lohko.X+300.0,lohko.Y); 
    169189            KutsuHirvio(lohko.X+400.0,lohko.Y); 
     
    174194    void KutsuHirvio(double x, double y) 
    175195    { 
     196        FollowerBrain seuraajanAivot = new FollowerBrain(link); 
     197        seuraajanAivot.Speed = (50.0); 
    176198        PhysicsObject hirvio = new PhysicsObject(100.0, 100.0); 
    177199        hirvio.Tag = "vihollinen"; 
    178200        Add(hirvio); 
    179201        hirvio.X = x; 
     202        hirviot.Add(hirvio); 
    180203        hirvio.Y = y; 
    181         hirvio.Image = hirviökuva;  
     204        hirvio.Image = hirviökuva; 
     205        hirvio.Brain = seuraajanAivot; 
     206        AssaultRifle hirvioAse = new AssaultRifle(30, 10); 
     207        hirvioAse.Ammo.Value = 1000; 
     208        aseet.Add(hirvioAse); 
     209        hirvioAse.ProjectileCollision = AmmusOsui; 
     210        hirvio.Add(hirvioAse); 
     211        hirvioAse.Angle += Angle.FromDegrees(-90.0); 
     212        hirvioAse.IsVisible = false; 
     213        Timer ampumisajastin = new Timer(); 
     214        ampumisajastin.Interval = 3; 
     215        ampumisajastin.Timeout += () => hirvioAmpuu(hirvioAse); 
     216        ampumisajastin.Start();     
     217 
     218    } 
     219 
     220    void hirvioAmpuu(AssaultRifle hirvioAse) 
     221 
     222         
     223    { 
     224        PhysicsObject ammus = hirvioAse.Shoot(); 
     225        if(ammus != null) 
     226        { 
     227            ammus.Size *= 3; 
     228            ammus.Image = kivikuva; 
     229            ammus.Velocity *= 0.25; 
     230            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     231        } 
     232         
     233    } 
     234    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     235    { 
     236        kohde.Destroy(); 
     237        ammus.Destroy(); 
     238        int ind = hirviot.IndexOf(kohde); 
     239        if (ind != -1) 
     240            aseet[ind].Destroy(); 
    182241    } 
    183242    void KutsuMieka(double x, double y) 
    184243    { 
    185         PhysicsObject mieka = new PhysicsObject(100.0, 100.0); 
     244        mieka = new PhysicsObject(100.0, 100.0); 
    186245        mieka.Tag = "mieka"; 
    187246        Add(mieka); 
    188247        mieka.X = x; 
    189248        mieka.Y = y; 
     249        mieka.IgnoresCollisionResponse = true; 
    190250        mieka.Image = miekakuva; 
    191251    } 
Note: See TracChangeset for help on using the changeset viewer.