- Timestamp:
- 2013-06-07 13:37:52 (10 years ago)
- Location:
- 2013/23/TopiasT/Tasohyppelypeli1/Tasohyppelypeli1
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/23/TopiasT/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs
r3998 r4031 8 8 using Jypeli.WP7; 9 9 10 10 11 class Vihu : PlatformCharacter 11 12 { … … 55 56 public class Tasohyppelypeli1 : PhysicsGame 56 57 { 58 public static bool IsScreenSaverEnabled { get; set; } 59 57 60 const double nopeus = 100; 58 61 const double hyppyNopeus = 550; … … 71 74 private Image[] hyppyAnimaatio = LoadImages("hahmohyppy9", "hahmohyppy1", "hahmohyppy2", "hahmohyppy3", "hahmohyppy4", "hahmohyppy5", "hahmohyppy6", "hahmohyppy7", "hahmohyppy8", "hahmohyppy9"); 72 75 Animation hyokkaysAnimaatio; 73 Animation hyokkaysAnimaatio2 ; 76 Animation hyokkaysAnimaatio2; 77 Animation hyokkaysAnimaatio3; 74 78 75 79 … … 81 85 82 86 SoundEffect maaliAani = LoadSoundEffect("maali"); 83 87 84 88 int avainsaatu = 0; 85 int Ase = 0; 86 int Ase2 = 0; 89 int pistooliOstettu = 0; 90 int haulikkoOstettu = 0; 91 int Ase; 87 92 88 93 public override void Begin() … … 90 95 #if WINDOWS_PHONE 91 96 SetWindowSize(800, 480); 97 IsScreenSaverEnabled = false; 92 98 #endif 93 99 hyokkaysAnimaatio2 = new Animation(LoadImages("hahmoPi", "hahmoPiH")); 94 100 hyokkaysAnimaatio = new Animation(LoadImages("hahmoP", "hahmoL")); 101 hyokkaysAnimaatio3 = new Animation(LoadImages("hahmoH", "hahmoHA")); 95 102 Valikko(); 96 103 } … … 116 123 valikonKohdat.Add(kohta3); 117 124 118 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null );125 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null,++KenttaNro); 119 126 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 120 127 Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Kauppa, null); 121 128 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 122 129 123 TouchPanel.ListenOn(kohta1, ButtonState.Pressed, AloitaPeliTouch, null);130 TouchPanel.ListenOn(kohta1, ButtonState.Pressed, ValitseTaso, null); 124 131 TouchPanel.ListenOn(kohta2, ButtonState.Pressed, poistu, null); 125 132 TouchPanel.ListenOn(kohta3, ButtonState.Pressed, kauppaTouch, null); … … 140 147 } 141 148 142 void AloitaPeliTouch(Touch touch) 143 { 144 AloitaPeli(); 149 void AloitaPeliTouch(Touch touch, int kentta) 150 { 151 switch (kentta) 152 { 153 case 1: 154 AloitaPeli(1); 155 break; 156 case 2: 157 AloitaPeli(2); 158 break; 159 default: 160 Valikko(); 161 162 break; 163 } 164 145 165 } 146 166 … … 149 169 150 170 ClearAll(); 171 172 if(DataStorage.Exists("haulikkoOstettu.xml")) 173 haulikkoOstettu = DataStorage.Load<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 174 151 175 152 176 KenttaNro = 0; … … 161 185 Camera.StayInLevel = false; 162 186 163 if (DataStorage.Exists(" ase.xml"))164 Ase = DataStorage.Load<int>(Ase, "ase.xml");187 if (DataStorage.Exists("pistooliOstettu.xml")) 188 pistooliOstettu = DataStorage.Load<int>(pistooliOstettu, "pistooliOstettu.xml"); 165 189 166 190 Label kohta1 = new Label(); 167 191 168 if ( Ase== 0)192 if (pistooliOstettu == 0) 169 193 { kohta1.Text = ("Osta 10000"); } 170 194 else … … 174 198 valikonKohdat.Add(kohta1); 175 199 200 201 Label kohta3 = new Label(); 202 203 if (haulikkoOstettu == 0) 204 { kohta3.Text = ("Osta 15000"); } 205 else 206 { kohta3.Text = ("Myy 12000"); } 207 208 kohta3.Position = new Vector(150, 20); 209 valikonKohdat.Add(kohta3); 210 176 211 Label kohta2 = new Label("Takaisin"); 177 212 kohta2.Position = new Vector(-180, -150); … … 179 214 180 215 TouchPanel.ListenOn(kohta1, ButtonState.Pressed, ostaPistooli, null); 216 TouchPanel.ListenOn(kohta3, ButtonState.Pressed, ostaHaulikko, null); 181 217 TouchPanel.ListenOn(kohta2, ButtonState.Pressed, ValikkoT, null); 182 218 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); … … 194 230 Add(pistooli, 1); 195 231 232 Widget haulikko = new Widget(308, 258); 233 haulikko.Position = new Vector(280, 120); 234 haulikko.Image = LoadImage("Haulikkok"); 235 Add(haulikko, 1); 236 196 237 PhoneBackButton.Listen(Valikko, null); 197 238 … … 216 257 } 217 258 } 218 void AloitaPeli( )259 void AloitaPeli(int KenttaNro) 219 260 { 220 261 ClearAll(); 221 262 222 if (DataStorage.Exists("ase.xml")) 223 Ase = DataStorage.Load<int>(Ase, "ase.xml"); 263 if (DataStorage.Exists("haulikkoOstettu.xml")) 264 haulikkoOstettu = DataStorage.Load<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 265 266 267 if (DataStorage.Exists("pistooliOstettu.xml")) 268 pistooliOstettu = DataStorage.Load<int>(pistooliOstettu, "pistooliOstettu.xml"); 224 269 225 270 Gravity = new Vector(0, -1000); 226 271 227 if (KenttaNro == 1) 228 LuoKentta("kentta1"); 229 230 if (KenttaNro == 2) 231 LuoKentta("kentta2"); 272 switch (KenttaNro) 273 { 274 case 1: 275 LuoKentta("kentta1"); 276 break; 277 case 2: 278 LuoKentta("kentta2"); 279 break; 280 default: 281 KenttaNro = 1; 282 LuoKentta("kentta1"); 283 284 break; 285 } 232 286 233 287 LisaaNappaimet(); … … 241 295 242 296 } 297 void ValitseTaso(Touch touch) 298 299 { 300 ClearAll(); 301 KenttaNro = 1; 302 303 304 Mouse.IsCursorVisible = true; 305 valikonKohdat = new List<Label>(); // Alustetaan lista, johon valikon kohdat tulevat 306 307 Label kohta1 = new Label("1"); // Luodaan uusi Label-olio, joka toimii uuden pelin aloituskohtana 308 kohta1.Position = new Vector(-80, 0); // Asetetaan valikon ensimmäinen kohta hieman kentän keskikohdan yläpuolelle 309 valikonKohdat.Add(kohta1); // Lisätään luotu valikon kohta listaan jossa kohtia säilytetään 310 311 Label kohta2 = new Label("2"); 312 kohta2.Position = new Vector(0, 0); 313 valikonKohdat.Add(kohta2); 314 315 Label kohta3 = new Label("Takaisn"); 316 kohta3.Position = new Vector(-180, -150); 317 valikonKohdat.Add(kohta3); 318 319 // Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 320 // Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 321 // Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Kauppa, null); 322 // Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 323 324 TouchPanel.ListenOn(kohta1, ButtonState.Pressed, AloitaPeliTouch, null, 1); 325 TouchPanel.ListenOn(kohta2, ButtonState.Pressed, AloitaPeliTouch, null, 2); 326 TouchPanel.ListenOn(kohta3, ButtonState.Pressed, ValikkoT, null); 327 328 // Lisätään kaikki luodut kohdat peliin foreach-silmukalla 329 foreach (Label valikonKohta in valikonKohdat) 330 { 331 Add(valikonKohta); 332 } 333 } 243 334 void SeuraavaTaso() 244 335 { 245 KenttaNro++; 246 AloitaPeli(); 247 } 336 AloitaPeli(++KenttaNro); 337 } 338 void LisaaPisteita() 339 { 340 pisteLaskuri.Value += 5000; 341 } 342 248 343 249 344 … … 313 408 pelaaja1.Position = paikka; 314 409 pelaaja1.Mass = 4.0; 315 // pelaaja1.Image = pelaajanKuva;410 pelaaja1.Image = LoadImage("hahmoP"); 316 411 pelaaja1.Tag = "pelaaja"; 317 412 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); … … 322 417 pelaaja1.AnimJump = new Animation(hyppyAnimaatio); 323 418 pelaaja1.AnimJump.FPS = 18; 324 if (Ase == 0) 325 { 326 pelaaja1.AnimIdle = new Animation(paikallaanAnimaatio); 327 } 328 else if (Ase == 1) 329 { 330 pelaaja1.AnimIdle = LoadImage("HahmoPi"); 331 } 332 else if (Ase == 2) 333 { 334 pelaaja1.AnimIdle = LoadImage("HahmoPi"); 335 } 336 337 Timer ajastin2 = new Timer(); 338 ajastin2.Interval = 2; 339 ajastin2.Timeout += delegate 340 { 341 342 pelaaja1.Elamat.Value++; 343 344 }; 345 ajastin2.Start(); 419 346 420 347 421 pelaajan1Ase = new AssaultRifle(0.1, 0.1); … … 354 428 pelaajan1Ase.X = -6.0; 355 429 pelaajan1Ase.Y = 3.3; 356 // pelaaja1.Add(pelaajan1Ase); 430 357 431 pelaaja1.Weapon = pelaajan1Ase; 432 433 Timer ajastin3 = new Timer(); 434 ajastin3.Interval = 0.2; 435 ajastin3.Timeout += delegate 436 { 437 438 439 if (Ase == 0) 440 { 441 pelaaja1.AnimIdle = new Animation(paikallaanAnimaatio); 442 } 443 else if (Ase == 1) 444 { 445 pelaaja1.AnimIdle = LoadImage("HahmoPi"); 446 } 447 else if (Ase == 2) 448 { 449 pelaaja1.Weapon.FireRate = 1; 450 pelaaja1.AnimIdle = LoadImage("HahmoH"); 451 } 452 }; 453 ajastin3.Start(); 454 455 Timer ajastin2 = new Timer(); 456 ajastin2.Interval = 2; 457 ajastin2.Timeout += delegate 458 { 459 460 pelaaja1.Elamat.Value++; 461 462 }; 463 ajastin2.Start(); 464 465 358 466 Add(pelaaja1); 359 467 … … 373 481 ((Vihu)kohde).ElamaLaskuri.Value -= 4; 374 482 } 375 /*else if (Ase == 2)376 { 377 ((Vihu)kohde).ElamaLaskuri.Value -= 8;378 } */483 else if (Ase == 2) 484 { 485 ((Vihu)kohde).ElamaLaskuri.Value -= 10; 486 } 379 487 } 380 488 ammus.Destroy(); … … 384 492 void LisaaNappaimet() 385 493 { 386 Widget vasen = new Widget( 80, 80);387 vasen.X = Screen.Left + 80;494 Widget vasen = new Widget(100, 100); 495 vasen.X = Screen.Left + 70; 388 496 vasen.Y = Screen.Bottom + 80; 389 497 vasen.Image = LoadImage("Vasen"); … … 392 500 TouchPanel.ListenOn(vasen, ButtonState.Down, liikuV, null); 393 501 394 Widget oikea = new Widget( 80, 80);395 oikea.X = Screen.Left + 1 80;502 Widget oikea = new Widget(100, 100); 503 oikea.X = Screen.Left + 190; 396 504 oikea.Y = Screen.Bottom + 80; 397 505 oikea.Image = LoadImage("Oikea"); … … 400 508 TouchPanel.ListenOn(oikea, ButtonState.Down, liikuO, null); 401 509 402 Widget hyppy = new Widget( 80, 80);510 Widget hyppy = new Widget(100, 100); 403 511 hyppy.X = Screen.Left + 130; 404 hyppy.Y = Screen.Bottom + 1 60;512 hyppy.Y = Screen.Bottom + 170; 405 513 hyppy.Image = LoadImage("Ylös"); 406 514 Add(hyppy); … … 409 517 410 518 411 Widget isku = new Widget( 80, 80);519 Widget isku = new Widget(100, 100); 412 520 isku.X = Screen.Right - 130; 413 521 isku.Y = Screen.Bottom + 80; … … 425 533 Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 426 534 427 428 429 535 430 536 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 436 542 PhoneBackButton.Listen(Pauselle, "pause"); 437 543 } 544 void tarkistaAse() 545 { 546 547 548 } 549 void VaihdaAse() 550 { 551 if (pistooliOstettu == 1 && Ase == 0) 552 { 553 Ase++; 554 } 555 else if (haulikkoOstettu == 1 && Ase != 2) 556 { 557 Ase = 2; 558 } 559 else 560 { 561 Ase = 0; 562 } 563 } 438 564 void liikuV(Touch Touch) 439 565 { … … 447 573 { 448 574 Hyppaa(pelaaja1, hyppyNopeus); 575 Accelerometer.Listen(AccelerometerDirection.Shake, 1, LisaaPisteita, null); 449 576 } 450 577 void iskee(Touch touch) … … 467 594 468 595 } 469 else if(Ase ==1) 470 { 471 ammus.Size *= 2; 596 else if (Ase == 1) 597 { 472 598 ammus.Image = LoadImage("luoti"); 473 599 ammus.MaximumLifetime = TimeSpan.FromSeconds(2); 600 } 601 else if (Ase == 2) 602 { 603 ammus.Size *= 2; 604 ammus.Image = LoadImage("Haulit"); 605 ammus.MaximumLifetime = TimeSpan.FromSeconds(0.1); 474 606 475 607 } … … 488 620 { 489 621 pelaaja1.PlayAnimation(hyokkaysAnimaatio2); 622 } 623 else if (Ase == 2) 624 { 625 pelaaja1.PlayAnimation(hyokkaysAnimaatio3); 490 626 } 491 627 … … 713 849 714 850 LuoPistelaskuri(); 715 if (DataStorage.Exists(" ase.xml"))716 Ase = DataStorage.Load<int>(Ase, "ase.xml");717 718 if (pisteLaskuri > 10000 && Ase== 0)719 { 720 Ase= 1;721 DataStorage.Save<int>( Ase, "ase.xml");851 if (DataStorage.Exists("pistooliOstettu.xml")) 852 pistooliOstettu = DataStorage.Load<int>(pistooliOstettu, "pistooliOstettu.xml"); 853 854 if (pisteLaskuri > 10000 && pistooliOstettu == 0) 855 { 856 pistooliOstettu = 1; 857 DataStorage.Save<int>(pistooliOstettu, "pistooliOstettu.xml"); 722 858 pisteLaskuri.Value -= 10000; 723 859 } 724 else if (Ase== 1)725 { 726 Ase= 0;727 DataStorage.Save<int>( Ase, "ase.xml");860 else if (pistooliOstettu == 1) 861 { 862 pistooliOstettu = 0; 863 DataStorage.Save<int>(pistooliOstettu, "pistooliOstettu.xml"); 728 864 pisteLaskuri.Value += 7000; 729 865 } … … 735 871 736 872 LuoPistelaskuri(); 737 if (DataStorage.Exists("ase2.xml")) 738 Ase2 = DataStorage.Load<int>(Ase2, "ase2.xml"); 739 740 if (pisteLaskuri > 10000 && Ase == 0) 741 { 742 Ase2 = 1; 743 DataStorage.Save<int>(Ase2, "ase2.xml"); 744 pisteLaskuri.Value -= 10000; 745 } 746 else if (Ase2 == 1) 747 { 748 Ase2 = 0; 749 DataStorage.Save<int>(Ase2, "ase.xml"); 750 pisteLaskuri.Value += 7000; 873 if (DataStorage.Exists("haulikkoOstettu.xml")) 874 haulikkoOstettu = DataStorage.Load<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 875 pisteLaskuri.Value += 30000; 876 877 if (pisteLaskuri > 15000 && haulikkoOstettu == 0) 878 { 879 haulikkoOstettu = 1; 880 DataStorage.Save<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 881 pisteLaskuri.Value -= 15000; 882 } 883 else if (haulikkoOstettu == 1) 884 { 885 haulikkoOstettu = 0; 886 DataStorage.Save<int>(haulikkoOstettu, "haulikkoOstettu.xml"); 887 pisteLaskuri.Value += 12000; 751 888 } 752 889 DataStorage.Save<IntMeter>(pisteLaskuri, "pisteet.xml"); … … 757 894 IsPaused = true; 758 895 MultiSelectWindow valikko = new MultiSelectWindow("Pause", 759 "Jatka", "Va likkoon");896 "Jatka", "Vaihda ase", "Valikkoon"); 760 897 valikko.ItemSelected += PainettiinValikonNappia; 761 898 Add(valikko); … … 770 907 case 1: 771 908 IsPaused = false; 909 VaihdaAse(); 910 break; 911 case 2: 912 IsPaused = false; 772 913 Valikko(); 773 914 break; -
2013/23/TopiasT/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1Content/Tasohyppelypeli1Content.contentproj
r3998 r4031 318 318 </Compile> 319 319 </ItemGroup> 320 <ItemGroup> 321 <Compile Include="HaulikkoK.png"> 322 <Name>HaulikkoK</Name> 323 <Importer>TextureImporter</Importer> 324 <Processor>TextureProcessor</Processor> 325 </Compile> 326 </ItemGroup> 327 <ItemGroup> 328 <Compile Include="hahmoH.png"> 329 <Name>hahmoH</Name> 330 <Importer>TextureImporter</Importer> 331 <Processor>TextureProcessor</Processor> 332 </Compile> 333 </ItemGroup> 334 <ItemGroup> 335 <Compile Include="hahmoHA.png"> 336 <Name>hahmoHA</Name> 337 <Importer>TextureImporter</Importer> 338 <Processor>TextureProcessor</Processor> 339 </Compile> 340 </ItemGroup> 320 341 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 321 342 <!-- 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.