Changeset 1827
- Timestamp:
- 2011-06-09 15:59:02 (11 years ago)
- Location:
- 2011/23/vikeisal
- Files:
-
- 11 added
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/Peli.cs
r1786 r1827 22 22 Image KolikkoKuva = LoadImage("enemy"); 23 23 Image metalli = LoadImage("metalli"); 24 Image puu2 = LoadImage("puu2"); 25 Image TappavaTasokuva = LoadImage("tappavataso"); 26 Image ikkuna = LoadImage("ikkuna"); 27 Image TNT = LoadImage("TNT"); 24 28 SoundEffect voittoAani = LoadSoundEffect("victory"); 25 29 SoundEffect havioAani = LoadSoundEffect("lose"); … … 28 32 SoundEffect spydie = LoadSoundEffect("spydie"); 29 33 IntMeter pisteLaskuri; 30 31 34 List<Label> valikonKohdat; 32 35 33 34 35 36 public override void Begin() 36 37 { 37 38 Gravity = new Vector(0, -1250); 38 39 luoKentta();39 40 //luoKentta(); 40 41 lisaaNappaimet(); 41 42 LuoLaskuri(); … … 47 48 } 48 49 49 50 50 void Valikko() 51 51 { … … 53 53 54 54 valikonKohdat = new List<Label>(); 55 55 Level.BackgroundColor = Color.Black; 56 56 Label kohta1 = new Label("Aloita uusi peli"); 57 57 kohta1.Position = new Vector(0, 40); 58 kohta1.TextColor = Color.White; 58 59 valikonKohdat.Add(kohta1); 59 60 60 61 Label kohta2 = new Label("Lopeta"); 61 62 kohta2.Position = new Vector(0, -40); 63 kohta2.TextColor = Color.White; 62 64 valikonKohdat.Add(kohta2); 63 65 … … 71 73 72 74 Mouse.IsCursorVisible = true; 73 Mouse.ListenMovement(1.0, ValikossaLiikkuminen , null);75 Mouse.ListenMovement(1.0, ValikossaLiikkuminen2, null); 74 76 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 75 77 76 78 } 77 void ValikossaLiikkuminen (AnalogState hiirenTila)79 void ValikossaLiikkuminen2(AnalogState hiirenTila) 78 80 { 79 81 foreach (Label kohta in valikonKohdat) … … 103 105 Camera.StayInLevel = true; 104 106 } 105 107 void Valikko2() 108 { 109 ClearAll(); 110 111 valikonKohdat = new List<Label>(); 112 113 Label kohta1 = new Label("Aloita uusi peli"); 114 kohta1.Position = new Vector(0, 40); 115 kohta1.TextColor = Color.White; 116 valikonKohdat.Add(kohta1); 117 118 Label kohta2 = new Label("Seuraava taso"); 119 kohta2.Position = new Vector(0, 100); 120 kohta2.TextColor = Color.White; 121 valikonKohdat.Add(kohta2); 122 123 Label kohta3 = new Label("Lopeta"); 124 kohta3.Position = new Vector(0, -40); 125 kohta3.TextColor = Color.White; 126 valikonKohdat.Add(kohta3); 127 128 foreach (Label valikonKohta in valikonKohdat) 129 { 130 Add(valikonKohta); 131 } 132 133 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 134 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, SeuraavaTaso, null); 135 Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 136 Mouse.IsCursorVisible = true; 137 Mouse.ListenMovement(1.0, ValikossaLiikkuminen2, null); 138 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 139 140 } 141 void ValikossaLiikkuminen(AnalogState hiirenTila) 142 { 143 foreach (Label kohta in valikonKohdat) 144 { 145 if (Mouse.IsCursorOn(kohta)) 146 { 147 kohta.TextColor = Color.Red; 148 } 149 else 150 { 151 kohta.TextColor = Color.White; 152 } 153 154 } 155 } 156 void SeuraavaTaso() 157 { 158 ClearAll(); 159 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 160 Gravity = new Vector(0, -1250); 161 LuoAikaLaskuri(); 162 luoKentta2(); 163 lisaaNappaimet(); 164 LuoLaskuri(); 165 Camera.Follow(pelaaja1); 166 Camera.ZoomFactor = 1.0; 167 Camera.StayInLevel = true; 168 } 106 169 void Lopeta() 107 170 { 108 171 Exit(); 109 172 } 110 111 112 113 114 115 173 void luoKentta() 116 174 { … … 125 183 kentta['"'] = lisaametalli; 126 184 kentta['&'] = lisaapuu; 185 kentta['='] = lisaapuu2; 186 kentta['+'] = lisaametalli2; 187 kentta['@'] = lisaaikkuna; 188 kentta['T'] = lisaaTNT; 127 189 kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 128 190 Level.CreateBorders(); 129 191 Level.BackgroundColor = Color.Black; 130 192 Level.Background.CreateStars(); 131 } 193 194 MessageDisplay.TextColor = Color.White; 195 } 196 void luoKentta2() 197 { 198 TileMap kentta2 = TileMap.FromFile("kentta2.txt"); 199 kentta2['#'] = lisaaTaso; 200 kentta2['*'] = lisaaintelligents; 201 kentta2['N'] = lisaaPelaaja; 202 kentta2['M'] = lisaaVihollinen; 203 kentta2['_'] = lisaaTappavaTaso; 204 kentta2['-'] = lisaaTaso2; 205 kentta2['.'] = lisaaKolikko; 206 kentta2['"'] = lisaametalli; 207 kentta2['&'] = lisaapuu; 208 kentta2['='] = lisaapuu2; 209 kentta2['+'] = lisaametalli2; 210 kentta2['@'] = lisaaikkuna; 211 kentta2['T'] = lisaaTNT; 212 kentta2.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 213 Level.CreateBorders(); 214 Level.BackgroundColor = Color.Black; 215 Level.Background.CreateStars(); 216 } 217 132 218 PhysicsObject lisaaTaso2() 133 219 { … … 147 233 { 148 234 PhysicsObject TappavaTaso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO, Shape.Triangle); 149 TappavaTaso. Color = Color.Red;235 TappavaTaso.Image = TappavaTasokuva; 150 236 TappavaTaso.Tag = "TappavaTaso"; 151 237 return TappavaTaso; 152 238 } 153 154 239 PhysicsObject lisaaintelligents() 155 240 { … … 159 244 return intelligents; 160 245 } 161 162 246 PhysicsObject lisaaKolikko() 163 247 { … … 174 258 return metalli; 175 259 } 176 PhysicsObject lisaapuu() 177 { 178 PhysicsObject puu = PhysicsObject.CreateStaticObject(40, 40); 260 PhysicsObject lisaametalli2() 261 { 262 PhysicsObject metalli2 = PhysicsObject.CreateStaticObject(40, 40); 263 metalli2.Image = LoadImage("metalli2"); 264 metalli2.Tag = "metalli2"; 265 return metalli2; 266 } 267 PhysicsObject lisaaikkuna() 268 { 269 PhysicsObject ikkuna = PhysicsObject.CreateStaticObject(40, 40); 270 ikkuna.Image = LoadImage("ikkuna"); 271 ikkuna.Tag = "ikkuna"; 272 return ikkuna; 273 } 274 PhysicsObject lisaaTNT() 275 { 276 PhysicsObject TNT = PhysicsObject.CreateStaticObject(40, 40); 277 TNT.Image = LoadImage("TNT"); 278 TNT.Tag = "TNT"; 279 return TNT; 280 } 281 GameObject lisaapuu() 282 { 283 GameObject puu = new GameObject(90, 100); 284 puu.Shape = Shape.Triangle; 179 285 puu.Image = LoadImage("puu"); 180 286 puu.Tag = "puu"; 181 Add(puu, - 1);287 Add(puu, -3); 182 288 return puu; 183 289 } 184 290 GameObject lisaapuu2() 291 { 292 GameObject puu2 = new GameObject(40, 60); 293 294 puu2.Image = LoadImage("puu2"); 295 puu2.Tag = "puu2"; 296 297 Add(puu2, -3); 298 return puu2; 299 } 185 300 PlatformCharacter lisaaPelaaja() 186 301 { … … 188 303 pelaaja1.Mass = 4.0; 189 304 pelaaja1.Image = pelaajanKuva; 305 pelaaja1.Tag = "pelaaja1"; 190 306 pelaaja1.Weapon = new AssaultRifle(0, 5); 191 307 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; … … 195 311 return pelaaja1; 196 312 } 197 198 313 PhysicsObject lisaaVihollinen() 199 314 { 200 315 PhysicsObject vihollinen1 = new PhysicsObject(70, 60); 201 316 202 vihollinen1.Mass = 7.0;317 vihollinen1.Mass = 10.0; 203 318 AddCollisionHandler(vihollinen1, KasitteleVihollisenTormays); 204 319 vihollinen1.Tag = "vihollinen1"; 205 AssaultRifle pyssy = new AssaultRifle(20, 1); 320 vihollinen1.Shape = Shape.Triangle; 321 AssaultRifle pyssy = new AssaultRifle(0, -7); 206 322 vihollinen1.Add(pyssy); 207 323 Timer ajastin = new Timer(); 208 ajastin.Interval = 0.5; 209 //ajastin.Trigger += ; 324 ajastin.Interval = 0.1; 325 ajastin.Trigger += AmmuAseella2; 326 pyssy.ProjectileCollision = AmmusOsui2; 327 ajastin.Tag = pyssy; 210 328 ajastin.Start(); 211 212 329 vihollinen1.Image = vihollisenKuva; 213 330 Add(vihollinen1); 214 215 331 return vihollinen1; 216 332 } … … 225 341 Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 226 342 Keyboard.Listen(Key.Space, ButtonState.Pressed, AmmuAseella, "Ammu"); 227 228 } 229 343 344 } 230 345 void liikuta(PlatformCharacter hahmo, double nopeus) 231 346 { … … 241 356 hahmo.Walk(nopeus); 242 357 } 243 244 358 void hyppaa(PlatformCharacter hahmo, double nopeus) 245 359 { 246 360 hahmo.Jump(nopeus); 247 361 } 248 249 362 void osuTahteen(PhysicsObject hahmo, PhysicsObject kohde) 250 363 { … … 258 371 Add(naytto); 259 372 voittoAani.Play(); 260 Valikko(); 373 ClearAll(); 374 375 Valikko2(); 261 376 } 262 377 … … 272 387 havioAani.Play(); 273 388 Valikko(); 274 389 275 390 } 276 391 … … 278 393 { 279 394 pisteLaskuri.Value = pisteLaskuri.Value + 1; 280 395 281 396 coinAani.Play(); 282 397 kohde.Destroy(); 283 398 } 284 399 } 285 286 400 void LuoAikaLaskuri() 287 401 { 288 AlaspainLaskuri = new DoubleMeter( 60);402 AlaspainLaskuri = new DoubleMeter(70); 289 403 290 404 Timer aikalaskuri = new Timer(); … … 322 436 } 323 437 } 324 325 438 void KasitteleVihollisenTormays(PhysicsObject vihollinen1, PhysicsObject kohde) 326 439 { … … 347 460 { 348 461 PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 349 462 350 463 if (ammus != null) 351 464 { … … 367 480 Explosion rajahdys = new Explosion(5); 368 481 rajahdys.Position = ammus.Position; 482 rajahdys.ShockwaveColor = Color.Yellow; 369 483 Add(rajahdys); 370 484 } … … 375 489 Explosion rajahdys = new Explosion(5); 376 490 rajahdys.Position = ammus.Position; 491 rajahdys.ShockwaveColor = Color.Yellow; 377 492 Add(rajahdys); 378 493 } … … 382 497 Explosion rajahdys = new Explosion(5); 383 498 rajahdys.Position = ammus.Position; 499 rajahdys.ShockwaveColor = Color.Yellow; 384 500 Add(rajahdys); 385 501 } … … 389 505 Explosion rajahdys = new Explosion(5); 390 506 rajahdys.Position = ammus.Position; 391 Add(rajahdys); 392 } 393 507 rajahdys.ShockwaveColor = Color.Yellow; 508 Add(rajahdys); 509 } 510 if (kohde.Tag.ToString() == "metalli2") 511 { 512 ammus.Destroy(); 513 Explosion rajahdys = new Explosion(5); 514 rajahdys.Position = ammus.Position; 515 rajahdys.ShockwaveColor = Color.Yellow; 516 Add(rajahdys); 517 } 518 if (kohde.Tag.ToString() == "puu") 519 { 520 ammus.Destroy(); 521 Explosion rajahdys = new Explosion(5); 522 rajahdys.Position = ammus.Position; 523 rajahdys.ShockwaveColor = Color.Yellow; 524 Add(rajahdys); 525 } 526 if (kohde.Tag.ToString() == "puu2") 527 { 528 ammus.Destroy(); 529 Explosion rajahdys = new Explosion(5); 530 rajahdys.Position = ammus.Position; 531 rajahdys.ShockwaveColor = Color.Yellow; 532 Add(rajahdys); 533 } 534 if (kohde.Tag.ToString() == "intelligents") 535 { 536 ammus.Destroy(); 537 Explosion rajahdys = new Explosion(5); 538 rajahdys.Position = ammus.Position; 539 rajahdys.ShockwaveColor = Color.Yellow; 540 Add(rajahdys); 541 } 542 if (kohde.Tag.ToString() == "kolikko") 543 { 544 ammus.Destroy(); 545 Explosion rajahdys = new Explosion(5); 546 rajahdys.Position = ammus.Position; 547 rajahdys.ShockwaveColor = Color.Yellow; 548 Add(rajahdys); 549 } 550 if (kohde.Tag.ToString() == "ikkuna") 551 { 552 ammus.Destroy(); 553 Explosion rajahdys = new Explosion(5); 554 rajahdys.Position = ammus.Position; 555 rajahdys.ShockwaveColor = Color.Yellow; 556 Add(rajahdys); 557 } 558 if (kohde.Tag.ToString() == "TNT") 559 { 560 ammus.Destroy(); 561 kohde.Destroy(); 562 Explosion rajahdys2 = new Explosion(100); 563 rajahdys2.Position = kohde.Position; 564 rajahdys2.ShockwaveColor = Color.Red; 565 rajahdys2.Speed = 1000.0; 566 rajahdys2.Force = 10000; 567 568 Add(rajahdys2); 569 Explosion rajahdys = new Explosion(5); 570 rajahdys.Position = ammus.Position; 571 rajahdys.ShockwaveColor = Color.Yellow; 572 Add(rajahdys); 573 } 574 575 576 394 577 } 395 578 void AmmuAseella2(Timer Sender) 396 579 { 397 //PhysicsObject ammus = pyssy.Shoot(); 398 399 //if (ammus != null) 400 { 401 //ammus.Size *= 1; 402 } 403 404 } 405 406 407 408 409 410 411 public PhysicsObject vihollinen1 { get; set; } 412 413 public Image kolikkoKuva { get; set; } 414 580 if (Sender.Tag is AssaultRifle) 581 { 582 AssaultRifle vihunAse = (AssaultRifle)Sender.Tag; 583 double etäisyys = Vector.Distance(pelaaja1.Position, vihunAse.AbsolutePosition); 584 Vector suunta = (pelaaja1.Position - vihunAse.Position).Normalize(); 585 586 587 588 589 if (etäisyys < 250) 590 { 591 // Tällä saadaan ratkaistua se ongelma, että x-akselin eri puolilla vihulainen ampuu eri suuntiin 592 //double x = Math.Min(pelaaja1.Position.X - vihunAse.Position.X, vihunAse.Position.X - pelaaja1.Position.X); 593 //double y = Math.Min(pelaaja1.Position.Y - vihunAse.Position.Y, vihunAse.Position.Y - pelaaja1.Position.Y); 594 vihunAse.Angle = suunta.Angle; 595 596 PhysicsObject ammus2 = ((AssaultRifle)Sender.Tag).Shoot(); 597 if (ammus2 != null) 598 { 599 ammus2.Size *= 1; 600 ammus2.Color = Color.Yellow; 601 ammus2.IgnoresGravity = true; 602 603 } 604 } 605 } 606 } 607 void AmmusOsui2(PhysicsObject ammus2, PhysicsObject kohde) 608 { 609 if (kohde.Tag.ToString() == "pelaaja1") 610 { 611 kohde.Destroy(); 612 spydie.Play(); 613 Label naytto = new Label("GAME OVER! KUOLIT! YOU FAILED!"); 614 naytto.Position = Vector.Zero; 615 naytto.TextColor = Color.Red; 616 Add(naytto); 617 ammus2.Destroy(); 618 Valikko(); 619 havioAani.Play(); 620 Explosion rajahdys = new Explosion(5); 621 rajahdys.Position = ammus2.Position; 622 rajahdys.ShockwaveColor = Color.Yellow; 623 Add(rajahdys); 624 } 625 626 if (kohde.Tag.ToString() == "maa") 627 { 628 ammus2.Destroy(); 629 Explosion rajahdys = new Explosion(5); 630 rajahdys.Position = ammus2.Position; 631 rajahdys.ShockwaveColor = Color.Yellow; 632 Add(rajahdys); 633 } 634 if (kohde.Tag.ToString() == "maa2") 635 { 636 ammus2.Destroy(); 637 Explosion rajahdys = new Explosion(5); 638 rajahdys.Position = ammus2.Position; 639 rajahdys.ShockwaveColor = Color.Yellow; 640 Add(rajahdys); 641 } 642 if (kohde.Tag.ToString() == "metalli") 643 { 644 ammus2.Destroy(); 645 Explosion rajahdys = new Explosion(5); 646 rajahdys.Position = ammus2.Position; 647 rajahdys.ShockwaveColor = Color.Yellow; 648 Add(rajahdys); 649 } 650 if (kohde.Tag.ToString() == "metalli2") 651 { 652 ammus2.Destroy(); 653 Explosion rajahdys = new Explosion(5); 654 rajahdys.Position = ammus2.Position; 655 rajahdys.ShockwaveColor = Color.Yellow; 656 Add(rajahdys); 657 } 658 if (kohde.Tag.ToString() == "puu") 659 { 660 ammus2.Destroy(); 661 Explosion rajahdys = new Explosion(5); 662 rajahdys.Position = ammus2.Position; 663 rajahdys.ShockwaveColor = Color.Yellow; 664 Add(rajahdys); 665 } 666 if (kohde.Tag.ToString() == "puu2") 667 { 668 ammus2.Destroy(); 669 Explosion rajahdys = new Explosion(5); 670 rajahdys.Position = ammus2.Position; 671 rajahdys.ShockwaveColor = Color.Yellow; 672 Add(rajahdys); 673 } 674 if (kohde.Tag.ToString() == "intelligents") 675 { 676 ammus2.Destroy(); 677 Explosion rajahdys = new Explosion(5); 678 rajahdys.Position = ammus2.Position; 679 rajahdys.ShockwaveColor = Color.Yellow; 680 Add(rajahdys); 681 } 682 if (kohde.Tag.ToString() == "kolikko") 683 { 684 ammus2.Destroy(); 685 Explosion rajahdys = new Explosion(5); 686 rajahdys.Position = ammus2.Position; 687 rajahdys.ShockwaveColor = Color.Yellow; 688 Add(rajahdys); 689 } 690 if (kohde.Tag.ToString() == "ikkuna") 691 { 692 ammus2.Destroy(); 693 Explosion rajahdys = new Explosion(5); 694 rajahdys.Position = ammus2.Position; 695 rajahdys.ShockwaveColor = Color.Yellow; 696 Add(rajahdys); 697 } 698 699 } 700 701 protected override void Update(Time time) 702 { 703 base.Update(time); 704 } 415 705 416 706 } -
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/SpyInTheBase.csproj
r1738 r1827 123 123 <CopyToOutputDirectory>Always</CopyToOutputDirectory> 124 124 </Content> 125 <Content Include="kentta2.txt"> 126 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 127 </Content> 125 128 </ItemGroup> 126 129 <ItemGroup> -
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBase/kentta1.txt
r1786 r1827 1 1 2 3 " M 2 M 3 + 4 "++++ 4 5 """"" 5 """"" 6 . """"" 7 . .-. . """"" 8 .-. & .-#-. .- . """"" 9 N .-#-. M # M .-###-. . . M .-#. . M . -. M M ..*""""" 10 -----------------###----------------#--------------#####---------- ------------------------##- - - - #---------------------------##### 6 . "@""" 7 . .-. M . """"" 8 & .-. M & M .-#-. & & .- M . M M N""""" 9 N = .-#-. = .-###-. . . = = .-#. . . ..*""""* 10 --------#--------###----------------#--------------#####---------- --------#-------#-------##- - - - ----------------------------##### 11 11 ##################################################################__###########################__#__#__#__################################# -
2011/23/vikeisal/SpyInTheBase/SpyInTheBase/SpyInTheBaseContent/SpyInTheBaseContent.contentproj
r1786 r1827 59 59 <Compile Include="maa.png"> 60 60 <Name>maa</Name> 61 <Importer>TextureImporter</Importer>62 <Processor>TextureProcessor</Processor>63 </Compile>64 </ItemGroup>65 <ItemGroup>66 <Compile Include="taivas.png">67 <Name>taivas</Name>68 61 <Importer>TextureImporter</Importer> 69 62 <Processor>TextureProcessor</Processor> … … 154 147 </Compile> 155 148 </ItemGroup> 149 <ItemGroup> 150 <Compile Include="puu2.png"> 151 <Name>puu2</Name> 152 <Importer>TextureImporter</Importer> 153 <Processor>TextureProcessor</Processor> 154 </Compile> 155 </ItemGroup> 156 <ItemGroup> 157 <Compile Include="metalli2.png"> 158 <Name>metalli2</Name> 159 <Importer>TextureImporter</Importer> 160 <Processor>TextureProcessor</Processor> 161 </Compile> 162 </ItemGroup> 163 <ItemGroup> 164 <Compile Include="tappavataso.png"> 165 <Name>tappavataso</Name> 166 <Importer>TextureImporter</Importer> 167 <Processor>TextureProcessor</Processor> 168 </Compile> 169 </ItemGroup> 170 <ItemGroup> 171 <Compile Include="ikkuna.png"> 172 <Name>ikkuna</Name> 173 <Importer>TextureImporter</Importer> 174 <Processor>TextureProcessor</Processor> 175 </Compile> 176 </ItemGroup> 177 <ItemGroup> 178 <Compile Include="TNT.png"> 179 <Name>TNT</Name> 180 <Importer>TextureImporter</Importer> 181 <Processor>TextureProcessor</Processor> 182 </Compile> 183 </ItemGroup> 156 184 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 157 185 <!-- 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.