- Timestamp:
- 2012-07-26 15:02:26 (11 years ago)
- Location:
- 2012/30/MiskaK/MW2(My Warfare 2)
- Files:
-
- 19 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2).csproj
r3697 r3775 111 111 </ItemGroup> 112 112 <ItemGroup> 113 <Compile Include="Ase.cs" /> 113 114 <Compile Include="Ohjelma.cs" /> 114 115 <Compile Include="MW2_My_Warfare_2_.cs" /> 116 <Compile Include="Pelaaja.cs" /> 115 117 <Compile Include="Properties\AssemblyInfo.cs" /> 118 <Compile Include="Tuhoutuva.cs" /> 116 119 </ItemGroup> 117 120 <ItemGroup> -
2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2).csproj.Debug.cachefile
r3757 r3775 31 31 Content\kivirikki3.xnb 32 32 Content\liekkihiukkanen2.xnb 33 Content\kamaa1.xnb 34 Content\kamaa2.xnb 35 Content\kamaa3.xnb 36 Content\kamaa4.xnb 37 Content\kamaatyhjÀ.xnb 38 Content\QAdling 1.xnb 39 Content\QAdling 2.xnb 33 40 Content\kenttÀ1.png -
2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2_My_Warfare_2_.cs
r3757 r3775 12 12 Pelaaja pelaaja2; 13 13 14 PhysicsObject tähtäin;15 PhysicsObject tähtäin2;16 Ase rynkky;17 Ase rynkky2;18 Ase pistooli;19 Ase minigun;20 Ase snipa;21 Ase sinko;22 PhysicsObject rynkynhylsy;23 24 25 14 DoubleMeter pelaajan1terveys; 26 15 DoubleMeter pelaajan2terveys; … … 29 18 Label asenäyttö; 30 19 Label asenäyttö2; 20 Ase pistooli; 31 21 IntMeter ammusmittari; 32 22 IntMeter ammusmittari2; … … 38 28 39 29 //Kenttä 30 #region Kuvat 40 31 Image kivenKuva = LoadImage("kivi"); 41 32 Image piikkilankaKuva = LoadImage("piikkilanka"); … … 48 39 Image pystypuunKuva = LoadImage("puupysty"); 49 40 Image laatikonKuva = LoadImage("kamaa"); 41 Image laatikkoTyhjä = LoadImage("kamaatyhjä"); 42 Image[] laatikonAnimaatioKuvat = LoadImages("kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa", "kamaa1", "kamaa2", "kamaa3", "kamaa4"); 50 43 Image bussinkuva = LoadImage("bussi"); 51 int kivenKestävyys; 44 52 45 53 46 Image kiviRikki0 = LoadImage("kivirikki0"); … … 68 61 Image liekkiHiukkanen1 = LoadImage("liekkihiukkanen1"); 69 62 Image liekkiHiukkanen2 = LoadImage("liekkihiukkanen2"); 63 #endregion 64 70 65 Smoke savu; 71 66 Flame sinkoliekki; … … 74 69 { 75 70 LuoKenttä(); 76 77 71 AsetaOhjaimet(); 78 79 80 81 82 72 } 83 73 … … 108 98 AmmusMittari(); 109 99 AmmusMittari2(); 100 LuoAseAjastin(); 110 101 Level.AmbientLight = 0.3; 111 102 … … 115 106 valo.Position = (new Vector(0.0, 0.0)); 116 107 Add(valo); 117 118 119 120 121 122 123 124 108 } 125 109 … … 139 123 piikkilanka.Image = piikkilankaKuva; 140 124 piikkilanka.CollisionIgnoreGroup = 1; 125 piikkilanka.Tag = "piikkilanka"; 141 126 Add(piikkilanka); 142 127 … … 148 133 pystypiikkilanka.Position = paikka; 149 134 pystypiikkilanka.Image = pystypiikkilankaKuva; 135 pystypiikkilanka.Tag = "piikkilanka"; 150 136 Add(pystypiikkilanka); 151 137 … … 159 145 naamioverkko.CollisionIgnoreGroup = 1; 160 146 naamioverkko.IgnoresCollisionResponse = true; 161 162 147 Add(naamioverkko, 2); 163 148 } 164 149 165 void 150 void LuoKivi(Vector paikka, double leveys, double korkeus) 166 151 { 167 152 Tuhoutuva kivi = new Tuhoutuva(leveys, korkeus, 20); … … 196 181 kivi.Tag = "kivi"; 197 182 Add(kivi); 183 198 184 } 199 185 … … 227 213 void LuoVaakaPuu(Vector paikka, double leveys, double korkeus) 228 214 { 229 Tuhoutuva vaakapuu = new Tuhoutuva 215 Tuhoutuva vaakapuu = new Tuhoutuva(leveys, korkeus / 4, 10); 230 216 vaakapuu.Position = paikka; 231 217 vaakapuu.MakeStatic(); … … 245 231 { 246 232 laatikko = PhysicsObject.CreateStaticObject(leveys, korkeus); 233 laatikko.Animation = new Animation(laatikonAnimaatioKuvat); 234 laatikko.Animation.Start(); 235 laatikko.Animation.FPS = 10; 247 236 laatikko.Position = paikka; 248 laatikko.Image = laatikonKuva;237 //laatikko.Image = laatikonKuva; 249 238 AddCollisionHandler(laatikko, AnnaKamaa); 250 239 Add(laatikko); … … 267 256 } 268 257 */ 269 258 270 259 #endregion 271 260 … … 281 270 pelaaja1.Tag = "pelaaja"; 282 271 pelaaja1.Nro = 1; 272 pelaaja1.tähtäin = LuoTähtäin(Color.Green); 283 273 Add(pelaaja1); 284 285 274 286 275 287 276 //pelaaja.LisaaAse(pistooli); 288 277 //AddCollisionHandler(pelaaja1, Pelaaja1Törmää); 289 LuoTähtäin(); 278 //LuoTähtäin(); 279 pelaaja1.Destroyed += delegate 280 { 281 282 KuolemaEfekti(pelaaja1.X, pelaaja1.Y, 600); 283 Timer.SingleShot(2.0, delegate 284 { 285 LuoPelaaja1(paikka, leveys, korkeus); 286 287 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(0.0, 1.0)); 288 Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(0.0, -1.0)); 289 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(-1.0, 0.0)); 290 Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "", pelaaja1, new Vector(1.0, 0.0)); 291 Mouse.ListenWheel(delegate { VaihdaAsetta(pelaaja1); }, null); 292 Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu, null, pelaaja1); 293 Mouse.ListenMovement(0.1, KuunteleLiiketta, null, pelaaja1.tähtäin); 294 Camera.Follow(pelaaja1, pelaaja2); 295 }); 296 }; 290 297 LuoTerveysmittari1(); 291 298 } … … 297 304 (pelaaja1 as Pelaaja).Elamat.Value--; 298 305 } 299 300 306 } 301 307 … … 312 318 } 313 319 314 void LuoTähtäin() 315 { 316 tähtäin = new PhysicsObject(10.0, 10.0); 317 tähtäin.Shape = Shape.Circle; 318 tähtäin.Color = Color.Green; 319 tähtäin.IgnoresCollisionResponse = true; 320 tähtäin.IgnoresExplosions = true; 321 tähtäin.IgnoresPhysicsLogics = true; 322 Add(tähtäin, 3); 323 324 Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 325 pelaaja1.Position.ToString(); 326 tähtäin.Position.ToString(); 327 328 } 329 330 //void Pelaaja1Ampuu() 331 //{ 332 // pelaaja1.Ammu(); 333 //} 334 335 336 337 void RynkynHylsy() 338 { 339 rynkynhylsy = new PhysicsObject(1, 5.5); 340 rynkynhylsy.Image = rynkynhylsynKuva; 341 rynkynhylsy.Position = pelaaja1.Position; 342 rynkynhylsy.Hit(new Vector(350.0, 0.0)); 343 Add(rynkynhylsy); 344 345 rynkynhylsy.IgnoresCollisionResponse = true; 346 rynkynhylsy.AngularVelocity = 10.0; 347 rynkynhylsy.AngularDamping = 0.95; 348 rynkynhylsy.LinearDamping = RandomGen.NextDouble(0.90, 0.99); 349 rynkynhylsy.MaximumLifetime = TimeSpan.FromSeconds(3.0); 350 351 } 352 353 void KuunteleLiiketta(AnalogState hiirenTila) 354 { 355 tähtäin.X = Mouse.PositionOnWorld.X; 356 tähtäin.Y = Mouse.PositionOnWorld.Y; 357 320 void KuunteleLiiketta(AnalogState hiirenTila, PhysicsObject tähtäin) 321 { 322 pelaaja1.tähtäin.X = Mouse.PositionOnWorld.X; 323 pelaaja1.tähtäin.Y = Mouse.PositionOnWorld.Y; 358 324 Vector hiirenLiike = hiirenTila.MouseMovement; 359 325 } … … 383 349 pelaaja2.Nro = 2; 384 350 Add(pelaaja2); 385 LuoTähtäin2();351 pelaaja2.tähtäin = LuoTähtäin(Color.Red); 386 352 //AddCollisionHandler(pelaaja2, Pelaaja2Törmää); 387 353 pelaaja2.Tag = "pelaaja"; 388 354 LuoTerveysmittari2(); 355 356 pelaaja2.Destroyed += delegate 357 { 358 KuolemaEfekti(pelaaja2.X, pelaaja2.Y, 600); 359 Timer.SingleShot(2.0, delegate 360 { 361 LuoPelaaja2(paikka, leveys, korkeus); 362 363 ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa2, null); 364 ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, PyöritäPelaajaa2, null); 365 ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, Ammu, null, pelaaja2); 366 ControllerOne.Listen(Button.LeftShoulder, ButtonState.Pressed, delegate { VaihdaAsetta(pelaaja2, -1); }, null); 367 ControllerOne.Listen(Button.RightShoulder, ButtonState.Pressed, delegate { VaihdaAsetta(pelaaja2, 1); }, null); 368 ControllerOne.Listen(Button.A, ButtonState.Pressed, EtsiTähtäin, null); 369 Camera.Follow(pelaaja1, pelaaja2); 370 371 372 }); 373 }; 389 374 } 390 375 … … 410 395 } 411 396 412 //void Pelaaja2Ampuu()413 //{414 // pelaaja2.Ammu();415 //}416 397 417 398 void LiikutaPelaajaa2(AnalogState tatinTila) … … 419 400 Vector tatinAsento = tatinTila.StateVector; 420 401 pelaaja2.Move(tatinAsento * 200); 421 tähtäin2.Move(tatinAsento * 250); 422 423 } 424 425 void LuoTähtäin2() 426 { 427 tähtäin2 = new PhysicsObject(10.0, 10.0); 428 tähtäin2.Shape = Shape.Circle; 429 tähtäin2.Color = Color.Red; 430 tähtäin2.IgnoresCollisionResponse = true; 431 tähtäin2.IgnoresExplosions = true; 432 tähtäin2.IgnoresPhysicsLogics = true; 433 tähtäin2.LinearDamping = 0.60; 434 Add(tähtäin2, 3); 402 pelaaja2.tähtäin.Move(tatinAsento * 250); 403 404 } 405 406 PhysicsObject LuoTähtäin(Color vari) 407 { 408 PhysicsObject tähtäin = new PhysicsObject(10.0, 10.0); 409 tähtäin.Shape = Shape.Circle; 410 tähtäin.Color = vari; 411 tähtäin.IgnoresCollisionResponse = true; 412 tähtäin.IgnoresExplosions = true; 413 tähtäin.IgnoresPhysicsLogics = true; 414 tähtäin.LinearDamping = 0.60; 415 Add(tähtäin, 3); 416 return tähtäin; 435 417 } 436 418 437 419 void EtsiTähtäin() 438 420 { 439 tähtäin2.Position = pelaaja2.Position;421 pelaaja2.tähtäin.Position = pelaaja2.Position; 440 422 } 441 423 … … 444 426 Vector tatinAsento = tatinTila.StateVector; 445 427 //pelaaja2.Angle = tatinAsento.Angle; 446 447 448 449 tähtäin2.Move(tatinAsento * 1400); 450 451 pelaaja2.Position.ToString(); 452 tähtäin2.Position.ToString(); 453 454 Vector suunta2 = (tähtäin2.Position - pelaaja2.Position).Normalize(); 428 pelaaja2.tähtäin.Move(tatinAsento * 1400); 429 430 Vector suunta2 = (pelaaja2.tähtäin.Position - pelaaja2.Position).Normalize(); 455 431 pelaaja2.Angle = suunta2.Angle; 456 432 } 457 433 458 void RynkynHylsy2()459 {460 rynkynhylsy = new PhysicsObject(1, 5.5);461 rynkynhylsy.Image = rynkynhylsynKuva;462 rynkynhylsy.Position = pelaaja2.Position;463 rynkynhylsy.Hit(new Vector(350.0, 0.0));464 Add(rynkynhylsy);465 466 rynkynhylsy.IgnoresCollisionResponse = true;467 rynkynhylsy.AngularVelocity = 10.0;468 rynkynhylsy.AngularDamping = 0.95;469 rynkynhylsy.LinearDamping = RandomGen.NextDouble(0.90, 0.99);470 rynkynhylsy.MaximumLifetime = TimeSpan.FromSeconds(3.0);471 472 }473 474 434 #endregion 475 435 … … 479 439 Ase LuoRynkky() 480 440 { 481 rynkky = new Ase(30, 10);441 Ase rynkky = new Ase(30, 10); 482 442 rynkky.IsVisible = false; 443 rynkky.aikaJolloinVoiLuoda = 15; 444 rynkky.FireRate = 5; 483 445 rynkky.tuhovoimaTuhoutuviaVastaan = 2; 484 446 rynkky.tuhovoimaPelaajaaVastaan = 1; 485 rynkky.Ammo.Value = 90; 447 //rynkky.Ammo.Value = 90; 448 rynkky.Ammo.MaxValue = 90; 486 449 rynkky.MaxAmmoLifetime = TimeSpan.FromSeconds(1.5); 487 450 //rynkky.ProjectileCollision = RynkynAmmusOsuu; 488 451 rynkky.Tag = "rynkky"; 489 452 return rynkky; 490 491 453 } 492 454 … … 494 456 { 495 457 pistooli = new Ase(30, 10); 496 pistooli.Ammo.Value = 50; 458 pistooli.aikaJolloinVoiLuoda = 0; 459 pistooli.Ammo.MaxValue = 50; 460 pistooli.IsVisible = false; 497 461 pistooli.tuhovoimaPelaajaaVastaan = 2; 498 462 pistooli.FireRate = 1; … … 508 472 Ase LuoMinigun() 509 473 { 510 minigun = new Ase(30, 10);474 Ase minigun = new Ase(30, 10); 511 475 minigun.tuhovoimaTuhoutuviaVastaan = 0.2; 512 minigun.tuhovoimaPelaajaaVastaan = 0.5; 513 minigun.Ammo.Value = 1200; 476 minigun.tuhovoimaPelaajaaVastaan = 0.3; 477 minigun.aikaJolloinVoiLuoda = 60; 478 minigun.Ammo.MaxValue = 600; 514 479 minigun.FireRate = 30; 515 480 minigun.IsVisible = false; … … 522 487 Ase LuoSnipa() 523 488 { 524 snipa = new Ase(30, 10);525 snipa.Ammo. Value = 100;489 Ase snipa = new Ase(30, 10); 490 snipa.Ammo.MaxValue = 10; 526 491 snipa.FireRate = 1.0; 527 492 snipa.tuhovoimaTuhoutuviaVastaan = 10; 528 snipa.tuhovoimaPelaajaaVastaan = 10; 493 snipa.tuhovoimaPelaajaaVastaan = 20; 494 snipa.aikaJolloinVoiLuoda = 90; 529 495 snipa.Power.DefaultValue = 500; 530 496 snipa.IsVisible = false; … … 537 503 Ase LuoSinko() 538 504 { 539 sinko = new Ase(30, 10);540 sinko. InfiniteAmmo = true;505 Ase sinko = new Ase(30, 10); 506 sinko.Ammo.MaxValue = 2; 541 507 sinko.Power.DefaultValue = 500; 542 508 sinko.IsVisible = false; 543 509 sinko.MaxAmmoLifetime = TimeSpan.FromSeconds(5); 544 510 sinko.ProjectileCollision = SingonAmmusOsuu; 545 511 sinko.aikaJolloinVoiLuoda = 120; 546 512 sinko.Tag = "sinko"; 547 513 return sinko; 548 514 } 515 #endregion 516 517 #region aseiden toiminnot 549 518 550 519 void Ammu(Pelaaja pelaaja) 551 520 { 552 553 521 if (pelaaja.ValittuAse != null) 554 522 { 555 523 PhysicsObject ammus = pelaaja.ValittuAse.Shoot(); 556 524 557 525 if (pelaaja == pelaaja1) ammusmittari.Value = pelaaja.ValittuAse.Ammo.Value; 558 526 if (pelaaja == pelaaja2) ammusmittari2.Value = pelaaja.ValittuAse.Ammo.Value; 559 560 561 527 562 528 if (ammus != null) … … 587 553 }); 588 554 ammus.Size *= 0.3; 555 556 //AddCollisionHandler(ammus, AmmusOsuuPiikkilankaan); 589 557 } 590 591 558 } 559 } 560 561 void AnnaKamaa(PhysicsObject laatikko, PhysicsObject kohde) 562 { 563 if (kohde.Tag.ToString() == "pelaaja") 564 { 565 Pelaaja pelaaja = (kohde as Pelaaja); 566 Func<Ase>[] aseidenLuontimetodit = { LuoRynkky, LuoSnipa, LuoSinko, LuoMinigun }; 567 double aikaKentanAlustaSek = aseajastin.SecondCounter.Value; 568 if (aikaKentanAlustaSek < 15) 569 { 570 MessageDisplay.Add("Vielä et voi ottaa mitään"); 571 return; 572 } 573 574 int arvottuAse = RandomGen.NextInt(0, 4); 575 Ase ase = aseidenLuontimetodit[arvottuAse](); 576 577 while (pelaaja.OnkoPelaajallaAse(ase.Tag.ToString()) || aikaKentanAlustaSek < ase.aikaJolloinVoiLuoda) 578 { 579 if (arvottuAse >= 4) arvottuAse++; 580 else arvottuAse = 0; 581 592 582 593 583 ase = aseidenLuontimetodit[arvottuAse](); 584 break; 585 } 586 587 pelaaja.LisaaAse(ase); 588 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai aseen " + ase.Tag.ToString()); 589 laatikko.Animation.Stop(); 590 laatikko.Image = laatikkoTyhjä; 594 591 } 595 596 } 597 598 void AnnaKamaa(PhysicsObject laatikko, PhysicsObject kohde) 599 { 600 601 602 if (kohde.Tag == "pelaaja") 603 { 604 Pelaaja pelaaja = (kohde as Pelaaja); 605 int ase = RandomGen.NextInt(1, 6); 606 607 608 double aseajastimenarvo = aseajastin.SecondCounter.Value; 609 610 if (ase == 1) 611 { 612 pelaaja.LisaaAse(LuoPistooli()); 613 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai pistoolin!"); 614 } 615 616 617 618 else if (ase == 2) 619 { 620 pelaaja.LisaaAse(LuoRynkky()); 621 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai rynkyn!"); 622 } 623 624 else if (ase == 3) 625 { 626 pelaaja.LisaaAse(LuoSnipa()); 627 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai tarkkuuskiväärin!"); 628 } 629 630 else if (ase == 4) 631 { 632 pelaaja.LisaaAse(LuoMinigun()); 633 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai minigunin!"); 634 } 635 636 else if (ase == 5) 637 { 638 pelaaja.LisaaAse(LuoSinko()); 639 MessageDisplay.Add("Pelaaja" + pelaaja.Nro + " sai singon!"); 640 } 641 642 } 643 644 645 646 } 592 } 593 594 //ammusten saanti aseen ollessa tyhjä 595 //singon vahinko pelaajaa vastaan -DONE 596 //aseajastimen uusien aseiden ilmoitukset 647 597 648 598 void AseNäyttö() … … 661 611 asenäyttö2.TextColor = Color.White; 662 612 asenäyttö2.BorderColor = Color.White; 663 613 664 614 } 665 615 … … 668 618 aseajastin = new Timer(); 669 619 aseajastin.Start(); 620 621 aseajastin.SecondCounter.AddTrigger(15.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Rynkky saatavilla nyt."); }); 622 aseajastin.SecondCounter.AddTrigger(60.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Minigun saatavilla nyt."); }); 623 aseajastin.SecondCounter.AddTrigger(90.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Snipa saatavilla nyt."); }); 624 aseajastin.SecondCounter.AddTrigger(120.0, TriggerDirection.Down, delegate { MessageDisplay.Add(" Sinko saatavilla nyt."); }); 670 625 671 626 } … … 717 672 Mouse.ListenWheel(delegate { VaihdaAsetta(pelaaja1); }, null); 718 673 Mouse.Listen(MouseButton.Left, ButtonState.Down, Ammu, null, pelaaja1); 719 720 //Keyboeard.Listen(Key.2, buttons, VaihdaAsetta, null, pelaaja1, rynkky); 674 Mouse.ListenMovement(0.1, KuunteleLiiketta, null, pelaaja1.tähtäin); 675 676 721 677 722 678 ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, LiikutaPelaajaa2, null); … … 776 732 puuhajoaa.MinLifetime = 0.2; 777 733 puuhajoaa.MaxVelocity = 0.5; 778 734 779 735 puuhajoaa.AddEffect(x, y, pMaara); 780 736 } … … 789 745 kipinäpartikkelit.MaxLifetime = 0.5; 790 746 kipinäpartikkelit.MinLifetime = 0.2; 791 kipinäpartikkelit.MaxVelocity = 1;747 kipinäpartikkelit.MaxVelocity = 0.5; 792 748 793 749 kipinäpartikkelit.AddEffect(x, y, pMaara); … … 835 791 kuolemaefekti.MinLifetime = 1.0; 836 792 kuolemaefekti.MaxVelocity = 5; 837 793 838 794 kuolemaefekti.AddEffect(x, y, pMaara); 839 795 } … … 851 807 räjähdyspartikkelit.MaxVelocity = 60.0; 852 808 räjähdyspartikkelit.MinVelocity = 1.0; 853 854 809 räjähdyspartikkelit.AddEffect(x, y, pMaara); 855 856 810 857 811 } … … 870 824 871 825 räjähdyspartikkelit2.AddEffect(x, y, pMaara); 872 873 874 826 } 827 828 void AmmusOsuuPiikkilankaan(PhysicsObject ammus, PhysicsObject kohde) 829 { 830 if (kohde.Tag.ToString() == "piikkilanka") 831 { 832 KipinäPartikkelit(ammus.X, ammus.Y, 300); 833 } 875 834 } 876 835 877 836 void SingonAmmusOsuu(PhysicsObject ammus, PhysicsObject kohde) 878 837 { 838 Explosion sinkopaineaalto = new Explosion(200); 839 sinkopaineaalto.Position = ammus.Position; 840 sinkopaineaalto.Image = null; 841 sinkopaineaalto.Sound = null; 842 sinkopaineaalto.Force = 400; 843 sinkopaineaalto.Speed = 1000; 844 sinkopaineaalto.ShockwaveColor = Color.Transparent; 845 sinkopaineaalto.ShockwaveReachesObject += SingonPaineaaltoOsuu; 846 Add(sinkopaineaalto); 847 879 848 RäjähdysPartikkelit(ammus.X, ammus.Y, 800); 880 849 RäjähdysPartikkelit2(ammus.X, ammus.Y, 300); 881 850 ammus.Destroy(); 882 883 884 885 851 Vector suunta = (new Vector(ammus.X, ammus.Y)); 886 887 888 } 889 890 891 892 852 } 853 854 void SingonPaineaaltoOsuu(IPhysicsObject kohde, Vector shokki) 855 { 856 if (kohde.Tag.ToString() != "pelaaja" && kohde.Tag.ToString() != "piikkilanka") 857 { 858 KiviHajoaa(kohde.X, kohde.Y, 200); 859 PuuHajoaa(kohde.X, kohde.Y, 200); 860 kohde.Destroy(); 861 return; 862 } 863 864 865 if (kohde.Tag.ToString() == "pelaaja") 866 { 867 Pelaaja kohdePelaaja = kohde as Pelaaja; 868 kohdePelaaja.Elamat.Value = kohdePelaaja.Elamat.Value - 15; 869 } 870 } 871 893 872 #endregion 894 895 896 873 897 874 void VaihdaAsetta(Pelaaja pelaaja, int vaihtosuunta = 0) … … 907 884 { 908 885 base.Update(time); 909 Vector suunta = ( tähtäin.Position - pelaaja1.Position).Normalize();886 Vector suunta = (pelaaja1.tähtäin.Position - pelaaja1.Position).Normalize(); 910 887 pelaaja1.Angle = suunta.Angle; 911 912 //Vector suunta2 = (tähtäin2.Position - pelaaja2.Position).Normalize();913 //pelaaja2.Angle = suunta2.Angle;914 888 } 915 889 } 916 917 public class Tuhoutuva : PhysicsObject918 {919 private DoubleMeter kesto;920 public DoubleMeter Kesto921 {922 get { return kesto; }923 set { kesto = value; }924 }925 926 public Tuhoutuva(double width, double height, int kesto)927 : base(width, height)928 {929 this.kesto = new DoubleMeter(kesto);930 }931 }932 933 public class Pelaaja : PhysicsObject934 {935 936 937 private List<Ase> aseet;938 private Ase valittuAse = null;939 public Ase ValittuAse { get { return valittuAse; } }940 public int AseidenMaara { get { return aseet.Count; } }941 942 public int Nro;943 944 public DoubleMeter Elamat945 {946 get { return elamat; }947 set { elamat = value; }948 }949 public DoubleMeter elamat;950 951 952 public Pelaaja(double width, double height)953 : base(width, height)954 {955 elamat = new DoubleMeter(20);956 elamat.MaxValue = 20;957 elamat.LowerLimit += Kuolema;958 aseet = new List<Ase>();959 }960 961 public void Kuolema()962 {963 this.Destroy();964 965 966 }967 968 public void LisaaAse(Ase w)969 {970 // Ei lisätä samaa asetta aseisiin montaa kertaa971 if (!aseet.Exists(x => x.Tag.ToString() == w.Tag.ToString()))972 {973 aseet.Add(w);974 this.Add(w);975 if (aseet.Count == 1)976 valittuAse = aseet[0];977 }978 }979 980 public void PoistaAse(Ase w)981 {982 if (!aseet.Contains(w))983 aseet.Remove(w);984 }985 986 /// <summary>987 /// Vaihtaa asetta988 /// </summary>989 /// <param name="suunta">Monta hiiren rullan naksua ollaan liikutettu, pos (rulla ylöspäin)990 /// tai neg (rulla alaspäin)</param>991 public void VaihdaAse(int suunta)992 {993 int tamanHetkinenValinta = aseet.IndexOf(valittuAse);994 995 if (aseet != null && aseet.Count > 1)996 {997 foreach (Weapon ase in aseet)998 {999 ase.IsVisible = false;1000 }1001 if (tamanHetkinenValinta + suunta >= aseet.Count) valittuAse = aseet[0]; // ympäri loppupäästä1002 else if (tamanHetkinenValinta + suunta < 0) valittuAse = aseet[aseet.Count - 1]; // ympäri alkupäästä1003 else valittuAse = aseet[tamanHetkinenValinta + suunta];1004 valittuAse.IsVisible = true;1005 }1006 }1007 }1008 1009 public class Ase : AssaultRifle1010 {1011 public double tuhovoimaTuhoutuviaVastaan;1012 public double tuhovoimaPelaajaaVastaan;1013 1014 public Ase(double leveys, double korkeus)1015 : base(leveys, korkeus)1016 {1017 }1018 } -
2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/obj/x86/Debug/MW2(My Warfare 2).csproj.FileListAbsolute.txt
r3757 r3775 78 78 C:\MyTemp\npo_pelit\2012\30\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kivirikki3.xnb 79 79 C:\MyTemp\npo_pelit\2012\30\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\liekkihiukkanen2.xnb 80 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kivirikki0.xnb 81 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kivirikki3.xnb 82 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\liekkihiukkanen2.xnb 83 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa1.xnb 84 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa2.xnb 85 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa3.xnb 86 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaa4.xnb 87 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\kamaatyhjÀ.xnb 88 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\QAdling 1.xnb 89 C:\MyTemp\MiskaK\MW2(My Warfare 2)\MW2(My Warfare 2)\MW2(My Warfare 2)\bin\x86\Debug\Content\QAdling 2.xnb -
2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/obj/x86/Debug/cachefile-{22ADBDA1-5A43-4401-8049-15C4051FEE11}-targetpath.txt
r3757 r3775 31 31 Content\kivirikki3.xnb 32 32 Content\liekkihiukkanen2.xnb 33 Content\kamaa1.xnb 34 Content\kamaa2.xnb 35 Content\kamaa3.xnb 36 Content\kamaa4.xnb 37 Content\kamaatyhjÀ.xnb 38 Content\QAdling 1.xnb 39 Content\QAdling 2.xnb 33 40 Content\kenttÀ1.png -
2012/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)Content/MW2(My Warfare 2)Content.contentproj
r3757 r3775 254 254 </Compile> 255 255 </ItemGroup> 256 <ItemGroup> 257 <Compile Include="kamaa1.png"> 258 <Name>kamaa1</Name> 259 <Importer>TextureImporter</Importer> 260 <Processor>TextureProcessor</Processor> 261 </Compile> 262 <Compile Include="kamaa2.png"> 263 <Name>kamaa2</Name> 264 <Importer>TextureImporter</Importer> 265 <Processor>TextureProcessor</Processor> 266 </Compile> 267 <Compile Include="kamaa3.png"> 268 <Name>kamaa3</Name> 269 <Importer>TextureImporter</Importer> 270 <Processor>TextureProcessor</Processor> 271 </Compile> 272 <Compile Include="kamaa4.png"> 273 <Name>kamaa4</Name> 274 <Importer>TextureImporter</Importer> 275 <Processor>TextureProcessor</Processor> 276 </Compile> 277 </ItemGroup> 278 <ItemGroup> 279 <Compile Include="kamaatyhjä.png"> 280 <Name>kamaatyhjä</Name> 281 <Importer>TextureImporter</Importer> 282 <Processor>TextureProcessor</Processor> 283 </Compile> 284 </ItemGroup> 285 <ItemGroup> 286 <Compile Include="QAdling 1.png"> 287 <Name>QAdling 1</Name> 288 <Importer>TextureImporter</Importer> 289 <Processor>TextureProcessor</Processor> 290 </Compile> 291 <Compile Include="QAdling 2.png"> 292 <Name>QAdling 2</Name> 293 <Importer>TextureImporter</Importer> 294 <Processor>TextureProcessor</Processor> 295 </Compile> 296 </ItemGroup> 256 297 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 257 298 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.