Changeset 8240 for 2016/24/NikoJ/ArrowRUN/ArrowRUN/ArrowRUN/ArrowRUN.cs
- Timestamp:
- 2016-07-29 11:27:28 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/24/NikoJ/ArrowRUN/ArrowRUN/ArrowRUN/ArrowRUN.cs
r8180 r8240 10 10 11 11 // http://www.bfxr.net/ 12 //https://www.youtube.com/watch?v=YBJhzfvdyKw 12 13 13 14 14 15 public class ArrowRUN : PhysicsGame 16 15 17 { 16 const double NOPEUS = 800; 18 bool minigun = false, parina = false; 19 bool nopeusHax = false; 20 double NOPEUS = 800; 17 21 const double hyppyNopeus = 750; 18 22 const int RUUDUN_KOKO = 40; 19 23 const double pyoriminenNopeus = 2.0; 24 Timer vihuajastin; 25 Timer pistehaxajastin; 26 27 20 28 PhysicsObject Vihollinen; 21 29 Image item2 = LoadImage("item2"); … … 26 34 Image plasmakuva = LoadImage("plasma"); 27 35 Image YdinPommikuva = LoadImage("ydinPommi"); 36 28 37 38 39 SoundEffect laserAani = LoadSoundEffect("laser aani"); 40 SoundEffect kranaatti = LoadSoundEffect("kranaatti"); 41 SoundEffect pallo = LoadSoundEffect("pallo"); 42 SoundEffect erikoisvoima = LoadSoundEffect("erikois voima"); 43 SoundEffect valikko = LoadSoundEffect("valikko"); 44 SoundEffect ydinPommiAani = LoadSoundEffect("ydinPommi aani"); 45 SoundEffect superVoima = LoadSoundEffect("super voima"); 46 47 Color[] varit = { Color.Red, Color.Yellow, Color.Black, Color.Pink, Color.Blue, Color.Green, Color.Purple }; 48 int kaytetty = 0; 49 50 Image donaldtrump = LoadImage("donald-trump"); 29 51 30 52 List<Vector> spawnit = new List<Vector>(); 31 53 List<Vector> vihuspawnit = new List<Vector>(); 54 List<LabyrinthWandererBrain> aivolista = new List<LabyrinthWandererBrain>(); 55 Vector aloituspaikka; 32 56 33 57 IntMeter pisteLaskuri; … … 47 71 ClearAll(); 48 72 49 LuoKentta(); 50 LisaaNappaimet(); 73 74 51 75 52 76 MultiSelectWindow alkuValikko = new MultiSelectWindow("arrowRUN", … … 54 78 55 79 56 80 Level.Background.Color = new Color(127, 255, 212); 57 81 alkuValikko.Color = Color.Mint; 58 82 … … 80 104 81 105 { 82 106 topLista.Color = Color.Mint; 83 107 topLista.Show(); 84 108 topLista.HighScoreWindow.Closed += delegate (Window a) { Begin(); }; … … 89 113 90 114 { 115 LuoKentta(); 91 116 aloitapelaaminen(); 117 LisaaNappaimet(); 92 118 } 93 119 … … 105 131 Level.Background.Color = Color.White; 106 132 133 134 135 } 136 137 138 void ProcessInput(InputWindow ikkuna) 139 { 140 string vastaus = ikkuna.InputBox.Text; 141 142 if (vastaus == "speed mlg") 143 { 144 NOPEUS = 80000; 145 146 Keyboard.Clear(); 147 LisaaNappaimet(); 148 149 } 150 151 if (vastaus == "mlg minigun") 152 153 { 154 minigun = true; 155 } 156 157 if (vastaus == "skin") 158 159 { 160 pelaaja1.Image = donaldtrump; 161 } 162 163 if (vastaus == "mlg mode") 164 { 165 parina = true; 166 Camera.Reset(); 167 Camera.ZoomFactor = 1.2; 168 Camera.StayInLevel = true; 169 MediaPlayer.Play("musa"); 170 } 171 172 if (vastaus == "hullu") 173 { 174 nopeusHax = true; 175 vihuajastin.Interval = RandomGen.NextDouble(0.1, 0.1); 176 foreach (LabyrinthWandererBrain aivo in aivolista) 177 { 178 aivo.Speed = 600; 179 } 180 } 181 182 if (vastaus == "piste hax") 183 { 184 pistehaxajastin = new Timer(); 185 pistehaxajastin.Interval = 0.01; 186 pistehaxajastin.Timeout += delegate { pisteLaskuri.Value += 666; }; 187 pistehaxajastin.Start(); 188 } 189 } 190 191 protected override void Update (Time time) 192 { 193 if (parina) 194 { 195 Level.Background.Color = varit[kaytetty]; 196 197 Camera.Position = pelaaja1.Position + new Vector(RandomGen.NextDouble(-10, 10), RandomGen.NextDouble(-10, 10)); 198 199 if (kaytetty + 1 >= varit.Length) 200 { 201 kaytetty = 0; 202 } 203 else 204 { 205 kaytetty++; 206 } 207 } 208 209 base.Update(time); 107 210 } 108 211 … … 178 281 pelaaja1 = new PhysicsObject(leveys, korkeus); 179 282 pelaaja1.Position = paikka; 283 aloituspaikka = paikka; 180 284 pelaaja1.Mass = 4.0; 181 285 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); … … 212 316 213 317 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu"); 318 Keyboard.Listen(Key.Z, ButtonState.Down, lisaaHAX, "HAX"); 319 Keyboard.Listen(Key.X, ButtonState.Down, poistaHAX, "HAX off"); 320 Keyboard.Listen<PhysicsObject,PhysicsObject>(Key.K, ButtonState.Down, TormaaViholliseen, "kill",pelaaja1,null); 321 Keyboard.Listen(Key.R, ButtonState.Down, Aloitus, "reset"); 214 322 215 323 /*Keyboard.Listen(Key.Right, ButtonState.Released, () => pelaaja1.Stop(), null); … … 237 345 LabyrinthWandererBrain labyrinttiAivot = new LabyrinthWandererBrain(RUUDUN_KOKO); 238 346 labyrinttiAivot.Speed = 200.0; 347 if (nopeusHax) 348 { 349 labyrinttiAivot.Speed = 600.0; 350 } 351 aivolista.Add(labyrinttiAivot); 239 352 labyrinttiAivot.LabyrinthWallTag = "seina"; 240 353 … … 247 360 248 361 } 362 363 249 364 250 365 … … 263 378 } 264 379 265 380 266 381 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 267 382 { 268 383 nykyinenAse = "tahti"; 269 384 270 MessageDisplay.Add("you pick spe sialitem");271 385 MessageDisplay.Add("you pick special item"); 386 272 387 pisteLaskuri.Value += 10; 273 388 389 erikoisvoima.Play(); 390 274 391 tahti.Destroy(); 275 392 … … 278 395 void TormaaItem2(PhysicsObject hahmo, PhysicsObject Item2) 279 396 { 280 MessageDisplay.Add("you pick spe sialitem");397 MessageDisplay.Add("you pick special item"); 281 398 nykyinenAse = "item2"; 282 399 Timer.SingleShot(10, delegate () { nykyinenAse = "perus"; }); 283 400 pisteLaskuri.Value += 10; 401 erikoisvoima.Play(); 284 402 Item2.Destroy(); 285 403 … … 289 407 { 290 408 nykyinenAse = "laser"; 291 MessageDisplay.Add("you pick spe sialitem");409 MessageDisplay.Add("you pick special item"); 292 410 pisteLaskuri.Value += 10; 411 erikoisvoima.Play(); 293 412 Item2.Destroy(); 294 413 } … … 296 415 void TormaaItem4(PhysicsObject hahmo, PhysicsObject Item4) 297 416 { 298 MessageDisplay.Add("you pick spe sialitem");417 MessageDisplay.Add("you pick special item"); 299 418 nykyinenAse = "item4"; 300 419 //Timer.SingleShot(30, delegate () { nykyinenAse = "perus"; }); 301 420 pisteLaskuri.Value += 10; 421 erikoisvoima.Play(); 302 422 Item4.Destroy(); 303 423 … … 306 426 void TormaaydinPommi(PhysicsObject hahmo, PhysicsObject ydinPommi) 307 427 { 308 MessageDisplay.Add("you pick super item");428 MessageDisplay.Add("you pick super item"); 309 429 nykyinenAse = "ydinPommi"; 310 430 Timer.SingleShot(10, delegate () { nykyinenAse = "perus"; }); 311 431 pisteLaskuri.Value += 1000; 432 superVoima.Play(); 312 433 ydinPommi.Destroy(); 313 434 … … 323 444 // 5.0 30.0 324 445 Timer ajastin = new Timer(); 325 ajastin.Interval = RandomGen.NextDouble(5.0, 30.0);446 ajastin.Interval = RandomGen.NextDouble(5.0, 5.0); 326 447 ajastin.Timeout += delegate 327 448 { 328 449 Vector arvottupaikka = spawnit[RandomGen.NextInt(spawnit.Count - 1)]; 329 450 330 int luku = RandomGen.NextInt(0, 10 1);451 int luku = RandomGen.NextInt(0, 103); 331 452 332 453 if (luku < 25) … … 347 468 } 348 469 349 else if (luku < 10 1)470 else if (luku < 103) 350 471 { 351 472 LisaaYdinPommi(arvottupaikka, RUUDUN_KOKO, RUUDUN_KOKO); … … 361 482 { 362 483 if (!ammus.Tag.Equals("plasma")) 363 ammus.Destroy();484 ammus.Destroy(); 364 485 kohde.Destroy(); 365 486 … … 377 498 } 378 499 500 if (minigun) 501 { 502 HeitaKranaatti(pelaaja1, 250); 503 return; 504 } 505 379 506 if (nykyinenAse == "ydinPommi") 380 507 { 381 508 HeitaKranaatti(pelaaja1, 3000); 509 ydinPommiAani.Play(); 382 510 nykyinenAse = "perus"; 383 511 return; … … 393 521 } 394 522 523 524 395 525 if (nykyinenAse == "item4") 396 526 { 397 527 pelaajan1Ase.FireRate = 50; 398 528 ammuksenVari = Color.DarkGreen; 399 ammuksenKoko = new Vector(100,100); 529 ammuksenKoko = new Vector(100, 100); 530 pallo.Play(); 400 531 401 532 } … … 405 536 ammuksenVari = Color.Red; 406 537 pelaajan1Ase.FireRate = 100; 407 ammuksenKoko = new Vector(40,2); 538 ammuksenKoko = new Vector(40, 2); 539 540 if (!laserAani.IsPlaying) 541 { 542 laserAani.Play(); 543 } 408 544 Timer.SingleShot(1, delegate () { nykyinenAse = "perus"; }); 409 545 } … … 446 582 447 583 //1.0 3.0 448 Timer ajastin = new Timer(); 449 ajastin.Interval = RandomGen.NextDouble(1.0, 3.0); 450 ajastin.Timeout += delegate 584 585 vihuajastin = new Timer(); 586 vihuajastin.Interval = RandomGen.NextDouble(1.0, 3.0); 587 vihuajastin.Timeout += delegate 451 588 { 452 589 Vector arvottupaikka = vihuspawnit[RandomGen.NextInt(vihuspawnit.Count - 1)]; … … 454 591 455 592 }; 456 ajastin.Start();593 vihuajastin.Start(); 457 594 458 595 } … … 462 599 { 463 600 hahmo.Destroy(); 601 NOPEUS = 800; 464 602 topLista.EnterAndShow(pisteLaskuri.Value); 465 603 topLista.HighScoreWindow.Closed += delegate (Window a) { Begin(); }; 604 466 605 // Timer.SingleShot(3.0,Begin); 467 606 468 607 poistaHAX(); 469 608 } 470 609 … … 498 637 } 499 638 639 void lisaaHAX() 640 641 { 642 643 InputWindow kysymysIkkuna = new InputWindow("HAX"); 644 kysymysIkkuna.TextEntered += ProcessInput; 645 Add(kysymysIkkuna); 646 647 } 648 649 void poistaHAX() 650 651 { 652 minigun = false; 653 parina = false; 654 nopeusHax = false; 655 NOPEUS = 800; 656 657 Image arvottukuva = RandomGen.SelectOne<Image>(pelaajankuvat); 658 pelaaja1.Image = arvottukuva; 659 660 parina = false; 661 Camera.Reset(); 662 Camera.Follow(pelaaja1); 663 Camera.ZoomFactor = 1.2; 664 Camera.StayInLevel = true; 665 Level.Background.Color = Color.White; 666 MediaPlayer.Stop(); 667 vihuajastin.Interval = RandomGen.NextDouble(1.0, 3.0); 668 if (pistehaxajastin != null) 669 { 670 pistehaxajastin.Stop(); 671 } 672 foreach (LabyrinthWandererBrain aivot in aivolista) 673 { 674 aivot.Speed = 200; 675 } 676 } 677 678 void Aloitus() 679 680 { 681 pelaaja1.Position = aloituspaikka; 682 } 683 684 685 500 686 501 687 }
Note: See TracChangeset
for help on using the changeset viewer.