Changeset 2566
- Timestamp:
- 2011-08-04 15:03:53 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/31/HenryS/TankDuel/TankDuel/TankDuel/Peli.cs
r2521 r2566 6 6 using Jypeli.Effects; 7 7 using Jypeli.Widgets; 8 class Tankki : PhysicsObject 9 { 10 public int Elamat = 3; 11 12 public Tankki(double leveys, double korkeus) 13 : base(leveys, korkeus) 14 { 15 } 16 } 8 17 9 18 public class Peli : PhysicsGame … … 18 27 Vector nopeus2Oikealle = new Vector(200, 0); 19 28 Vector nopeus2Vasemmalle = new Vector(-200, 0); 20 PhysicsObjectpelaaja1;21 PhysicsObjectpelaaja2;29 Tankki pelaaja1; 30 Tankki pelaaja2; 22 31 Image oliomkuva = LoadImage("tank"); 23 32 Image tankki = LoadImage("tank2"); 24 33 PhysicsObject este; 25 34 AssaultRifle pyssy; 35 AssaultRifle ase; 36 Cannon tykki; 37 Cannon kanuuna; 38 IntMeter pisteLaskuri; 39 IntMeter pisteLaskuri2; 40 LaserGun pelaajan1Laser; 41 LaserGun pelaajan2laserase; 26 42 public override void Begin() 27 { 28 29 30 LuoKenttä(); 43 { 44 //kanuuna = new Cannon(50.0, 20.0); 45 //tykki = new Cannon(50.0, 20.0); 46 //pyssy = new AssaultRifle(20, 5); 47 //ase = new AssaultRifle(20, 5); 48 31 49 Valikko(); 32 pelaajat(); 33 AsetaOhjaimet(); 34 } 35 36 37 38 void pelaajat() 39 { 40 41 pelaaja1 = new PhysicsObject(90.0, 50.0); 50 51 52 53 } 54 55 56 57 void luopelaaja1() 58 { 59 60 pelaaja1 = new Tankki(90.0, 50.0); 42 61 pelaaja1.Image = oliomkuva; 43 62 pelaaja1.X = -400; … … 45 64 pelaaja1.CanRotate=false; 46 65 Add(pelaaja1); 47 48 pelaaja2 = new PhysicsObject(90.0, 50.0); 66 pyssy = new AssaultRifle(20, 5); 67 pyssy.ProjectileCollision = LuotiOsuu; 68 pyssy.Shoot(); 69 pelaaja1.Add(pyssy); 70 tykki = new Cannon(50, 10); 71 tykki.ProjectileCollision = KuulaOsuu; 72 tykki.Shoot(); 73 pelaaja1.Add(tykki); 74 pelaajan1Laser = new LaserGun(20, 5); 75 pelaajan1Laser.ProjectileCollision = LaserSadeOsuu; 76 pelaajan1Laser.Shoot(); 77 pelaajan1Laser.Ammo.Value = int.MaxValue; 78 pelaaja1.Add(pelaajan1Laser); 79 } 80 void luopelaaja2() 81 { 82 pelaaja2 = new Tankki(90.0, 50.0); 49 83 pelaaja2.X = 400; 50 84 pelaaja2.Y = -350; … … 52 86 pelaaja2.CanRotate = false; 53 87 Add(pelaaja2); 54 55 88 ase = new AssaultRifle(20, 5); 89 ase.ProjectileCollision = LuotiOsuu2; 90 ase.Shoot(); 91 pelaaja2.Add(ase); 92 kanuuna = new Cannon(50, 10); 93 kanuuna.ProjectileCollision = KuulaOsuu2; 94 kanuuna.Shoot(); 95 pelaaja2.Add(kanuuna); 96 pelaajan2laserase = new LaserGun(20, 5); 97 pelaajan2laserase.Ammo.Value = int.MaxValue; 98 pelaajan2laserase.ProjectileCollision = LaserSadeOsuu2; 99 100 pelaajan2laserase.Shoot(); 101 pelaaja2.Add(pelaajan2laserase); 56 102 } 57 103 void AsetaOhjaimet() … … 63 109 Keyboard.Listen(Key.S, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku alas", pelaaja1, nopeus1Alas, Angle.FromDegrees (-90)); 64 110 Keyboard.Listen(Key.S, ButtonState.Released, AsetaNopeus, null, pelaaja1, Vector.Zero, Angle.FromDegrees (-90)); 65 111 Keyboard.Listen(Key.Q, ButtonState.Down, AmmuAseella, "Ammu"); 112 Keyboard.Listen(Key.Tab, ButtonState.Down, AmmuTykillä, "Ammu"); 113 Keyboard.Listen(Key.CapsLock, ButtonState.Down, AmmuLaserPyssyllä, "Ammu"); 114 66 115 67 116 Keyboard.Listen(Key.Up, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku ylös", pelaaja2, nopeus2Ylos, Angle.FromDegrees(90)); … … 69 118 Keyboard.Listen(Key.Down, ButtonState.Down, AsetaNopeus2, "Pelaaja 2: Liiku alas", pelaaja2, nopeus2Alas, Angle.FromDegrees(-90)); 70 119 Keyboard.Listen(Key.Down, ButtonState.Released, AsetaNopeus2, null, pelaaja2, Vector.Zero, Angle.FromDegrees(-90)); 120 Keyboard.Listen(Key.End, ButtonState.Down, AmmuAseella2, "Ammu"); 121 Keyboard.Listen(Key.Insert, ButtonState.Down, AmmuKanuunalla, "Ammu"); 122 Keyboard.Listen(Key.Delete, ButtonState.Down, AmmuLaserAseella, "Ammu"); 71 123 72 124 Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Pelaaja 1: Liiku oikealle", pelaaja1, nopeus1Oikealle, Angle.FromDegrees (0)); … … 109 161 int i = 0; 110 162 111 while (i < 20)163 while (i < 30) 112 164 { 113 165 este = PhysicsObject.CreateStaticObject(60.0, 60.0); … … 130 182 } 131 183 132 void Valikko()184 void Valikko() 133 185 { 134 186 ClearAll(); … … 150 202 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 151 203 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 204 152 205 153 206 Mouse.IsCursorVisible = true; … … 175 228 176 229 void AloitaPeli() 177 { 230 { 231 178 232 ClearAll(); 233 LuoLaskuri(); 234 LuoLaskuri2(); 179 235 LuoKenttä(); 180 pelaajat(); 236 luopelaaja2(); 237 luopelaaja1(); 181 238 AsetaOhjaimet(); 182 239 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 183 240 } 184 241 242 243 void AmmuAseella() 244 { 245 246 PhysicsObject ammus = pyssy.Shoot(); 247 if (ammus != null) 248 { 249 ammus.CanRotate = false; 250 ammus.Size *= 1; 251 252 253 } 254 } 255 256 void AmmuAseella2() 257 { 258 259 PhysicsObject ammus2 = ase.Shoot(); 260 if (ammus2 != null) 261 { 262 ammus2.CanRotate = false; 263 ammus2.Size *= 1; 264 } 265 } 266 267 void AmmuTykillä() 268 { 269 tykki.Power.Value = 100000; 270 PhysicsObject tykkiammus = tykki.Shoot(); 271 if (tykkiammus != null) 272 { 273 tykkiammus.CanRotate = false; 274 tykkiammus.Size *=2; 275 276 } 185 277 186 278 279 } 280 281 282 void AmmuKanuunalla() 283 { 284 kanuuna.Power.Value = 100000; 285 PhysicsObject kanuunaammus = kanuuna.Shoot(); 286 if (kanuunaammus != null) 287 { 288 kanuunaammus.CanRotate = false; 289 kanuunaammus.Size *= 2; 290 291 } 292 293 294 } 295 296 void AmmuLaserAseella() 297 { 298 299 PhysicsObject laserammus = pelaajan2laserase.Shoot(); 300 if (laserammus != null) 301 { 302 laserammus.CanRotate = false; 303 laserammus.Size *= 30; 304 305 306 } 307 } 308 309 void AmmuLaserPyssyllä() 310 { 311 312 PhysicsObject laserammus2 = pelaajan1Laser.Shoot(); 313 if (laserammus2 != null) 314 { 315 laserammus2.CanRotate = false; 316 laserammus2.Size *= 30; 317 318 319 } 320 } 321 void LuoLaskuri() 322 { 323 pisteLaskuri = new IntMeter(100); 324 325 Label pisteNaytto = new Label(); 326 pisteNaytto.X = Screen.Left + 100; 327 pisteNaytto.Y = Screen.Top - 100; 328 pisteNaytto.TextColor = Color.Red; 329 330 pisteNaytto.BindTo(pisteLaskuri); 331 Add(pisteNaytto); 332 Label pisteTeksti = new Label("Health: "); 333 pisteTeksti.X = Screen.Left + 50; 334 pisteTeksti.Y = Screen.Top - 100; 335 pisteTeksti.TextColor = Color.Red; 336 Add(pisteTeksti); 337 pisteLaskuri.MinValue = 0; 338 pisteLaskuri.LowerLimit += laskuriAlarajassa; 339 340 } 341 void laskuriAlarajassa(int arvo) 342 { 343 pelaaja1.Elamat--; 344 pelaaja1.Destroy(); 345 pisteLaskuri.Value = 100; 346 347 if (pelaaja1.Elamat == 0) 348 { 349 350 } 351 352 else 353 { 354 Timer.SingleShot(2.0, ajastinLaukesi); 355 356 357 } 358 359 } 360 361 void LuoLaskuri2() 362 { 363 pisteLaskuri2 = new IntMeter(100); 364 365 Label pisteNaytto = new Label(); 366 pisteNaytto.X = Screen.Right - 100; 367 pisteNaytto.Y = Screen.Top - 100; 368 pisteNaytto.TextColor = Color.Red; 369 370 pisteNaytto.BindTo(pisteLaskuri2); 371 Add(pisteNaytto); 372 Label pisteTeksti = new Label("Health: "); 373 pisteTeksti.X = Screen.Right - 150; 374 pisteTeksti.Y = Screen.Top - 100; 375 pisteTeksti.TextColor = Color.Red; 376 Add(pisteTeksti); 377 pisteLaskuri2.MinValue = 0; 378 pisteLaskuri2.LowerLimit += laskuriAlarajassa2; 379 380 381 } 382 383 void laskuriAlarajassa2(int arvo) 384 { 385 pelaaja2.Elamat--; 386 pelaaja1.Destroy(); 387 pisteLaskuri2.Value = 100; 388 389 if (pelaaja2.Elamat == 0) 390 { 391 392 } 393 394 else 395 { 396 Timer.SingleShot(2.0, ajastinLaukesi2); 397 398 399 } 400 401 } 402 403 void LuotiOsuu(PhysicsObject ammus, PhysicsObject kohde) 404 { 405 ammus.Destroy(); 406 if (kohde == pelaaja2) 407 408 { 409 pisteLaskuri2.Value--; 410 } 411 } 412 413 void LuotiOsuu2(PhysicsObject ammus2, PhysicsObject kohde2) 414 { 415 ammus2.Destroy(); 416 if (kohde2 == pelaaja1) 417 { 418 pisteLaskuri.Value--; 419 } 420 } 421 422 423 424 void KuulaOsuu(PhysicsObject tykkiammus, PhysicsObject kohde) 425 { 426 tykkiammus.Destroy(); 427 if (kohde == pelaaja2) 428 { 429 pisteLaskuri2.Value = pisteLaskuri2.Value - 10; 430 431 432 } 433 434 } 435 void KuulaOsuu2(PhysicsObject kanuunaammus, PhysicsObject kohde2) 436 { 437 kanuunaammus.Destroy(); 438 if (kohde2 == pelaaja1) 439 { 440 pisteLaskuri.Value = pisteLaskuri.Value - 10; 441 442 443 } 444 445 } 446 447 448 void LaserSadeOsuu(PhysicsObject laserammus2, PhysicsObject kohde2) 449 { 450 451 laserammus2.Destroy(); 452 453 if (kohde2 == pelaaja2) 454 { 455 pisteLaskuri2.Value = pisteLaskuri2.Value - 1; 456 457 458 } 459 460 } 461 462 void LaserSadeOsuu2(PhysicsObject laserammus, PhysicsObject kohde) 463 { 464 465 laserammus.Destroy(); 466 467 if (kohde == pelaaja1) 468 { 469 pisteLaskuri.Value = pisteLaskuri.Value - 1; 470 471 472 } 473 474 } 475 476 477 478 void ajastinLaukesi() 479 480 { 481 482 luopelaaja1(); 187 483 } 484 485 void ajastinLaukesi2() 486 { 487 488 luopelaaja2(); 489 ClearControls(); 490 AsetaOhjaimet(); 491 } 492 493 494 } 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511
Note: See TracChangeset
for help on using the changeset viewer.