Changeset 1451 for 2010/30/vematata/SeikailuRoolipeli
- Timestamp:
- 2010-07-30 12:57:52 (13 years ago)
- Location:
- 2010/30/vematata/SeikailuRoolipeli
- Files:
-
- 1 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/vematata/SeikailuRoolipeli/Peli.cs
r1438 r1451 27 27 { 28 28 ignorer = new ObjectIgnorer(); 29 ElamaPalkki();29 Hahmo(-40, -40); 30 30 Testi(); 31 31 AsetaOhjaimet(); … … 34 34 void Testi() 35 35 { 36 Hahmo(-40, -40);36 37 37 Kivi(45, -100, 180); 38 38 Kivi(50, 100, 100); … … 56 56 57 57 Add(hahmo,0); 58 59 ElamaPalkki(); 58 60 //Miekka(); 59 61 … … 79 81 void ElamatLoppui(double mittarinArvo) 80 82 { 83 ClearAll(); 81 84 MessageDisplay.Add("Elamat loppuivat, voi voi."); 85 86 82 87 } 83 88 … … 97 102 nuoli = new PhysicsObject(10,3,Shapes.Circle); 98 103 nuoli.CollisionIgnorer = ignorer; 104 nuoli.IgnoresCollisionResponse = true; 99 105 AddCollisionHandler(nuoli, Osuma); 100 106 nuoli.Angle = hahmo.Angle; … … 107 113 void Osuma(PhysicsObject ammus, PhysicsObject kohde) 108 114 { 115 Vihollinen vihollinen = kohde as Vihollinen; 116 109 117 if (kohde.Tag.ToString() == "vihollinen") 110 118 { 111 kohde.Brain.Active = false; 112 kohde.Destroy(); 119 vihollinen.HitPoints--; 113 120 ammus.Destroy(); 121 if (vihollinen.HitPoints < 1) 122 { 123 vihollinen.Brain.Active = false; 124 vihollinen.Destroy(); 125 } 114 126 } 115 127 else ammus.Destroy(); … … 121 133 PhysicsObject Otus(double x, double y) 122 134 { 123 PhysicsObject otus = new PhysicsObject(20, 20, Shapes.Circle);135 Vihollinen otus = new Vihollinen(20, 20, Shapes.Circle); 124 136 RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 125 137 otus.Brain = satunnaisAivot; 126 138 otus.X = x; 127 139 otus.Y = y; 140 otus.HitPoints = 5; 128 141 otus.Restitution = 0.0; 129 142 otus.Tag = "vihollinen"; … … 137 150 138 151 } 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 } 139 172 140 173 void Aivot(Timer Ajastin) 141 174 { 142 175 PhysicsObject kohde = Ajastin.Tag as PhysicsObject; 143 if (kohde.IsDestroyed())144 {145 return;146 }147 176 148 177 if(kohde != null) … … 391 420 392 421 } 422 423 public 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.