Ignore:
Timestamp:
2017-08-01 14:47:13 (2 years ago)
Author:
nupeohje
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2017/31/TaavettiV/Trumpsimulator/Trumpsimulator/Trumpsimulator/Trumpsimulator.cs

    r9302 r9311  
    99class Pelihahmo : PlatformCharacter 
    1010{ 
    11     private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     11    private IntMeter elamaLaskuri = new IntMeter(8, 0, 8); 
    1212    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
    1313 
     
    3636    } 
    3737 
     38    
     39 
     40 
     41 
     42 
     43 
     44 
    3845} 
    39  
     46class Talo : PlatformCharacter 
     47{ 
     48    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 
     49    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 
     50 
     51    public Talo(double leveys, double korkeus) 
     52        : base(leveys, korkeus) 
     53    { 
     54        elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 
     55    } 
     56 
     57} 
    4058 
    4159 
     
    156174        } 
    157175 
     176    } 
     177 
     178    void VihuAmmuAseella(PlatformCharacter ampuja) 
     179    { 
     180        if (ampuja.IsDestroyed) return; 
     181 
     182        PhysicsObject ammus = ampuja.Weapon.Shoot(); 
     183 
     184        if (ammus != null) 
     185        { 
     186            //ammus.Size *= 0.10; 
     187            ammus.Width = 20; 
     188            ammus.Height = 1; 
     189            //ammus.Image = ... 
     190            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 
     191            AddCollisionHandler(ammus, "talo", Tormaataloon); 
     192        } 
     193 
     194    } 
     195 
     196    void Tormaataloon(PhysicsObject tormaa,PhysicsObject kohde) 
     197    { 
     198        (kohde as Talo).ElamaLaskuri.AddValue(-1); 
    158199    } 
    159200    void LuoKentta() 
     
    173214        kentta.SetTileMethod('G', LisaaTacoVihu); 
    174215        kentta.SetTileMethod('p', bombi); 
     216        kentta.SetTileMethod('C',  Lisaacaktus); 
    175217        kentta.SetTileMethod('J', lisaajetpack); 
    176218        kentta.Optimize('H'); 
     
    224266    void LisaaTalo(Vector paikka, double leveys, double korkeus) 
    225267    { 
    226         PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     268        Talo taso = new Talo(leveys, korkeus); 
    227269        taso.Position = paikka; 
    228270        taso.Color = Color.Green; 
     271        taso.Tag = "talo"; 
    229272        Add(taso); 
    230273 
     
    243286        taso.Image = LoadImage("ruoho"); 
    244287    } 
    245      
     288 
     289 
     290    void Lisaacaktus(Vector paikka, double leveys, double korkeus) 
     291    { 
     292        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     293        taso.Position = paikka; 
     294 
     295        Add(taso); 
     296        taso.Color = Color.Green; 
     297        taso.Image = LoadImage("caktus"); 
     298    } 
     299 
     300 
    246301 
    247302 
     
    344399        Timer aikaLaskuri = new Timer(); 
    345400        aikaLaskuri.Interval = 0.2; 
    346         aikaLaskuri.Timeout += () => AmmuAseella(asevihu); 
     401        aikaLaskuri.Timeout += () => VihuAmmuAseella(asevihu); 
    347402        aikaLaskuri.Start(); 
    348403    } 
     
    355410        Add(tacovihu); 
    356411        tacovihu.Tag = "A"; 
    357  
     412           
    358413        PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 
    359414        tasoAivot.Speed = 100; 
     
    377432        }; 
    378433        aikaLaskuri.Start(); 
     434 
     435        tacovihu.Destroyed += aikaLaskuri.Stop; 
    379436    } 
    380437 
Note: See TracChangeset for help on using the changeset viewer.