Changeset 1472 for 2010


Ignore:
Timestamp:
2010-07-30 13:09:35 (9 years ago)
Author:
heanjule
Message:

pyromaani-peli valmis

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/heanjule/Pyromaani/Peli.cs

    r1435 r1472  
    2222    Image vihollinenKuva = LoadImage("Terroristi"); 
    2323     
    24  
    2524 
    2625    protected override void Begin() 
     
    9695    } 
    9796 
    98     PhysicsObject LuoVihollinen() 
    99     { 
    100         PhysicsObject vihollinen = new PhysicsObject(50, 100); 
     97    PlatformCharacter LuoVihollinen() 
     98    { 
     99        PlatformCharacter vihollinen = new PlatformCharacter(50, 50); 
     100        vihollinen.Weapon = new AssaultRifle(50, 20); 
     101        vihollinen.Tag = "vihollinen"; 
     102        vihollinen.Image = vihollinenKuva; 
     103 
    101104        Add(vihollinen); 
    102105 
    103106        Timer ajastin = new Timer(); 
    104         ajastin.Interval = 3.5; 
     107        ajastin.Interval = 0.5; 
    105108        ajastin.Trigger += VihollinenAmpuu; 
    106109        ajastin.Tag = vihollinen; 
     
    112115    void VihollinenAmpuu(Timer ajastin) 
    113116    { 
    114         PhysicsObject vihollinen = ((PhysicsObject)ajastin.Tag); 
     117        PlatformCharacter vihollinen = ((PlatformCharacter)ajastin.Tag); 
     118 
     119        if (vihollinen.X > pyro.X) vihollinen.Walk(-0.1); 
     120        else vihollinen.Walk(0.1); 
    115121 
    116122        if (vihollinen != null) 
    117123        { 
    118             PhysicsObject panos = new PhysicsObject(20, 20); 
    119             panos.Position = vihollinen.Position; 
    120             panos.Velocity = new Vector(200,200); 
    121             panos.Velocity = new Vector(300, 300); 
    122             Add(panos); 
    123         } 
    124     } 
    125      
     124            PhysicsObject ammus = vihollinen.Weapon.Shoot(); 
     125 
     126            if (ammus != null) 
     127            { 
     128                AddCollisionHandler(ammus, vihollisenAmmusOsuu); 
     129                ammus.Size *= 3; 
     130            } 
     131        } 
     132        { 
     133 
     134        } 
     135    } 
     136 
     137    void vihollisenAmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     138    { 
     139        if (kohde.Tag.ToString() == "vihollinen") return; 
     140        if (kohde == pyro) 
     141        { 
     142            pyro.Destroy(); 
     143        } 
     144        ammus.Destroy(); 
     145    } 
    126146 
    127147     
     
    141161        pyro.Color = Color.Black; 
    142162        pyro.Mass = 10.0; 
     163        pyro.Image = pyronKuva; 
    143164        AddCollisionHandler(pyro, esineenKerays); 
    144165 
     
    173194            kohde.Destroy(); 
    174195             
    175              
    176196        } 
    177197    } 
     
    210230    void AmmuAseella() 
    211231    { 
    212         PhysicsObject ammus = inventory[valittuAse].Shoot(); 
     232        PhysicsObject ammus = pyro.Weapon.Shoot(); 
    213233 
    214234        if (ammus != null) 
    215235        { 
     236            AddCollisionHandler(ammus, pyronAmmusOsuu); 
    216237            ammus.Size *= 3; 
    217238        } 
     239         
     240    } 
     241 
     242    void pyronAmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 
     243    { 
     244        if (kohde == pyro) return; 
     245        if (kohde.Tag.ToString() == "vihollinen") 
     246        { 
     247            kohde.Destroy(); 
     248        } 
     249        ammus.Destroy(); 
    218250    } 
    219251 
Note: See TracChangeset for help on using the changeset viewer.