- Timestamp:
- 2012-06-29 10:45:20 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/RoniR/Garden_Run/Garden_Run/Garden_Run/Garden_Run.cs
r3347 r3363 9 9 public class Garden_Run : PhysicsGame 10 10 { 11 const double nopeus = 1000;11 const double nopeus = 250; 12 12 const double hyppyNopeus = 1000; 13 13 const int RUUDUN_KOKO = 100; … … 26 26 int kentanNro = 1; 27 27 IntMeter tahtilaskuri; 28 IntMeter hpLaskuri; 28 29 29 30 public override void Begin() … … 35 36 { 36 37 ClearAll(); 37 38 hpLaskuri = new IntMeter(10, 0, 10); 39 hpLaskuri.LowerLimit += PeliHavitty; 40 41 Label hpNaytto = new Label(); 42 hpNaytto.BindTo(hpLaskuri); 43 hpNaytto.Color = Color.Black; 44 hpNaytto.TextColor = Color.White; 45 hpNaytto.Position = new Vector(Screen.Right - 50, Screen.Top - 50); 46 Add(hpNaytto); 38 47 39 48 if (kenttaNro == 1) LuoKentta("kentta1", "kentta1reitti"); 40 49 else if (kenttaNro == 2) LuoKentta("kentta2", null); 41 42 43 50 LisaaOhjaimet(); 44 51 … … 53 60 } 54 61 62 void PeliHavitty() 63 { 64 ClearAll(); 65 Label label = new Label("Hävisit pelin"); 66 Add(label); 67 } 68 55 69 void LuoKentta(string kentta, string kenttaReitti) 56 70 { … … 70 84 }; 71 85 72 pelaaja = new PhysicsObject(RUUDUN_KOKO / 1.5, RUUDUN_KOKO / 1.5);86 pelaaja = new PhysicsObject(RUUDUN_KOKO / 1.5, RUUDUN_KOKO / 1.5); 73 87 74 88 ColorTileMap kentta1 = ColorTileMap.FromLevelAsset(kentta); … … 153 167 pelaaja.Image = pelaajanKuva; 154 168 AddCollisionHandler(pelaaja, "tahti", TormaaTahteen); 169 AddCollisionHandler<PhysicsObject, Vihu>(pelaaja, delegate(PhysicsObject p, Vihu v) { hpLaskuri.Value--; }); 155 170 pelaaja.CollisionIgnoreGroup = 2; 156 171 pelaaja.AngularDamping = 0.9; … … 161 176 void LuoMonsteri(Vector paikka, double leveys, double korkeus) 162 177 { 163 PhysicsObject monsteri = new PhysicsObject(leveys / 1.5, korkeus / 1.5);178 Vihu monsteri = new Vihu(leveys / 1.5, korkeus / 1.5); 164 179 monsteri.Position = paikka; 165 180 monsteri.Mass = 2.0; … … 170 185 seuraaja.DistanceClose = 500; 171 186 seuraaja.DistanceFar = 500; 172 // seuraaja.DistanceToTarget.AddTrigger(10, TriggerDirection.187 // seuraaja.DistanceToTarget.AddTrigger(10, TriggerDirection. 173 188 seuraaja.DistanceToTarget.Changed += delegate 174 189 { … … 180 195 void LuoMonsteri(Vector paikka, double leveys, double korkeus, List<Vector> reitti = null) 181 196 { 182 PhysicsObject monsteri = new PhysicsObject(leveys / 1.5, korkeus / 1.5);197 Vihu monsteri = new Vihu(leveys / 1.5, korkeus / 1.5); 183 198 monsteri.Position = paikka; 184 199 monsteri.Mass = 2.0; … … 187 202 monsteri.CollisionIgnoreGroup = 2; 188 203 Add(monsteri); 189 204 190 205 if (reitti != null) 191 206 { … … 204 219 } 205 220 } 221 206 222 207 223 void LuoMaali(Vector paikka, double leveys, double korkeus) … … 228 244 Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 229 245 Mouse.Listen(MouseButton.Left, ButtonState.Pressed, ammu, "ammu", pelaaja); 230 246 231 247 } 232 248 … … 260 276 luoti.Shape = Shape.Circle; 261 277 luoti.Color = Color.Silver; 278 luoti.Tag = "pelaajanAmmus"; 262 279 luoti.CollisionIgnoreGroup = 2; 280 AddCollisionHandler(luoti, CollisionHandler.DestroyObject); 281 AddCollisionHandler<PhysicsObject, Vihu>(luoti, delegate(PhysicsObject ammus, Vihu vihu) { vihu.elamaLaskuri.Value--; }); 263 282 Add(luoti); 264 283 } 265 284 } 285 286 class Vihu : PhysicsObject 287 { 288 public IntMeter elamaLaskuri = new IntMeter(10, 0, 10); 289 290 public Vihu(double leveys, double korkeus) 291 : base(leveys, korkeus) 292 { 293 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 294 } 295 } 296
Note: See TracChangeset
for help on using the changeset viewer.