- Timestamp:
- 2012-06-29 10:59:02 (11 years ago)
- Location:
- 2012/26/FanniO/Sailtilyousink/Sailtilyousink
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/FanniO/Sailtilyousink/Sailtilyousink/Sailtilyousink/Sailtilyousink.cs
r3327 r3381 10 10 { 11 11 Image veneenKuva = LoadImage("vene"); 12 Image veneenKuva2 = LoadImage("vene2"); 12 13 Image kivenKuva = LoadImage("kivi"); 13 14 Image kuusenKuva = LoadImage("kuusi"); … … 24 25 Vector nopeusylos = new Vector(0, 400); 25 26 Vector nopeusalas = new Vector(0, -400); 26 Vector nopeussuora =new Vector(0,0);27 27 Vector nopeussuora = new Vector(0, 0); 28 28 29 29 30 PhysicsObject vene1; … … 42 43 IntMeter merimailit; 43 44 IntMeter loppupoint; 45 IntMeter loppupoint2; 44 46 IntMeter pisteet2; 45 47 IntMeter merimailit2; 46 47 48 ScoreList toplista = new ScoreList(5,false,0); 49 50 51 48 49 bool tuplapeli = false; 50 51 ScoreList toplista = new ScoreList(5, false, 0); 52 53 54 52 55 53 56 … … 55 58 { 56 59 if (DataStorage.Exists("point.xml")) 57 toplista =DataStorage.Load<ScoreList>(toplista, "point.xml");60 toplista = DataStorage.Load<ScoreList>(toplista, "point.xml"); 58 61 IsMouseVisible = true; 59 MultiSelectWindow alkuvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Aloita peli","Kaksinpeli", "Lopeta"); 62 alkuvalikko(); 63 64 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 65 66 } 67 68 void alkuvalikko() 69 { 70 ClearAll(); 71 MultiSelectWindow alkuvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Aloita peli", "Kaksinpeli", "Lopeta"); 60 72 Add(alkuvalikko); 61 73 alkuvalikko.ItemSelected += Painettiinvalikkonappia; 62 74 alkuvalikko.Color = Color.LightBlue; 63 75 64 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 65 66 } 67 void Painettiinvalikkonappia(int valinta) 68 { 69 switch (valinta) 70 { 71 case 0: 72 vene1=purjeVene(0,0); 76 } 77 78 79 void aloitapeli(bool kaksinpeli) 80 { 81 tuplapeli = kaksinpeli; 82 83 vene1 = purjeVene(0, 0,veneenKuva); 73 84 lisaakivia(); 74 85 ajastin(); … … 81 92 asetaohjaimet(); 82 93 lisaaEmittari(); 83 84 94 if (kaksinpeli) 95 { 96 vene2 = purjeVene(0, 0,veneenKuva2); 97 98 asetaveneen2ohjaimet(); 99 100 pisteet2 = new IntMeter(0); 101 Label pistenaytto2 = new Label(); 102 pistenaytto2.X = -400; 103 pistenaytto2.Y = -200; 104 pistenaytto2.TextColor = Color.Blue; 105 pistenaytto2.Color = Color.Aqua; 106 pistenaytto2.Title = "Astridin Pisteet"; 107 pistenaytto2.BindTo(pisteet2); 108 Add(pistenaytto2); 109 110 merimailit2 = new IntMeter(0); 111 merimailit2.MaxValue = 100; 112 merimailit2.UpperLimit += vene2.Destroy; 113 Label mailinaytto2 = new Label(); 114 mailinaytto2.X = -400; 115 mailinaytto2.Y = -250; 116 mailinaytto2.TextColor = Color.DarkBlue; 117 mailinaytto2.Color = Color.Aqua; 118 mailinaytto2.Title = "Astridin NM"; 119 mailinaytto2.BindTo(merimailit2); 120 Add(mailinaytto2); 121 elamamittari2 = new DoubleMeter(10); 122 elamamittari2.MaxValue = 10; 123 ProgressBar elamapalkki2 = new ProgressBar(150, 15); 124 elamapalkki2.BindTo(elamamittari2); 125 elamapalkki2.BarColor = Color.Green; 126 elamapalkki2.BorderColor = Color.Red; 127 elamapalkki2.Color = Color.Red; 128 elamapalkki2.X = Screen.Left + 150; 129 elamapalkki2.Y = Screen.Bottom + 200; 130 Add(elamapalkki2); 131 elamamittari2.LowerLimit += elamaloppui; 132 } 133 } 134 135 void Painettiinvalikkonappia(int valinta) 136 { 137 switch (valinta) 138 { 139 case 0: 140 aloitapeli(false); 85 141 break; 86 142 87 143 case 1: 88 vene1=purjeVene(0,0); 89 vene2=purjeVene(0,0); 90 lisaakivia(); 91 ajastin(); 92 lisaarengas(); 93 lisaamatala(); 94 lisaaMvene(); 95 LuoKentta(); 96 lisaaPlaskin(); 97 lisaaMlaskin(); 98 asetaohjaimet(); 99 lisaaEmittari(); 100 asetaveneen2ohjaimet(); 101 102 103 104 pisteet2 = new IntMeter(0); 105 Label pistenaytto2 = new Label(); 106 pistenaytto2.X = -400; 107 pistenaytto2.Y = -200; 108 pistenaytto2.TextColor = Color.Blue; 109 pistenaytto2.Color = Color.Aqua; 110 pistenaytto2.Title = "Pisteet"; 111 pistenaytto2.BindTo(pisteet); 112 Add(pistenaytto2); 113 114 merimailit2 = new IntMeter(0); 115 merimailit2.MaxValue = 100; 116 merimailit2.UpperLimit += vene2.Destroy; 117 Label mailinaytto2 = new Label(); 118 mailinaytto2.X = -400; 119 mailinaytto2.Y = -250; 120 mailinaytto2.TextColor = Color.DarkBlue; 121 mailinaytto2.Color = Color.Aqua; 122 mailinaytto2.Title = "NM"; 123 mailinaytto2.BindTo(merimailit2); 124 Add(mailinaytto2); 125 elamamittari2 = new DoubleMeter(10); 126 elamamittari2.MaxValue = 10; 127 ProgressBar elamapalkki2 = new ProgressBar(150, 15); 128 elamapalkki2.BindTo(elamamittari2); 129 elamapalkki2.BarColor = Color.Green; 130 elamapalkki2.BorderColor = Color.Red; 131 elamapalkki2.Color = Color.Red; 132 elamapalkki2.X = Screen.Left +150; 133 elamapalkki2.Y = Screen.Bottom +200; 134 Add(elamapalkki2); 135 elamamittari2.LowerLimit += elamaloppui; 136 137 138 144 aloitapeli(true); 139 145 break; 140 146 case 2: … … 145 151 } 146 152 } 147 PhysicsObject purjeVene(double x,double y) 148 { 149 PhysicsObject vene =new PhysicsObject(veneenKuva); 153 154 PhysicsObject purjeVene(double x, double y, Image veneenvari ) 155 { 156 PhysicsObject vene = new PhysicsObject(veneenvari); 150 157 vene.Width = 40; 151 158 vene.Height = 90; 152 vene.Velocity = new Vector(0, 0);159 vene.Velocity = new Vector(0, 0); 153 160 Add(vene); 154 161 AddCollisionHandler(vene, "hyvis", pistelisaa); 155 162 AddCollisionHandler(vene, "este", veneosuu); 156 163 AddCollisionHandler(vene, "Aarkku", pistelisaa); 157 AddCollisionHandler(vene, "pluselama", elamalisaa);164 AddCollisionHandler(vene, "pluselama", elamalisaa); 158 165 return (vene); 159 166 160 167 } 168 161 169 void LuoKentta() 162 170 { 163 Surface vasenreuna = Surface.CreateLeft(Level, 300,100,20);171 Surface vasenreuna = Surface.CreateLeft(Level, 300, 100, 20); 164 172 vasenreuna.Color = Color.LightGreen; 165 173 vasenreuna.Tag = "este"; … … 173 181 Level.BackgroundColor = Color.Aqua; 174 182 175 176 177 } 183 184 185 } 186 178 187 void lisaakivia() 179 188 { 180 189 kivi = PhysicsObject.CreateStaticObject(kivenKuva); 181 kivi.Y = 500;182 kivi.X =RandomGen.NextDouble(Level.Left, Level.Right);190 kivi.Y = 500; 191 kivi.X = RandomGen.NextDouble(Level.Left, Level.Right); 183 192 kivi.Velocity = new Vector(0, -100); 184 193 kivi.Tag = "este"; … … 188 197 { 189 198 Timer ajastin = new Timer(); 190 ajastin.Interval = 2;199 ajastin.Interval = 3; 191 200 ajastin.Timeout += lisaakivia; 192 201 ajastin.Start(); 193 202 Timer ajastin2 = new Timer(); 194 ajastin2.Interval = 6;203 ajastin2.Interval = 7; 195 204 ajastin2.Timeout += lisaarengas; 196 205 ajastin2.Start(); … … 204 213 ajastin4.Start(); 205 214 Timer ajastin5 = new Timer(); 206 ajastin5.Interval = 1 5;215 ajastin5.Interval = 11; 207 216 ajastin5.Timeout += lisaaarkku; 208 217 ajastin5.Start(); 209 218 Timer ajastin6 = new Timer(); 210 ajastin6.Interval = 8;219 ajastin6.Interval = 9.5; 211 220 ajastin6.Timeout += lisaamatala; 212 221 ajastin6.Start(); 213 222 Timer ajastin7 = new Timer(); 214 ajastin7.Interval = 8;223 ajastin7.Interval = 13; 215 224 ajastin7.Timeout += lisaavasara; 216 225 ajastin7.Start(); 217 226 Timer ajastin8 = new Timer(); 218 ajastin8.Interval = 12;227 ajastin8.Interval = 7; 219 228 ajastin8.Timeout += lisaakala; 220 229 ajastin8.Start(); … … 223 232 ajastin9.Timeout += lisaaMvene; 224 233 ajastin9.Start(); 225 226 234 235 227 236 } 228 237 void lisaarengas() … … 280 289 { 281 290 Mvene = PhysicsObject.CreateStaticObject(Mveneenkuva); 282 Mvene.Y = RandomGen.NextDouble(0, Level.Top);283 Mvene.X = Level.Left;291 Mvene.Y = RandomGen.NextDouble(0, Level.Top); 292 Mvene.X = Level.Left; 284 293 Mvene.Velocity = new Vector(200, -100); 285 294 Mvene.Tag = "este"; … … 299 308 void pistelisaa(PhysicsObject vene, PhysicsObject rengas) 300 309 { 301 pisteet.Value+=10; 310 if (vene == vene1) 311 { 312 pisteet.Value += 10; 313 } 314 if (vene == vene2) 315 { 316 pisteet2.Value += 10; 317 } 302 318 rengas.Destroy(); 303 304 } 305 void pistelisaa2(PhysicsObject vene2, PhysicsObject rengas) 306 { 307 pisteet2.Value += 10; 308 rengas.Destroy(); 309 310 } 319 320 } 321 311 322 void pistelisaaA(PhysicsObject vene, PhysicsObject arkku) 312 323 { 313 if (vene == vene1) pisteet.Value += 30;324 if (vene == vene1) pisteet.Value += 30; 314 325 if (vene == vene2) pisteet2.Value += 30; 315 326 316 327 arkku.Destroy(); 317 328 } 318 329 319 330 void elamalisaa(PhysicsObject vene, PhysicsObject vasara) 320 331 { … … 322 333 { 323 334 elamamittari.Value += 1; 324 325 } 326 if (vene == vene2) 335 336 } 337 if (vene == vene2) 338 { 327 339 elamamittari2.Value += 1; 340 } 328 341 vasara.Destroy(); 329 342 330 343 } 331 344 332 345 void lisaaPlaskin() 333 346 { … … 338 351 pistenaytto.TextColor = Color.Blue; 339 352 pistenaytto.Color = Color.Aqua; 340 pistenaytto.Title = " Pisteet";353 pistenaytto.Title = "Augustan Pisteet"; 341 354 342 355 pistenaytto.BindTo(pisteet); 343 356 Add(pistenaytto); 344 357 } 345 358 346 359 void lisaaMlaskin() 347 360 { … … 354 367 mailinaytto.TextColor = Color.DarkBlue; 355 368 mailinaytto.Color = Color.Aqua; 356 mailinaytto.Title = " NM";369 mailinaytto.Title = "Augustan NM"; 357 370 358 371 359 372 mailinaytto.BindTo(merimailit); 360 373 Add(mailinaytto); 361 362 363 364 365 366 } 367 374 375 376 377 378 379 } 380 368 381 void lisaaEmittari() 369 382 { 370 383 371 384 elamamittari = new DoubleMeter(10); 372 385 elamamittari.MaxValue = 10; 373 386 ProgressBar elamapalkki = new ProgressBar(150, 15); 374 387 elamapalkki.BindTo(elamamittari); 375 elamapalkki.BarColor =Color.Green;388 elamapalkki.BarColor = Color.Green; 376 389 elamapalkki.BorderColor = Color.Red; 377 390 elamapalkki.Color = Color.Red; 378 elamapalkki.X = Screen.Right -150;379 elamapalkki.Y = Screen.Bottom+200;391 elamapalkki.X = Screen.Right - 150; 392 elamapalkki.Y = Screen.Bottom + 200; 380 393 Add(elamapalkki); 381 394 elamamittari.LowerLimit += elamaloppui; 382 383 384 385 } 386 395 396 397 398 } 399 387 400 void asetaohjaimet() 388 401 { … … 397 410 Keyboard.Listen(Key.Down, ButtonState.Released, asetanopeus, null, vene1, Vector.Zero); 398 411 Keyboard.Listen(Key.A, ButtonState.Pressed, suovene, "pelaaja, suorista vene", vene1); 399 412 400 413 } 401 414 void asetaveneen2ohjaimet() … … 418 431 vene.AngularVelocity = 0; 419 432 } 420 void asetanopeus(PhysicsObject vene, Vector nopeus)421 { 422 if ((nopeus.Y<0)&&(vene.Bottom<Level.Bottom))433 void asetanopeus(PhysicsObject vene, Vector nopeus) 434 { 435 if ((nopeus.Y < 0) && (vene.Bottom < Level.Bottom)) 423 436 { 424 437 vene.Velocity = Vector.Zero; 425 438 return; 426 439 } 427 428 429 if ((nopeus.Y>0)&&(vene.Top>Level.Top))440 441 442 if ((nopeus.Y > 0) && (vene.Top > Level.Top)) 430 443 { 431 444 vene.Velocity = Vector.Zero; … … 436 449 437 450 } 438 451 439 452 void elamaloppui() 440 453 { 441 454 442 455 MessageDisplay.Add("Veneesi upposi!"); 443 if (elamamittari.Value==0)444 { 445 456 if (elamamittari.Value == 0) 457 { 458 446 459 ClearAll(); 447 naytavalikko (); 460 naytavalikko(); 461 } 462 if (elamamittari2 != null) 463 { 464 if (elamamittari2.Value == 0) 465 { 466 ClearAll(); 467 naytavalikko(); 468 } 448 469 } 449 470 } 450 471 void veneosuu(PhysicsObject vene, PhysicsObject kivi) 451 472 { 452 if (vene==vene1)453 elamamittari.Value-=1;473 if (vene == vene1) 474 elamamittari.Value -= 1; 454 475 if (vene == vene2) 455 476 elamamittari2.Value -= 1; 456 477 457 478 } 458 479 459 480 void lisaamaili() 460 481 { 461 482 merimailit.Value += 1; 462 if (merimailit2 != null) merimailit2.Value += 1;483 if (merimailit2 != null) merimailit2.Value += 1; 463 484 464 485 } … … 466 487 { 467 488 MessageDisplay.Add("Onnittelut! Purjehdit regatan loppuun!"); 468 Exit();469 489 naytavalikko(); 490 470 491 471 492 } … … 473 494 void naytavalikko() 474 495 { 475 MultiSelectWindow loppuvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Al oita peli", "Parhaat pisteet", "Lopeta peli","Loppupisteet");496 MultiSelectWindow loppuvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Alkuvalikko", "Parhaat pisteet", "Lopeta peli", "Loppupisteet"); 476 497 Add(loppuvalikko); 477 498 loppuvalikko.ItemSelected += painettiinnuppia; … … 485 506 { 486 507 case 0: 487 purjeVene(0,0); 488 lisaakivia(); 489 ajastin(); 490 lisaarengas(); 491 lisaamatala(); 492 lisaaMvene(); 493 LuoKentta(); 494 lisaaPlaskin(); 495 lisaaMlaskin(); 496 asetaohjaimet(); 497 lisaaEmittari(); 498 499 508 alkuvalikko(); 509 510 500 511 break; 501 512 case 1: … … 511 522 break; 512 523 case 3: 513 Label mailit = new Label(); 514 mailit.X = 0; 515 mailit.Y = 300; 516 mailit.Title = "Merimalit yhteensä"; 517 Add(mailit); 518 519 mailit.BindTo(merimailit); 520 521 Label pointit = new Label(); 522 pointit.X = 0; 523 pointit.Y=200; 524 pointit.Title = "Pisteet yhteensä"; 525 Add(pointit); 526 pointit.BindTo(pisteet); 527 528 loppupoint = new IntMeter(0); 529 loppupoint.Value = merimailit.Value * 10 + pisteet.Value; 530 Label Lopulliset = new Label(); 531 Lopulliset.X = 0; 532 Lopulliset.Y = 100; 533 Lopulliset.TextColor = Color.Brown; 534 Lopulliset.Title = "Loppupisteet yhteensä"; 535 Add(Lopulliset); 536 Lopulliset.BindTo(loppupoint); 537 538 MultiSelectWindow loppuPisteetvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Lopeta"); 539 Add(loppuPisteetvalikko); 540 loppuPisteetvalikko.ItemSelected += painettiinvalikonnapikkaa; 541 loppuPisteetvalikko.Color = Color.DarkBlue; 524 525 Label mailit = new Label(); 526 mailit.X = 0; 527 mailit.Y = 300; 528 mailit.TextColor = Color.Blue; 529 mailit.Title = "Augustan merimalit yhteensä"; 530 Add(mailit); 531 532 mailit.BindTo(merimailit); 533 534 Label pointit = new Label(); 535 pointit.X = 0; 536 pointit.Y = 200; 537 pointit.TextColor = Color.Blue; 538 pointit.Title = "Augustan pisteet yhteensä"; 539 Add(pointit); 540 pointit.BindTo(pisteet); 541 542 loppupoint = new IntMeter(0); 543 loppupoint.Value = merimailit.Value * 10 + pisteet.Value; 544 Label Lopulliset = new Label(); 545 Lopulliset.X = 0; 546 Lopulliset.Y = 100; 547 Lopulliset.TextColor = Color.Blue; 548 Lopulliset.Title = "Augustan loppupisteet yhteensä"; 549 Add(Lopulliset); 550 Lopulliset.BindTo(loppupoint); 551 552 MultiSelectWindow loppuPisteetvalikko = new MultiSelectWindow("Sail 'Til You Sink", "Lopeta", "Loppuvalikko"); 553 Add(loppuPisteetvalikko); 554 loppuPisteetvalikko.ItemSelected += painettiinvalikonnapikkaa; 555 loppuPisteetvalikko.Color = Color.DarkBlue; 556 557 558 559 if(tuplapeli==true) 560 { 561 562 Label mailit2 = new Label(); 563 mailit2.X = 0; 564 mailit2.Y = 350; 565 mailit2.TextColor = Color.Red; 566 mailit2.Title = "Astridin merimalit yhteensä"; 567 Add(mailit2); 568 569 mailit2.BindTo(merimailit2); 570 571 Label pointit2 = new Label(); 572 pointit2.X = 0; 573 pointit2.Y = 250; 574 pointit2.TextColor = Color.Red; 575 pointit2.Title = "Astridin pisteet yhteensä"; 576 Add(pointit2); 577 pointit2.BindTo(pisteet2); 578 579 loppupoint2 = new IntMeter(0); 580 loppupoint2.Value = merimailit2.Value * 10 + pisteet2.Value; 581 Label Lopulliset2 = new Label(); 582 Lopulliset2.X = 0; 583 Lopulliset2.Y = 150; 584 Lopulliset2.TextColor = Color.Red; 585 Lopulliset2.Title = "Astridin loppupisteet yhteensä"; 586 Add(Lopulliset2); 587 Lopulliset2.BindTo(loppupoint2); 588 if (pisteet2.Value > pisteet.Value) 589 { 590 Label astridvoitti = new Label(); 591 astridvoitti.X = 200; 592 astridvoitti.Y = 200; 593 astridvoitti.Title="Astrid voitti!"; 594 Add(astridvoitti); 595 } 596 597 MultiSelectWindow loppuPisteetvalikko2 = new MultiSelectWindow("Sail 'Til You Sink", "Lopeta", "Loppuvalikko"); 598 Add(loppuPisteetvalikko2); 599 loppuPisteetvalikko2.ItemSelected += painettiinvalikonnapikkaa; 600 loppuPisteetvalikko2.Color = Color.DarkBlue; 601 } 542 602 543 603 break; … … 554 614 Exit(); 555 615 break; 556 616 case 1: 617 ClearAll(); 618 naytavalikko(); 619 break; 620 557 621 } 558 622 } … … 577 641 } 578 642 } 579 643 580 644 } -
2012/26/FanniO/Sailtilyousink/Sailtilyousink/SailtilyousinkContent/SailtilyousinkContent.contentproj
r3327 r3381 121 121 </Compile> 122 122 </ItemGroup> 123 <ItemGroup> 124 <Compile Include="vene2.png"> 125 <Name>vene2</Name> 126 <Importer>TextureImporter</Importer> 127 <Processor>TextureProcessor</Processor> 128 </Compile> 129 </ItemGroup> 123 130 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 124 131 <!-- 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.