- Timestamp:
- 2011-06-10 11:35:45 (12 years ago)
- Location:
- 2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Peli.cs
r1830 r1879 7 7 using Jypeli.Widgets; 8 8 9 class Nappi : PhysicsObject 10 { 11 public char Merkki; 12 13 public Nappi(double leveys, double korkeus) 14 : base(leveys, korkeus) 15 { 16 MakeStatic(); 17 } 18 } 19 20 9 21 public class Peli : PhysicsGame 10 22 { … … 14 26 15 27 IntMeter pisteLaskuri; 28 Timer pisteAikaLaskuri; 16 29 17 30 List<Label> ValikonKohdat; … … 29 42 MediaPlayer.Play("Musiikki"); 30 43 MediaPlayer.IsRepeating = true; 44 } 45 46 void AikaLoppui(Timer ajastin) 47 { 48 ValikonKohdat = new List<Label>(); 49 50 if (pisteLaskuri.Value > 30) 51 { 52 ajastin.Stop(); 53 return; 54 } 55 56 Label kohta4 = new Label("Rahnaa tuli justiin sopivasti!"); 57 kohta4.Position = new Vector(0, 0); 58 kohta4.TextColor = RandomGen.NextColor(); 59 ValikonKohdat.Add(kohta4); 60 ajastin.Stop(); 61 62 Timer.SingleShot(3, Valikko); 63 64 foreach (Label Valikonkohta in ValikonKohdat) 65 Add(Valikonkohta); 31 66 } 32 67 … … 58 93 Timer.SingleShot(1.5, Jee.Destroy); 59 94 Timer.SingleShot(2.0, Aloota); 95 nappejaVastaavatAjastimet.Clear(); 60 96 } 61 97 … … 124 160 LuoLaskuri(); 125 161 126 pisteLaskuri.MaxValue = 2265;162 pisteLaskuri.MaxValue = 700; 127 163 pisteLaskuri.UpperLimit += laskuriYlarajassa; 128 164 … … 188 224 { 189 225 ClearAll(); 226 nappejaVastaavatAjastimet.Clear(); 190 227 Level.Background.CreateGradient (Color.DarkGreen, Color.Black); 191 228 ValikonKohdat = new List<Label>(); … … 265 302 kentta2['q'] = lisaaNappi_q; 266 303 kentta2['Q'] = lisaaOviQ; 304 kentta2['e'] = lisaaNappi_e; 305 kentta2['E'] = lisaaOviE; 306 kentta2['r'] = lisaaNappi_r; 307 kentta2['R'] = lisaaOviR; 308 kentta2['t'] = lisaaNappi_t; 309 kentta2['T'] = lisaaOviT; 310 kentta2['^'] = lisaaIlkea; 267 311 kentta2.Insert(RUUDUN_KOKO, RUUDUN_KOKO); 268 312 Level.CreateBorders(); … … 275 319 { 276 320 nappejaVastaavatOvet.Add(c, new List<PhysicsObject>()); 321 } 322 323 for (char c = 'a'; c < 'z'; c++) 324 { 325 Timer sulkemisAjastin = new Timer(); 326 sulkemisAjastin.Interval = 3; 327 nappejaVastaavatAjastimet.Add(c, sulkemisAjastin); 277 328 } 278 329 } … … 324 375 return lisaaNappi('q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 325 376 } 377 PhysicsObject lisaaNappi_e() 378 { 379 return lisaaNappi('e', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 380 } 381 PhysicsObject lisaaNappi_r() 382 { 383 return lisaaNappi('r', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 384 } 385 PhysicsObject lisaaNappi_t() 386 { 387 return lisaaNappi('t', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO); 388 } 326 389 327 390 PhysicsObject lisaaNappi(char merkki, Color c, double x, double y) 328 391 { 329 PhysicsObject nappi = PhysicsObject.CreateStaticObject(x, y);392 Nappi nappi = new Nappi(x, y); 330 393 nappi.Color = c; 331 nappi.Tag = merkki; 394 nappi.Merkki = merkki; 395 //ovetSaaAvata.Add(nappi, true); 332 396 return nappi; 333 397 } 334 398 335 399 Dictionary<char, List<PhysicsObject>> nappejaVastaavatOvet = new Dictionary<char, List<PhysicsObject>>(); 400 Dictionary<char, Timer> nappejaVastaavatAjastimet = new Dictionary<char, Timer>(); 336 401 337 402 PhysicsObject lisaaOviK() … … 350 415 { 351 416 return lisaaOvi('Q', RandomGen.NextColor(), RUUDUN_KOKO, RUUDUN_KOKO + 20); 417 } 418 PhysicsObject lisaaOviE() 419 { 420 return lisaaOvi('E', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 421 } 422 PhysicsObject lisaaOviR() 423 { 424 return lisaaOvi('R', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 425 } 426 PhysicsObject lisaaOviT() 427 { 428 return lisaaOvi('T', Color.Brown, RUUDUN_KOKO, RUUDUN_KOKO / 2 + 5); 352 429 } 353 430 … … 409 486 pisteLaskuri.Value += 5; 410 487 kohde.Destroy(); 488 489 pisteAikaLaskuri = new Timer(); 490 491 if (pisteLaskuri.Value == 30) 492 { 493 pisteAikaLaskuri.Interval = 1; 494 pisteAikaLaskuri.Trigger += AikaLoppui; 495 pisteAikaLaskuri.Start(); 496 } 411 497 } 412 498 … … 416 502 } 417 503 418 else if (kohde.Tag.ToString().Length == 1 && char.IsLower(kohde.Tag.ToString()[0])) 419 { 420 char napinMerkki = kohde.Tag.ToString()[0]; 421 List<PhysicsObject> ovet = nappejaVastaavatOvet[napinMerkki]; 422 foreach (var ovi in ovet) 504 else if (kohde is Nappi) 505 { 506 Nappi nappi = (Nappi)kohde; 507 508 AvaaOvet(nappi); 509 510 Timer sulkemisAjastin = nappejaVastaavatAjastimet[nappi.Merkki]; 511 512 if (! sulkemisAjastin.Enabled) 423 513 { 424 TuhoaOvi(ovi); 425 Timer.SingleShot(2, delegate() { PalautaOvet(ovet); }); 514 sulkemisAjastin.Tag = nappi; 515 sulkemisAjastin.Trigger += PalautaOvet; 516 sulkemisAjastin.Start(1); 426 517 } 427 518 } 428 519 } 520 521 void PalautaOvet(Timer ajastin) 522 { 523 ajastin.Trigger -= PalautaOvet; 524 Nappi nappi = (Nappi)ajastin.Tag; 525 PalautaOvet(nappi); 526 } 527 528 void AvaaOvet(Nappi nappi) 529 { 530 List<PhysicsObject> ovet = nappejaVastaavatOvet[nappi.Merkki]; 531 foreach (var ovi in ovet) 532 { 533 TuhoaOvi(ovi); 534 } 535 } 429 536 void TuhoaOvi(PhysicsObject ovi) 430 537 { 431 538 ovi.IsVisible = false; 432 ovi.IgnoresCollisionResponse = true; 433 } 434 void PalautaOvet(List<PhysicsObject> ovet) 539 Remove(ovi); 540 } 541 542 void PalautaOvet(Nappi nappi) 543 { 544 List<PhysicsObject> ovet = nappejaVastaavatOvet[nappi.Merkki]; 545 PalautaOvet(nappi, ovet); 546 } 547 548 void PalautaOvet(PhysicsObject nappi, List<PhysicsObject> ovet) 435 549 { 436 550 foreach (PhysicsObject ovi in ovet) 437 551 { 438 552 ovi.IsVisible = true; 439 ovi.IgnoresCollisionResponse = false;553 Add(ovi); 440 554 } 441 555 } -
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/kentta1.txt
r1830 r1879 19 19 ********************** 20 20 ********************** 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 21 ********************** 22 ********************** 23 ********************** 24 ********************** 25 ********************** 26 ********************** 27 ********************** 28 ********************** 29 ********************** 30 ********************** 31 ********************** 32 ********************** 33 ********************** 34 ********************** 35 ********************** 36 ********************** 37 ********************** 38 ********************** 39 ********************** 40 ********************** 41 ********************** 42 ********************** 43 ********************** 44 ********************** 45 ********************** 46 ********************** 47 ********************** 48 ********************** 49 ********************** 50 ********************** 51 ********************** 52 ********************** 53 ********************** 54 ********************** 55 ********************** 56 ********************** 57 ********************** 58 ********************** 59 ********************** 60 ********************** 61 ********************** 62 ********************** 63 ********************** 64 ********************** 54 65 55 66 … … 79 90 * * * * 80 91 ## ## ## ## 81 ^^92 82 93 * * * * 83 94 ## ## ## ## ## -
2011/23/mikmatla/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/kenttä2.txt
r1830 r1879 1 2 3 4 5 6 7 8 9 10 11 12 13 ################################################################################################## 14 #########################################################################################q######### 15 I #### 16 I l #### 17 I l ###### 18 I ###Q##LLL############ 19 I ### # ##**########## 20 I ### # ################# 21 I ### # # 22 * * #i########kKKKKKkkKKKKkkKKKKKKk########## **# # 23 # # ***# # ####### 24 # # ****# # ####***** 25 ##****************## ## # ######## # ######******* 26 ###****************### # #######********** 27 N ####****************##### # ########************ 28 ####################################################################################################################### 1 # ######################### # 2 #T^^^^^^^^^^^^^^^^^^^^^^^^^T # 3 # TTTTTTTTTTTTTTTTTTTTTTTTT ******************* # 4 #E*************************E ******************* # 5 # EEEEEEEEEEEEEEEEEEEEEEEEE ******************* # 6 #R*************************R #*******************# #^# # 7 # RRRRRRRRRRRRRRRRRRRRRRRRR #*******************# #^# # 8 # #QQQQQQQQQQQQQQQQQQQ# #^# # 9 # # # # 10 # # # # 11 # r t e #L# # 12 # EEEEEEEEEEEEEEE # ## # 13 # E^^^^^^^^^^^^^^^E ## q## # 14 ################################################################################################## # 15 #########################################################################################q########## # 16 # I #### # 17 # I l #### # 18 # I l ###### # 19 # I ###Q##LLL############ # 20 # I ### # ##**^^**^^*### # 21 # I ### # ##LLLLLLLLL###### # 22 # I ### # # # 23 # * * #i########kKKKKKkkKKKKkkKKKKKKk########## **# # # 24 # # # ***# # ####### 25 # # # ****# # ######### 26 # ##****************## ## # ######## # ############# 27 # ###****************### # ################# 28 # N ####****************##### # #################### 29 ########################################################################################################################
Note: See TracChangeset
for help on using the changeset viewer.