- Timestamp:
- 2013-06-28 12:42:00 (10 years ago)
- Location:
- 2013/26/RoopeK/Hypopolis/Hypopolis
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/26/RoopeK/Hypopolis/Hypopolis/Hypopolis/Hypopolis.cs
r4296 r4325 21 21 22 22 List<Label> valikonKohdat; 23 List<PhysicsObject> tasot; 23 24 24 25 private Animation pelaaja_hyppy; … … 26 27 27 28 SoundEffect hyppyAani = LoadSoundEffect("Jump"); 29 SoundEffect valinta = LoadSoundEffect("Select"); 28 30 29 31 PlatformCharacter2 pelaaja; … … 34 36 public override void Begin() 35 37 { 36 38 tasot = new List<PhysicsObject>(); 37 39 // Utility 38 40 SetWindowSize(1024, 768, false); … … 44 46 Mustaruutu.Image = mustaruutu; 45 47 Add(Mustaruutu); 46 Timer.SingleShot(2.0, Aloitus); 47 48 // Efekti 49 rajahdys = new ExplosionSystem(LoadImage("rajahdys"), pMaxMaara); 50 rajahdys.MinLifetime = 0.3; 51 rajahdys.MaxLifetime = 0.8; 52 rajahdys.MinScale = 30.0; 53 rajahdys.MaxScale = 70.0; 54 rajahdys.MinVelocity = 10.0; 55 rajahdys.MaxVelocity = 20.0; 56 Add(rajahdys); 48 Timer.SingleShot(0.5, Aloitus); 57 49 58 50 // Animaatio 59 51 pelaaja_hyppy = LoadAnimation("Hyppy"); 60 52 pelaaja_paikka = LoadAnimation("pelaaja"); 61 53 62 54 } 63 55 64 56 void Aloitus() 65 57 { 66 67 // Musiikki68 MediaPlayer.Play("HypopolisTheme");69 58 70 59 // Teksti … … 76 65 tekstikentta.Text = "HYPOPOLIS_"; 77 66 Add(tekstikentta); 78 Timer.SingleShot(12.0, Phase1); 79 80 } 81 82 void Phase1() 83 { 84 85 Valikko(); 67 Timer.SingleShot(12.0, Valikko); 86 68 87 69 } … … 95 77 Mustaruutu.Image = mustaruutu; 96 78 Add(Mustaruutu, -3); 79 MediaPlayer.Play("HypopolisTheme2"); 97 80 98 81 Mouse.IsCursorVisible = true; … … 100 83 Laskuri(LuoSatunnainenRakennusAlhaalta3); 101 84 Laskuri(LuoSatunnainenRakennusAlhaalta4); 102 Laskuri(LuoSatunnainenRakennusAlhaalta5);103 85 Laskuri(LuoSatunnainenRakennusVasemmalta4); 104 86 … … 145 127 if (Mouse.IsCursorOn(kohta)) 146 128 { 129 valinta.Play(0.3, -0.3, 0.0); 147 130 kohta.TextColor = Color.SlateGray; 148 131 } … … 159 142 160 143 MediaPlayer.Stop(); 144 tasot.Clear(); 161 145 ClearAll(); 162 146 Pelaaja(); … … 175 159 Laskuri(LuoSatunnainenRakennusAlhaalta4); 176 160 Laskuri(LuoSatunnainenRakennusAlhaalta5); 177 161 Laskuri(LuoSatunnainenRakennusYlhaalta1); 162 Laskuri(LuoSatunnainenRakennusYlhaalta2); 163 Laskuri(LuoSatunnainenRakennusYlhaalta3); 164 Laskuri(LuoSatunnainenRakennusYlhaalta4); 165 Laskuri(LuoSatunnainenRakennusYlhaalta5); 166 Laskuri(LuoSatunnainenRakennusYlhaalta6); 167 168 Timer kuolemaAjastin = new Timer(); 169 kuolemaAjastin.Interval = 0.1; 170 kuolemaAjastin.Timeout += TarkastaKuolema; 171 kuolemaAjastin.Start(); 172 173 // Efekti 174 rajahdys = new ExplosionSystem(LoadImage("rajahdys"), pMaxMaara); 175 rajahdys.MinLifetime = 0.3; 176 rajahdys.MaxLifetime = 0.8; 177 rajahdys.MinScale = 30.0; 178 rajahdys.MaxScale = 70.0; 179 rajahdys.MinVelocity = 10.0; 180 rajahdys.MaxVelocity = 20.0; 181 Add(rajahdys); 182 183 } 184 185 void TarkastaKuolema() 186 { 187 bool olioYlhaalla =false; 188 bool olioAlhaalla = false; 189 bool olioVasemmalla = false; 190 bool olioOikealla = false; 191 192 foreach (var olio in GetObjectsAt(pelaaja.Position, pelaaja.Height / 2)) 193 { 194 if (olio == pelaaja) continue; 195 if (olio.X < pelaaja.X) olioVasemmalla = true; 196 if (olio.X > pelaaja.X) olioOikealla = true; 197 if (olio.Y < pelaaja.Y) olioAlhaalla = true; 198 if (olio.Y > pelaaja.Y) olioYlhaalla = true; 199 } 200 201 if ((olioAlhaalla && olioYlhaalla) || (olioVasemmalla && olioOikealla)) 202 { 203 MessageDisplay.Add("Kuolit"); 204 } 205 206 /*int sisallystenMaara = 0; 207 208 for (int i = 0; i < tasot.Count; i++) 209 { 210 //jos pelaaja on tason sisäpuolella, 211 //niin sisallystenmaara++; 212 if (pelaaja.Body.Rectangle.Intersects(tasot[i].Body.Rectangle)) 213 { 214 sisallystenMaara++; 215 } 216 } 217 if(sisallystenMaara > 0) 218 MessageDisplay.Add(sisallystenMaara.ToString());*/ 178 219 } 179 220 … … 248 289 // Poistuminen 249 290 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 250 Keyboard.Listen(Key.Escape, ButtonState. Pressed, Exit, "Lopeta peli");291 Keyboard.Listen(Key.Escape, ButtonState.Down, Valikko, "Lopeta peli"); 251 292 252 293 } … … 261 302 vasenReuna.Color = Color.White; 262 303 Add(vasenReuna); 304 tasot.Add(vasenReuna); 263 305 264 306 Surface oikeaReuna = new Surface(500, 1200); … … 270 312 oikeaReuna.Image = taustakuvareuna; 271 313 Add(oikeaReuna, -2); 314 tasot.Add(oikeaReuna); 272 315 273 316 Surface yläReuna = new Surface(1400, 100); … … 277 320 yläReuna.Color = Color.White; 278 321 Add(yläReuna); 322 tasot.Add(yläReuna); 279 323 280 324 Surface alaReuna = new Surface(1400, 100); … … 285 329 alaReuna.Color = Color.White; 286 330 Add(alaReuna); 331 tasot.Add(alaReuna); 287 332 288 333 Level.AmbientLight = 0.8; … … 300 345 double r2 = RandomGen.NextDouble(100, 100); 301 346 Color vari = RandomGen.NextColor(); 302 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari );347 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(250, 0), rakennus1); 303 348 304 349 } … … 312 357 double r2 = RandomGen.NextDouble(100, 100); 313 358 Color vari = RandomGen.NextColor(); 314 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari );359 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(250, 0), rakennus1); 315 360 316 361 } … … 324 369 double r2 = RandomGen.NextDouble(100, 100); 325 370 Color vari = RandomGen.NextColor(); 326 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari );371 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(250, 0), rakennus1); 327 372 328 373 } … … 336 381 double r2 = RandomGen.NextDouble(100, 100); 337 382 Color vari = RandomGen.NextColor(); 338 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari );383 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(250, 0), rakennus1); 339 384 340 385 } … … 348 393 double r2 = RandomGen.NextDouble(500, 900); 349 394 Color vari = RandomGen.NextColor(); 350 LuoMuoto 2(Shape.Rectangle, x, y, r, r2, vari);395 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, 250), rakennus2); 351 396 352 397 } … … 360 405 double r2 = RandomGen.NextDouble(500, 900); 361 406 Color vari = RandomGen.NextColor(); 362 LuoMuoto 2(Shape.Rectangle, x, y, r, r2, vari);407 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, 250), rakennus2); 363 408 364 409 } … … 372 417 double r2 = RandomGen.NextDouble(500, 900); 373 418 Color vari = RandomGen.NextColor(); 374 LuoMuoto 2(Shape.Rectangle, x, y, r, r2, vari);419 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, 250), rakennus2); 375 420 376 421 } … … 384 429 double r2 = RandomGen.NextDouble(500, 900); 385 430 Color vari = RandomGen.NextColor(); 386 LuoMuoto 2(Shape.Rectangle, x, y, r, r2, vari);431 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, 250), rakennus2); 387 432 388 433 } … … 396 441 double r2 = RandomGen.NextDouble(500, 900); 397 442 Color vari = RandomGen.NextColor(); 398 LuoMuoto2(Shape.Rectangle, x, y, r, r2, vari); 399 400 } 401 402 403 void LuoMuoto(Shape muoto, double x, double y, double sade, double sade2, Color vari) 443 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, 250), rakennus2); 444 445 } 446 447 private void LuoSatunnainenRakennusYlhaalta1() 448 { 449 450 double x = RandomGen.NextDouble(-525, -525); 451 double y = RandomGen.NextDouble(1800, 1800); 452 double r = RandomGen.NextDouble(100, 100); 453 double r2 = RandomGen.NextDouble(500, 900); 454 Color vari = RandomGen.NextColor(); 455 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, -250), rakennus2); 456 457 } 458 459 private void LuoSatunnainenRakennusYlhaalta2() 460 { 461 462 double x = RandomGen.NextDouble(-250, -250); 463 double y = RandomGen.NextDouble(1800, 1800); 464 double r = RandomGen.NextDouble(100, 100); 465 double r2 = RandomGen.NextDouble(500, 900); 466 Color vari = RandomGen.NextColor(); 467 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, -250), rakennus2); 468 469 } 470 471 private void LuoSatunnainenRakennusYlhaalta3() 472 { 473 474 double x = RandomGen.NextDouble(-100, -100); 475 double y = RandomGen.NextDouble(1800, 1800); 476 double r = RandomGen.NextDouble(100, 100); 477 double r2 = RandomGen.NextDouble(500, 900); 478 Color vari = RandomGen.NextColor(); 479 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, -250), rakennus2); 480 481 } 482 483 private void LuoSatunnainenRakennusYlhaalta4() 484 { 485 486 double x = RandomGen.NextDouble(-250, -250); 487 double y = RandomGen.NextDouble(1800, 1800); 488 double r = RandomGen.NextDouble(100, 100); 489 double r2 = RandomGen.NextDouble(500, 900); 490 Color vari = RandomGen.NextColor(); 491 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, -250), rakennus2); 492 493 } 494 495 private void LuoSatunnainenRakennusYlhaalta5() 496 { 497 498 double x = RandomGen.NextDouble(-350, -350); 499 double y = RandomGen.NextDouble(1800, 1800); 500 double r = RandomGen.NextDouble(100, 100); 501 double r2 = RandomGen.NextDouble(500, 900); 502 Color vari = RandomGen.NextColor(); 503 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, -250), rakennus2); 504 505 } 506 507 private void LuoSatunnainenRakennusYlhaalta6() 508 { 509 510 double x = RandomGen.NextDouble(-400, -400); 511 double y = RandomGen.NextDouble(1800, 1800); 512 double r = RandomGen.NextDouble(100, 100); 513 double r2 = RandomGen.NextDouble(500, 900); 514 Color vari = RandomGen.NextColor(); 515 LuoMuoto(Shape.Rectangle, x, y, r, r2, vari, new Vector(0, -250), rakennus2); 516 517 } 518 519 520 void LuoMuoto(Shape muoto, double x, double y, double sade, double sade2, Color vari, Vector nopeus, Image kuva) 404 521 { 405 522 … … 409 526 olio.Y = y; 410 527 olio.X = x; 411 olio.Move(n ew Vector(250, 0));528 olio.Move(nopeus); 412 529 olio.MakeStatic(); 413 530 olio.Tag = "vasenSeinä"; 414 olio.Image = rakennus1;531 olio.Image = kuva; 415 532 olio.CollisionIgnoreGroup = 1; 416 533 olio.IgnoresCollisionResponse = false; 417 534 Add(olio); 418 419 } 420 421 void LuoMuoto2(Shape muoto, double x, double y, double sade, double sade2, Color vari) 422 { 423 424 PhysicsObject olio2 = new PhysicsObject(sade, sade2); 425 olio2.Shape = muoto; 426 olio2.Color = Color.OrangeRed; 427 olio2.Y = y; 428 olio2.X = x; 429 olio2.Move(new Vector(0, 250)); 430 olio2.MakeStatic(); 431 olio2.Tag = "alaSeinä"; 432 olio2.CollisionIgnoreGroup = 1; 433 olio2.Image = rakennus2; 434 olio2.IgnoresCollisionResponse = false; 435 Add(olio2); 436 437 } 535 tasot.Add(olio); 536 } 537 538 //void LuoMuoto2(Shape muoto, double x, double y, double sade, double sade2, Color vari) 539 //{ 540 541 // PhysicsObject olio2 = new PhysicsObject(sade, sade2); 542 // olio2.Shape = muoto; 543 // olio2.Color = Color.OrangeRed; 544 // olio2.Y = y; 545 // olio2.X = x; 546 // olio2.Move(new Vector(0, 250)); 547 // olio2.MakeStatic(); 548 // olio2.Tag = "alaSeinä"; 549 // olio2.CollisionIgnoreGroup = 1; 550 // olio2.Image = rakennus2; 551 // olio2.IgnoresCollisionResponse = false; 552 // Add(olio2); 553 554 //} 555 556 //void LuoMuoto3(Shape muoto, double x, double y, double sade, double sade2, Color vari) 557 //{ 558 559 // PhysicsObject olio3 = new PhysicsObject(sade, sade2); 560 // olio3.Shape = muoto; 561 // olio3.Color = Color.OrangeRed; 562 // olio3.Y = y; 563 // olio3.X = x; 564 // olio3.Move(new Vector(0, -250)); 565 // olio3.MakeStatic(); 566 // olio3.Tag = "yläSeinä"; 567 // olio3.CollisionIgnoreGroup = 1; 568 // olio3.Image = rakennus2; 569 // olio3.IgnoresCollisionResponse = false; 570 // Add(olio3); 571 572 //} 438 573 } -
2013/26/RoopeK/Hypopolis/Hypopolis/HypopolisContent/HypopolisContent.contentproj
r4296 r4325 44 44 <Reference Include="TextFileContentExtension" /> 45 45 <Reference Include="AnimationExtension" /> 46 </ItemGroup>47 <ItemGroup>48 <Compile Include="HypopolisTheme.mp3">49 <Name>HypopolisTheme</Name>50 <Importer>Mp3Importer</Importer>51 <Processor>SongProcessor</Processor>52 </Compile>53 46 </ItemGroup> 54 47 <ItemGroup> … … 122 115 </Compile> 123 116 </ItemGroup> 117 <ItemGroup> 118 <Compile Include="HypopolisTheme2.mp3"> 119 <Name>HypopolisTheme2</Name> 120 <Importer>Mp3Importer</Importer> 121 <Processor>SongProcessor</Processor> 122 </Compile> 123 </ItemGroup> 124 <ItemGroup> 125 <Compile Include="Select.wav"> 126 <Name>Select</Name> 127 <Importer>WavImporter</Importer> 128 <Processor>SoundEffectProcessor</Processor> 129 </Compile> 130 </ItemGroup> 124 131 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 125 132 <!-- 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.