source: 2012/27/HenrikS/MasaMajavanMaailma/MasaMajavanMaailma/MasaMajavanMaailma/Peli.cs @ 3559

Revision 3559, 21.2 KB checked in by hesasnel, 9 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Peli : PhysicsGame
10{
11    const double nopeus = 400;
12    const double hyppyNopeus = 1000;
13    const double lentonopeus = 10000;
14    const int RUUDUN_KOKO = 40;
15
16    PlatformCharacter pelaaja1;
17    DoubleMeter ESmittari;
18    DoubleMeter Elama;
19
20    Image pelaajanKuvaOikea = LoadImage("Masaoikea");
21    Image[] pelaajanKavelykuvatOikea = LoadImages("Masaoikea", "Masajuoksuoikea");
22    Image[] pelaajanKavelykuvatVasen = LoadImages("Masavasen", "Masajuoksuvasen");
23
24    Image tahtiKuva = LoadImage("tahti");
25    Image pelaajanKuvaVasen = LoadImage("Masavasen");
26    Image PelaajajuokseeOikea = LoadImage("Masajuoksuvasen");
27    Image PelaajajuokseeVasen = LoadImage("Masajuoksuoikea");
28    Image Pelaajalentaa = LoadImage("Masalentaa");
29    Image Jetpack = LoadImage("Jetpak");
30    Image Polttoaine = LoadImage("Euroshopper");
31    Image ruohikko = LoadImage("Maanpinta");
32    Image multa = LoadImage("Multa");
33    Image Kiitara = LoadImage("Kitara");
34    Image masahakkaaOikea = LoadImage("Masakitara");
35    Image masahakkaaOikeaPAM = LoadImage("MasakitaraPAM");
36    Image tausta = LoadImage("Tausta");
37    Image lootikko = LoadImage("Laatikko");
38    Image masahakkaaVasen = LoadImage("MasakitaraVasen");
39    Image masahakkaaVasenTUM = LoadImage("MasakitaraTUM");
40   
41    Image Maaali = LoadImage("Maali");
42    Image vasenlookku = LoadImage("Loukku toisin päin");
43    Image lookku = LoadImage("Loukku");
44    Image loukkuhyokkaus = LoadImage("Loukkuhyökkäys");
45    Image loukkuhyokkausvasen = LoadImage("LoukkuhyökkäysVasen");
46    // Image kyltti = LoadImage("Kyltti");
47
48    ExplosionSystem hajotus;
49    ExplosionSystem hajotus2;
50
51    bool masaKatsooOikealla = true;
52    bool masaLyo = false;
53
54    SoundEffect maaliAani = LoadSoundEffect("maali");
55    int kenttatilanne = 1;
56
57    public override void Begin()
58    {
59        aloitapeli(kenttatilanne);
60        lisaaElamamittari();
61
62        hajotus = new ExplosionSystem(LoadImage("Lentävälauta"), 50);
63
64        Add(hajotus);
65
66        hajotus2 = new ExplosionSystem(LoadImage("Hammas"), 50);
67        hajotus2.MinScale = 35;
68        hajotus2.MaxScale = 35;
69        Add(hajotus2);
70    }
71    void aloitapeli(int kenttanumero)
72    {
73        ClearAll();
74        Gravity = new Vector(0, -1000);
75        if (kenttanumero == 1)
76        {
77            luoKentta();
78        }
79        //if (kenttanumero == 2)
80        // {
81        //     luokentta2();
82        //}
83        lisaaNappaimet();
84
85        Camera.Follow(pelaaja1);
86        Camera.ZoomFactor = 1.2;
87        Camera.StayInLevel = true;
88    }
89
90    void luoKentta()
91    {
92        TileMap kentta = TileMap.FromFile("kentta1.txt");
93        kentta.SetTileMethod('#', lisaaTaso);
94        kentta.SetTileMethod('*', lisaaTahti);
95        kentta.SetTileMethod('M', lisaaPelaaja);
96        kentta.SetTileMethod('O', lisaaMaankamara);
97        kentta.SetTileMethod('S', lisaaMaa);
98        kentta.SetTileMethod('J', lisaaJetpak);
99        kentta.SetTileMethod('E', lisaaES);
100        kentta.SetTileMethod('L', lisaaLaatikko);
101        kentta.SetTileMethod('K', lisaaKitara);
102        kentta.SetTileMethod('m', lisaaMaali);
103        kentta.SetTileMethod('l', lisaaloukku);
104        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
105
106        Level.CreateBorders();
107        Level.BackgroundColor = Color.DarkBlue;
108        GameObject taustakuva = new GameObject(Screen.Width, Screen.Height);
109        taustakuva.Image = tausta;
110        Add(taustakuva, -2);
111        Level.Background.FitToLevel();
112        Layers[-2].RelativeTransition = new Vector(0.1, 0.1);
113    }
114    //  void luokentta2()
115    //{
116    //   TileMap kentta2 = TileMap.FromFile("kentta2.txt");
117    // kentta2['#'] = lisaaTaso;
118    //    kentta2['*'] = lisaaTahti;
119    //    kentta2['M'] = lisaaPelaaja;
120    //    kentta2['O'] = lisaaMaankamara;
121    //    kentta2['S'] = lisaaMaa;
122    //    kentta2['J'] = lisaaJetpak;
123    //    kentta2['E'] = lisaaES;
124    //    kentta2['L'] = lisaaLaatikko;
125    //    kentta2['K'] = lisaaKitara;
126    //    kentta2['m'] = lisaaMaali;
127    //    //kentta2['k'] = lisaaKyltti;
128    //    kentta2.Insert(RUUDUN_KOKO, RUUDUN_KOKO);
129    //    Level.CreateBorders();
130    //    Level.BackgroundColor = Color.DarkBlue;
131    //    GameObject taustakuva = new GameObject(Screen.Width, Screen.Height);
132    //    taustakuva.Image = tausta;
133    //    Level.Background.FitToLevel();
134    //    Add(taustakuva, -2);
135    //    Layers[-2].RelativeTransition = new Vector(0.1, 0.1);
136    //}
137
138    void lisaaTaso(Vector paikka, double leveys, double korkeus)
139    {
140        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
141        taso.Color = Color.Green;
142        taso.Position = paikka;
143        Add(taso);
144    }
145
146    void lisaaLaatikko(Vector paikka, double leveys, double korkeus)
147    {
148        PhysicsObject laatikko = PhysicsObject.CreateStaticObject(200, 200);
149        laatikko.Image = lootikko;
150        laatikko.Tag = "laatikko";
151        laatikko.Position = paikka;
152        Add(laatikko);
153    }
154
155    void lisaaloukku(Vector paikka, double leveys, double korkeus)
156    {
157        PhysicsObject loukku = new PhysicsObject(110, 115);
158        loukku.Image = vasenlookku;
159        loukku.IgnoresCollisionResponse = true;
160        loukku.IgnoresGravity = true;
161        loukku.Tag = "vasenloukku";
162        loukku.Shape = Shape.FromImage(vasenlookku);
163
164        Timer vartiointi = new Timer();
165        vartiointi.Interval = 0.1;
166        vartiointi.Timeout += delegate { vihollishyokkaus(loukku, vartiointi); };
167        vartiointi.Start();
168        AddCollisionHandler(loukku, delegate(PhysicsObject l, PhysicsObject kohde) { LoukkuOsuu(loukku, kohde, vartiointi); });
169        loukku.Position = paikka;
170        Add(loukku);
171    }
172
173
174    void lisaaoikealoukku(Vector paikka, double leveys, double korkeus)
175    {
176        PhysicsObject oikealoukku = PhysicsObject.CreateStaticObject(60, 60);
177        oikealoukku.Image = lookku;
178        oikealoukku.Tag = "loukku";
179        oikealoukku.Position = paikka;
180        Add(oikealoukku);
181    }
182    void lisaaKitara(Vector paikka, double leveys, double korkeus)
183    {
184        PhysicsObject kitara = PhysicsObject.CreateStaticObject(65, 120);
185        kitara.Image = Kiitara;
186        kitara.Tag = "Kitara";
187        kitara.Position = paikka;
188        Add(kitara);
189    }
190    // PhysicsObject lisaaKyltti()
191    //{
192    //  KYLTTI = PhysicsObject.CreateStaticObject(75, 120);
193    //kylttI.Image = kyltti;
194    //kylttI.Tag = "Kyltti";
195    //return KYLTTI;
196    //}
197    void lisaaTahti(Vector paikka, double leveys, double korkeus)
198    {
199        PhysicsObject tahti = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
200        tahti.Image = tahtiKuva;
201        tahti.Tag = "tahti";
202        tahti.Position = paikka;
203        Add(tahti);
204    }
205    void lisaaMaankamara(Vector paikka, double leveys, double korkeus)
206    {
207        PhysicsObject maankamara = PhysicsObject.CreateStaticObject(40, 40);
208        maankamara.Image = ruohikko;
209        maankamara.Position = paikka;
210        Add(maankamara);
211
212
213    }
214    void lisaaMaa(Vector paikka, double leveys, double korkeus)
215    {
216        PhysicsObject maa = PhysicsObject.CreateStaticObject(40, 40);
217        maa.Image = multa;
218        maa.Position = paikka;
219        Add(maa);
220    }
221
222    void lisaaJetpak(Vector paikka, double leveys, double korkeus)
223    {
224        PhysicsObject jetpak = PhysicsObject.CreateStaticObject(65, 90);
225        jetpak.Image = Jetpack;
226        jetpak.Tag = "jetpak";
227        jetpak.Position = paikka;
228        Add(jetpak);
229    }
230
231    void lisaaES(Vector paikka, double leveys, double korkeus)
232    {
233        PhysicsObject ES = PhysicsObject.CreateStaticObject(40, 80);
234        ES.Image = Polttoaine;
235        ES.Tag = "ES";
236        ES.Position = paikka;
237        Add(ES);
238    }
239    void lisaaMaali(Vector paikka, double leveys, double korkeus)
240    {
241        PhysicsObject Maali = PhysicsObject.CreateStaticObject(75, 120);
242        Maali.Image = Maaali;
243        Maali.Tag = "Maali";
244        Maali.Position = paikka;
245        Add(Maali);
246
247
248    }
249
250    void lisaaPelaaja(Vector paikka, double leveys, double korkeus)
251    {
252        pelaaja1 = new PlatformCharacter(80, 120);
253        pelaaja1.CollisionIgnoreGroup = 1;
254        PelaajanAnimaatiot();
255        //pelaaja1.Animation = new Animation(Pelaajalentaa);
256        //pelaaja1.Animation.Start();
257        pelaaja1.Mass = 4.0;
258        // pelaaja1.Image = pelaajanKuva;
259        AddCollisionHandler(pelaaja1, osuTahteen);
260        AddCollisionHandler(pelaaja1, osuJetpakiin);
261        AddCollisionHandler(pelaaja1, osuES);
262        AddCollisionHandler(pelaaja1, "laatikko", osuLaatikkoon);
263        AddCollisionHandler(pelaaja1, osuKitaraan);
264        AddCollisionHandler(pelaaja1, osuMaaliin);
265        AddCollisionHandler(pelaaja1, osuKylttiin);
266        AddCollisionHandler(pelaaja1, osuLoukkuun);
267        // if (!masaKatsooOikealla)
268        //   pelaaja1.Shape = Shape.FromImage(Masavasen);
269
270        //else
271        //  pelaaja1.Shape = Shape.FromImage(Masaoikea);
272
273        pelaaja1.Position = paikka;
274        Add(pelaaja1);
275    }
276
277    void PelaajanAnimaatiot()
278    {
279        pelaaja1.RightWalkingAnimation = new Animation(pelaajanKavelykuvatOikea);
280        pelaaja1.RightWalkingAnimation.FPS = 10;
281        pelaaja1.RightWalkingAnimation.Start();
282        pelaaja1.LeftWalkingAnimation = new Animation(pelaajanKavelykuvatVasen);
283        pelaaja1.LeftWalkingAnimation.FPS = 10;
284        pelaaja1.LeftWalkingAnimation.Start();
285
286    }
287
288    void lisaaNappaimet()
289    {
290        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
291        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
292
293        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
294        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
295        Keyboard.Listen(Key.Space, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
296
297
298
299
300        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
301
302        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
303        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
304        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
305
306
307
308    }
309
310    void lisaaESmittari()
311    {
312        ESmittari = LuoESmittari(600, 500);
313
314    }
315
316    DoubleMeter LuoESmittari(double x, double y)
317    {
318        DoubleMeter mittari = new DoubleMeter(0);
319        Label naytto = new Label();
320        naytto.BindTo(mittari);
321        naytto.X = 300;
322        naytto.Y = 350;
323        naytto.TextColor = Color.LightGreen;
324        naytto.BorderColor = Color.Blue;
325        naytto.Color = Color.DarkBlue;
326        mittari.MaxValue = 20;
327        Add(naytto);
328        return mittari;
329
330
331
332    }
333    void lisaaElamamittari()
334    {
335        Elama = LuoElamaMittari(0, 0);
336        Label enu = new Label("Terveys");
337        enu.X = 0;
338        enu.Y = 380;
339        enu.TextColor = Color.LightGreen;
340        enu.BorderColor = Color.Blue;
341        enu.Color = Color.DarkBlue;
342        Add(enu);
343    }
344    DoubleMeter LuoElamaMittari(double x, double y)
345    {
346        DoubleMeter elama = new DoubleMeter(10);
347        Label nautto = new Label();
348        nautto.BindTo(elama);
349        nautto.X = 0;
350        nautto.Y = 350;
351        nautto.TextColor = Color.LightGreen;
352        nautto.BorderColor = Color.Blue;
353        nautto.Color = Color.DarkBlue;
354        elama.MaxValue = 10;
355        Add(nautto);
356        return elama;
357
358
359
360    }
361
362    void kaytajetpak(PlatformCharacter hahmo, double nopeus)
363    {
364
365
366
367
368        if (ESmittari.Value > 0.0)
369        {
370            hahmo.Push(new Vector(0, nopeus));
371            ESmittari.Value -= 0.035;
372            pelaaja1.LeftWalkingAnimation = null;
373            pelaaja1.RightWalkingAnimation = null;
374            pelaaja1.RightIdleAnimation = null;
375            pelaaja1.LeftIdleAnimation = null;
376            pelaaja1.Animation = new Animation(Pelaajalentaa);
377            pelaaja1.Animation.Start();
378        }
379
380
381        //pelaaja1.Animation.Start(100);
382    }
383
384    void hakkaa(PlatformCharacter hahmo)
385    {
386        pelaaja1.Width = 170;
387       
388        pelaaja1.RightWalkingAnimation = null;
389        pelaaja1.RightIdleAnimation = null;
390        pelaaja1.LeftWalkingAnimation = null;
391        pelaaja1.LeftIdleAnimation = null;
392        pelaaja1.Animation = null;
393
394
395        if (!masaKatsooOikealla)
396        {
397            pelaaja1.Image = masahakkaaVasen;
398            pelaaja1.Shape = Shape.FromImage(masahakkaaVasen);
399        }
400        else
401        {
402            pelaaja1.Image = masahakkaaOikea;
403            pelaaja1.Shape = Shape.FromImage(masahakkaaOikea);
404        }
405        Timer.SingleShot(0.2, ajastinlaukesi);
406       
407       
408       
409        //pelaaja1.Animation.Stop();
410    }
411    void lopetalento()
412    {
413        PelaajanAnimaatiot();
414        pelaaja1.Animation = null;
415        pelaaja1.LeftIdleAnimation.Start();
416        pelaaja1.RightIdleAnimation.Start();
417        pelaaja1.LeftWalkingAnimation.Start();
418        pelaaja1.RightWalkingAnimation.Start();
419    }
420    void ajastinlaukesi()
421    {
422        if (!masaKatsooOikealla)
423        {
424            pelaaja1.Image = masahakkaaVasenTUM;
425            pelaaja1.Shape = Shape.FromImage(masahakkaaVasenTUM);
426        }
427        else
428        {
429            pelaaja1.Image = masahakkaaOikeaPAM;
430            pelaaja1.Shape = Shape.FromImage(masahakkaaOikeaPAM);
431        }
432        masaLyo = true;
433        Timer.SingleShot(0.2, toinenAjastinlaukesi);
434       
435    }
436
437    void toinenAjastinlaukesi()
438    {
439        PelaajanAnimaatiot();
440        pelaaja1.Animation = null;
441        masaLyo = false;
442        pelaaja1.Width = 75;
443
444    }
445
446    void liikuta(PlatformCharacter hahmo, double nopeus)
447    {
448        if (nopeus < 0)
449            masaKatsooOikealla = false;
450        else
451            masaKatsooOikealla = true;
452        hahmo.Walk(nopeus);
453    }
454
455    void hyppaa(PlatformCharacter hahmo, double nopeus)
456    {
457        hahmo.Jump(nopeus);
458    }
459
460
461
462    void vihollishyokkaus(PhysicsObject loukku, Timer ajastin)
463    {
464        // pelaajan pitää olla loukun vasemmalla puolella 300:n päässä
465        if (loukku.X - pelaaja1.X > 0 && loukku.X - pelaaja1.X < 300)
466        {
467            if (loukku.Image == vasenlookku)
468            {
469                // loukkua pitää nostaa hieman kun alottaa hyökkäyksen,
470                // jottei raavi maata ja jää jumiin
471                loukku.Y = loukku.Y + 25;
472            }
473
474            loukku.Velocity = new Vector(-700, 0);
475            loukku.Shape = Shape.FromImage(loukkuhyokkausvasen);
476            loukku.Height = 150;
477            loukku.Image = loukkuhyokkausvasen;
478        }
479    }
480
481    void osuTahteen(PhysicsObject hahmo, PhysicsObject kohde)
482    {
483        if (kohde.Tag.ToString() == "tahti")
484        {
485
486            MessageDisplay.Add("Keräsit tähden!");
487            kohde.Destroy();
488        }
489
490    }
491    void osuLoukkuun(PhysicsObject hahmo, PhysicsObject kohde)
492    {
493        if (kohde.Tag.ToString() == "vasenloukku" && (masaLyo == true))
494        {
495            int pMaxMaara = 200;
496
497
498            int pMaara = 50;
499            double x = kohde.X;
500            double y = kohde.Y;
501
502            hajotus2.AddEffect(x, y, pMaara);
503            kohde.Destroy();
504        }
505        else if (kohde.Tag.ToString() == "vasenloukku")
506        {
507            Elama.Value -= 2.5;
508        }
509
510        else if (kohde.Tag.ToString() == "loukku")
511        {
512            Elama.Value -= 2.5;
513        }
514
515    }
516
517    void LoukkuOsuu(PhysicsObject loukku, PhysicsObject kohde, Timer ajastin)
518    {
519        if (kohde != pelaaja1)
520        {
521            loukku.Velocity = new Vector(0, 0);
522            ajastin.Stop();
523           //
524            //loukku.IgnoresCollisionResponse = false;
525        }
526
527    }
528
529    void osuKitaraan(PhysicsObject hahmo, PhysicsObject kohde)
530    {
531        if (kohde.Tag.ToString() == "Kitara")
532        {
533            Label label = new Label("Masa majava: Kitara...mitä minä tällä tekisin? Soittaisin musiikkia?");
534            label.TextColor = Color.Black;
535            label.Color = Color.White;
536            Label label2 = new Label("Masa majava: Hei! Nyt keksin! Painamalla 'Alas' minä voisin...");
537            label2.TextColor = Color.Black;
538            label2.Color = Color.White;
539            Add(label);
540            Timer.SingleShot(4, delegate()
541            {
542                label.Destroy();
543                Add(label2);
544            }
545            );
546            Timer.SingleShot(8, label2.Destroy);
547            kohde.Destroy();
548            Keyboard.Listen(Key.Down, ButtonState.Pressed, hakkaa, "Hakkaa kitaralla", pelaaja1);
549            ControllerOne.Listen(Button.DPadDown, ButtonState.Pressed, hakkaa, "Hakkaa kitaralla", pelaaja1);
550        }
551    }
552
553    void osuLaatikkoon(PhysicsObject hahmo, PhysicsObject kohde)
554    {
555        if (!masaLyo) return;
556        int pMaxMaara = 200;
557
558
559        int pMaara = 50;
560        double x = kohde.X;
561        double y = kohde.Y;
562
563        hajotus.AddEffect(x, y, pMaara);
564
565       
566        Label label = new Label("Masa majava: Siitäs sait, tyhmä loota.");
567        label.TextColor = Color.Black;
568        label.Color = Color.White;
569        Add(label);
570        Timer.SingleShot(3, delegate()
571        {
572            label.Destroy();
573        });
574
575       
576        kohde.Destroy();
577    }
578
579
580    void osuJetpakiin(PhysicsObject hahmo, PhysicsObject kohde)
581    {
582        if (kohde.Tag.ToString() == "jetpak")
583        {
584            Label label = new Label("Masa majava: Voi pojat! Sain Jetpakin! Nyt pystyn lentämään painamalla 'Ylös'.");
585            label.TextColor = Color.Black;
586            label.Color = Color.White;
587            lisaaESmittari();
588
589            Label label2 = new Label("Masa majava: Siihen kuitenkin tarvitaan Euroshopper-energiajuomaa polttoaineeksi...");
590            label2.TextColor = Color.Black;
591            label2.Color = Color.White;
592            Add(label);
593            Timer.SingleShot(3, delegate()
594            {
595                label.Destroy();
596                Add(label2);
597            }
598            );
599
600            Timer.SingleShot(6, label2.Destroy);
601            Label jetpak = new Label("ES");
602            jetpak.X = 300;
603            jetpak.Y = 380;
604            jetpak.TextColor = Color.LightGreen;
605            jetpak.BorderColor = Color.Blue;
606            jetpak.Color = Color.DarkBlue;
607            Add(jetpak);
608
609
610
611            kohde.Destroy();
612            Keyboard.Listen(Key.Up, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus);
613            Keyboard.Listen(Key.Up, ButtonState.Released, lopetalento, "Lopettaa lennon");
614            ControllerOne.Listen(Button.DPadUp, ButtonState.Down, kaytajetpak, "Käyttää Jetpakiä", pelaaja1, lentonopeus);
615            ControllerOne.Listen(Button.DPadUp, ButtonState.Released, lopetalento, "Lopettaa lennon");
616        }
617    }
618    void osuES(PhysicsObject hahmo, PhysicsObject kohde)
619    {
620        if (kohde.Tag.ToString() == "ES")
621        {
622            Label label = new Label("Masa majava: ES! Tekis mieli maistaa...mutta tarvitsen sitä polttoaineeksi.");
623            label.TextColor = Color.Black;
624            label.Color = Color.White;
625            Add(label);
626            Timer.SingleShot(4, delegate()
627            {
628                label.Destroy();
629            });
630            kohde.Destroy();
631            ESmittari.Value += 5;
632        }
633    }
634    void osuMaaliin(PhysicsObject hahmo, PhysicsObject kohde)
635    {
636        if (kohde.Tag.ToString() == "Maali")
637        {
638            Label label = new Label("Masa majava: Jepulis! Ovi seuraavaan kenttään!");
639            label.TextColor = Color.Black;
640            label.Color = Color.White;
641            Add(label);
642            Timer.SingleShot(4, delegate()
643                {
644                    label.Destroy();
645                    kenttatilanne += 1;
646                    aloitapeli(kenttatilanne);
647                });
648
649
650        }
651    }
652    void osuKylttiin(PhysicsObject hahmo, PhysicsObject kohde)
653    {
654        if (kohde.Tag.ToString() == "Kyltti")
655        {
656            Label label = new Label("Kyltti: Ei pääsyä ellei sinulla ole jetpackiä. Et tule selviämään ilman sitä.");
657            label.TextColor = Color.Black;
658            label.Color = Color.White;
659            Add(label);
660            Label label2 = new Label("Masa majava: Mistä minä jetpakin tähän hätään saisin?");
661            label2.TextColor = Color.Black;
662            label2.Color = Color.White;
663            Timer.SingleShot(3, delegate()
664            {
665                label.Destroy();
666                Add(label2);
667                Timer.SingleShot(3, delegate()
668                {
669                    label2.Destroy();
670                });
671            });
672        }
673    }
674}
675
Note: See TracBrowser for help on using the repository browser.