Ignore:
Timestamp:
2010-07-30 12:57:52 (13 years ago)
Author:
vematata
Message:
 
Location:
2010/30/vematata/SeikailuRoolipeli
Files:
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/vematata/SeikailuRoolipeli/Peli.cs

    r1438 r1451  
    2727    { 
    2828        ignorer = new ObjectIgnorer(); 
    29         ElamaPalkki(); 
     29        Hahmo(-40, -40); 
    3030        Testi(); 
    3131        AsetaOhjaimet(); 
     
    3434    void Testi() 
    3535    { 
    36         Hahmo(-40, -40); 
     36         
    3737        Kivi(45, -100, 180); 
    3838        Kivi(50, 100, 100); 
     
    5656 
    5757        Add(hahmo,0); 
     58 
     59        ElamaPalkki(); 
    5860        //Miekka(); 
    5961 
     
    7981    void ElamatLoppui(double mittarinArvo) 
    8082    { 
     83        ClearAll(); 
    8184        MessageDisplay.Add("Elamat loppuivat, voi voi."); 
     85 
     86 
    8287    } 
    8388 
     
    97102        nuoli = new PhysicsObject(10,3,Shapes.Circle); 
    98103        nuoli.CollisionIgnorer = ignorer; 
     104        nuoli.IgnoresCollisionResponse = true; 
    99105        AddCollisionHandler(nuoli, Osuma); 
    100106        nuoli.Angle = hahmo.Angle; 
     
    107113    void Osuma(PhysicsObject ammus, PhysicsObject kohde) 
    108114    { 
     115        Vihollinen vihollinen = kohde as Vihollinen;  
     116 
    109117        if (kohde.Tag.ToString() == "vihollinen") 
    110118        { 
    111             kohde.Brain.Active = false; 
    112             kohde.Destroy(); 
     119            vihollinen.HitPoints--; 
    113120            ammus.Destroy(); 
     121            if (vihollinen.HitPoints < 1)  
     122            { 
     123                vihollinen.Brain.Active = false; 
     124                vihollinen.Destroy(); 
     125            } 
    114126        } 
    115127        else ammus.Destroy(); 
     
    121133    PhysicsObject Otus(double x, double y) 
    122134    { 
    123         PhysicsObject otus = new PhysicsObject(20, 20, Shapes.Circle); 
     135        Vihollinen otus = new Vihollinen(20, 20, Shapes.Circle); 
    124136        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
    125137        otus.Brain = satunnaisAivot; 
    126138        otus.X = x; 
    127139        otus.Y = y; 
     140        otus.HitPoints = 5; 
    128141        otus.Restitution = 0.0; 
    129142        otus.Tag = "vihollinen"; 
     
    137150 
    138151    } 
     152     
     153    PhysicsObject Lohikaarme(double x, double y) 
     154    { 
     155        Vihollinen otus = new Vihollinen(20, 20, Shapes.Circle); 
     156        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
     157        otus.Brain = satunnaisAivot; 
     158        otus.X = x; 
     159        otus.Y = y; 
     160        otus.HitPoints = 5; 
     161        otus.Restitution = 0.0; 
     162        otus.Tag = "vihollinen"; 
     163        Add(otus, 0); 
     164        Timer Ajastin = new Timer(); 
     165        Ajastin.Interval = 0.1; 
     166        Ajastin.Trigger += Aivot; 
     167        Ajastin.Tag = otus; 
     168        Ajastin.Start(); 
     169        return (otus); 
     170 
     171    } 
    139172 
    140173    void Aivot(Timer Ajastin) 
    141174    { 
    142175        PhysicsObject kohde = Ajastin.Tag as PhysicsObject; 
    143         if (kohde.IsDestroyed()) 
    144         { 
    145             return;  
    146         } 
    147176 
    148177        if(kohde != null) 
     
    391420 
    392421} 
     422 
     423public class Vihollinen : PhysicsObject 
     424{ 
     425    public Vihollinen(double width, double height, Shape shape) 
     426        : base(width, height, shape) 
     427    { 
     428 
     429    } 
     430    private int hitPoints; 
     431 
     432    public int HitPoints 
     433    { 
     434        get { return hitPoints; } 
     435        set { hitPoints = value; } 
     436    } 
     437} 
Note: See TracChangeset for help on using the changeset viewer.