source: 2011/24/AleksiH/Stick Stick/Stick Stick/Peli.cs @ 2106

Revision 2106, 20.8 KB checked in by alehanni, 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 = 200;
12    const double hyppyNopeus = 1000;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16    PlatformCharacter vihollinen;
17
18    Image pelaajanKuva = LoadImage("stick");
19    Image tahtiKuva = LoadImage("tahti");
20    Image kukkakuva = LoadImage("kukka2");
21    Image piikkiKuva = LoadImage("piikki3");
22    Image vihollisenkuva = LoadImage("stick enemy");
23    Image lipunkuva = LoadImage("maali lippu");
24
25    PhysicsObject maalilippu;
26    IntMeter pisteLaskuri;
27    IntMeter elamalaskuri;
28
29    SoundEffect maaliAani = LoadSoundEffect("maali");
30    List<Label> valikonKohdat;
31    List<PhysicsObject> vihut = new List<PhysicsObject>();
32    int moneskoKenttaMenossa = 1;
33
34
35
36    public override void Begin()
37    {
38        pisteLaskuri = new IntMeter(0);
39
40       valikko();
41         if (DataStorage.Exists("pisteet.xml"))
42            topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml");
43         
44
45    }
46
47    ScoreList topLista = new ScoreList(10, false, 0);
48
49
50    void KameraAsetukset()
51    {
52        Camera.Follow(pelaaja1);
53        Camera.ZoomFactor = 1.0;
54        Camera.StayInLevel = true;
55    }
56
57    void LuoKentta1()
58    {
59        TileMap ruudut = TileMap.FromFile("kentta1.txt");
60        ruudut.SetTileMethod('#', LisaaTaso);
61        ruudut.SetTileMethod('|', LisaaPiikki);
62        ruudut.SetTileMethod('*', lisaaTahti);
63        ruudut.SetTileMethod('@', lisaakukka);
64        ruudut.SetTileMethod('s', lisaaPelaaja);
65        ruudut.SetTileMethod('e', lisaavihollinen);
66        ruudut.SetTileMethod('p', lisaamaalilippu);
67        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
68        Level.CreateBorders();
69        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
70        Gravity = new Vector(0, -1000);
71
72        foreach (PhysicsObject vihollinen in vihut)
73        {
74            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
75            seuraajaAivot.Target = pelaaja1;
76        }
77    }
78
79    void LuoKentta2()
80    {
81        TileMap ruudut = TileMap.FromFile("kentta2.txt");
82        ruudut.SetTileMethod('#', LisaaTaso);
83        ruudut.SetTileMethod('|', LisaaPiikki);
84        ruudut.SetTileMethod('*', lisaaTahti);
85        ruudut.SetTileMethod('@', lisaakukka);
86        ruudut.SetTileMethod('s', lisaaPelaaja);
87        ruudut.SetTileMethod('e', lisaavihollinen);
88        ruudut.SetTileMethod('p', lisaamaalilippu);
89        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
90        Level.CreateBorders();
91        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
92        Gravity = new Vector(0, -1000);
93
94        foreach (PhysicsObject vihollinen in vihut)
95        {
96            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
97            seuraajaAivot.Target = pelaaja1;
98        }
99    }
100
101    void LuoKentta3()
102    {
103        TileMap ruudut = TileMap.FromFile("kentta3.txt");
104        ruudut.SetTileMethod('#', LisaaTaso);
105        ruudut.SetTileMethod('|', LisaaPiikki);
106        ruudut.SetTileMethod('*', lisaaTahti);
107        ruudut.SetTileMethod('@', lisaakukka);
108        ruudut.SetTileMethod('s', lisaaPelaaja);
109        ruudut.SetTileMethod('e', lisaavihollinen);
110        ruudut.SetTileMethod('p', lisaamaalilippu);
111        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
112        Level.CreateBorders();
113        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
114        Gravity = new Vector(0, -1000);
115
116        foreach (PhysicsObject vihollinen in vihut)
117        {
118            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
119            seuraajaAivot.Target = pelaaja1;
120        }
121    }
122
123    void LuoKentta4()
124    {
125        TileMap ruudut = TileMap.FromFile("kentta4.txt");
126        ruudut.SetTileMethod('#', LisaaTaso);
127        ruudut.SetTileMethod('|', LisaaPiikki);
128        ruudut.SetTileMethod('*', lisaaTahti);
129        ruudut.SetTileMethod('@', lisaakukka);
130        ruudut.SetTileMethod('s', lisaaPelaaja);
131        ruudut.SetTileMethod('e', lisaavihollinen);
132        ruudut.SetTileMethod('p', lisaamaalilippu);
133        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
134        Level.CreateBorders();
135        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
136        Gravity = new Vector(0, -1000);
137
138        foreach (PhysicsObject vihollinen in vihut)
139        {
140            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
141            seuraajaAivot.Target = pelaaja1;
142        }
143    }
144
145    void Luokentta5()
146    {
147        TileMap ruudut = TileMap.FromFile("kentta5.txt");
148        ruudut.SetTileMethod('#', LisaaTaso);
149        ruudut.SetTileMethod('|', LisaaPiikki);
150        ruudut.SetTileMethod('*', lisaaTahti);
151        ruudut.SetTileMethod('@', lisaakukka);
152        ruudut.SetTileMethod('s', lisaaPelaaja);
153        ruudut.SetTileMethod('e', lisaavihollinen);
154        ruudut.SetTileMethod('p', lisaamaalilippu);
155        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
156        Level.CreateBorders();
157        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
158        Gravity = new Vector(0, -1000);
159
160        foreach (PhysicsObject vihollinen in vihut)
161        {
162            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
163            seuraajaAivot.Target = pelaaja1;
164        }
165    }
166
167    void Luokentta6()
168    {
169        TileMap ruudut = TileMap.FromFile("kentta6.txt");
170        ruudut.SetTileMethod('#', LisaaTaso);
171        ruudut.SetTileMethod('|', LisaaPiikki);
172        ruudut.SetTileMethod('*', lisaaTahti);
173        ruudut.SetTileMethod('@', lisaakukka);
174        ruudut.SetTileMethod('s', lisaaPelaaja);
175        ruudut.SetTileMethod('e', lisaavihollinen);
176        ruudut.SetTileMethod('p', lisaamaalilippu);
177        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
178        Level.CreateBorders();
179        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
180        Gravity = new Vector(0, -1000);
181
182        foreach (PhysicsObject vihollinen in vihut)
183        {
184            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
185            seuraajaAivot.Target = pelaaja1;
186        }
187    }
188    void Luokentta7()
189    {
190        TileMap ruudut = TileMap.FromFile("kentta7.txt");
191        ruudut.SetTileMethod('#', LisaaTaso);
192        ruudut.SetTileMethod('|', LisaaPiikki);
193        ruudut.SetTileMethod('*', lisaaTahti);
194        ruudut.SetTileMethod('@', lisaakukka);
195        ruudut.SetTileMethod('s', lisaaPelaaja);
196        ruudut.SetTileMethod('e', lisaavihollinen);
197        ruudut.SetTileMethod('p', lisaamaalilippu);
198        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
199        Level.CreateBorders();
200        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
201        Gravity = new Vector(0, -1000);
202
203        foreach (PhysicsObject vihollinen in vihut)
204        {
205            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
206            seuraajaAivot.Target = pelaaja1;
207        }
208    }
209    void Luokentta8()
210    {
211        TileMap ruudut = TileMap.FromFile("kentta8.txt");
212        ruudut.SetTileMethod('#', LisaaTaso);
213        ruudut.SetTileMethod('|', LisaaPiikki);
214        ruudut.SetTileMethod('*', lisaaTahti);
215        ruudut.SetTileMethod('@', lisaakukka);
216        ruudut.SetTileMethod('s', lisaaPelaaja);
217        ruudut.SetTileMethod('e', lisaavihollinen);
218        ruudut.SetTileMethod('p', lisaamaalilippu);
219        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
220        Level.CreateBorders();
221        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
222        Gravity = new Vector(0, -1000);
223
224        foreach (PhysicsObject vihollinen in vihut)
225        {
226            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
227            seuraajaAivot.Target = pelaaja1;
228        }
229    }
230    void Luokentta9()
231    {
232        TileMap ruudut = TileMap.FromFile("kentta9.txt");
233        ruudut.SetTileMethod('#', LisaaTaso);
234        ruudut.SetTileMethod('|', LisaaPiikki);
235        ruudut.SetTileMethod('*', lisaaTahti);
236        ruudut.SetTileMethod('@', lisaakukka);
237        ruudut.SetTileMethod('s', lisaaPelaaja);
238        ruudut.SetTileMethod('e', lisaavihollinen);
239        ruudut.SetTileMethod('p', lisaamaalilippu);
240        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
241        Level.CreateBorders();
242        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
243        Gravity = new Vector(0, -1000);
244
245        foreach (PhysicsObject vihollinen in vihut)
246        {
247            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
248            seuraajaAivot.Target = pelaaja1;
249        }
250    }
251    void Luokentta10()
252    {
253        TileMap ruudut = TileMap.FromFile("kentta10.txt");
254        ruudut.SetTileMethod('#', LisaaTaso);
255        ruudut.SetTileMethod('|', LisaaPiikki);
256        ruudut.SetTileMethod('*', lisaaTahti);
257        ruudut.SetTileMethod('@', lisaakukka);
258        ruudut.SetTileMethod('s', lisaaPelaaja);
259        ruudut.SetTileMethod('e', lisaavihollinen);
260        ruudut.SetTileMethod('p', lisaamaalilippu);
261        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
262        Level.CreateBorders();
263        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
264        Gravity = new Vector(0, -1000);
265
266        foreach (PhysicsObject vihollinen in vihut)
267        {
268            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
269            seuraajaAivot.Target = pelaaja1;
270        }
271    }
272    void LuoKentta11()
273    {
274        TileMap ruudut = TileMap.FromFile("kentta11.txt");
275        ruudut.SetTileMethod('#', LisaaTaso);
276        ruudut.SetTileMethod('|', LisaaPiikki);
277        ruudut.SetTileMethod('*', lisaaTahti);
278        ruudut.SetTileMethod('@', lisaakukka);
279        ruudut.SetTileMethod('s', lisaaPelaaja);
280        ruudut.SetTileMethod('e', lisaavihollinen);
281        ruudut.SetTileMethod('p', lisaamaalilippu);
282        ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
283        Level.CreateBorders();
284        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
285        Gravity = new Vector(0, -1000);
286
287        foreach (PhysicsObject vihollinen in vihut)
288        {
289            FollowerBrain seuraajaAivot = (FollowerBrain)vihollinen.Brain;
290            seuraajaAivot.Target = pelaaja1;
291        }
292    }
293
294    void LisaaTaso(Vector paikka, double leveys, double korkeus)
295    {
296        PhysicsObject taso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
297        taso.Position = paikka;
298        taso.Color = Color.Green;
299        Add(taso);
300    }
301
302    void LisaaPiikki(Vector paikka, double leveys, double korkeus)
303    {
304        PhysicsObject piikki = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
305        piikki.Position = paikka;
306        piikki.Image = piikkiKuva;
307        piikki.Tag = "piikki3";
308        Add(piikki);
309    }
310
311    void lisaaTahti(Vector paikka, double leveys, double korkeus)
312    {
313        PhysicsObject tahti = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
314        tahti.Position = paikka;
315        tahti.Image = tahtiKuva;
316        tahti.Tag = "tahti";
317        tahti.CollisionIgnoreGroup = 1;
318        Add(tahti);
319        pisteLaskuri.MaxValue += 1;
320    }
321    void lisaakukka(Vector paikka, double leveys, double korkeus)
322    {
323        PhysicsObject kukka = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
324        kukka.Position = paikka;
325        kukka.Image = tahtiKuva;
326        kukka.Tag = "kukka2";
327        Add(kukka);
328    }
329
330    void lisaaPelaaja(Vector paikka, double leveys, double korkeus)
331    {
332        pelaaja1 = new PlatformCharacter(40, 40, Shape.FromImage(LoadImage("stick")));
333        pelaaja1.Position = paikka;
334        pelaaja1.Mass = 4.0;
335        pelaaja1.Image = pelaajanKuva;
336        Add(pelaaja1);
337        AddCollisionHandler(pelaaja1, KasittelePelaajanTormays);
338    }
339
340
341
342    void lisaavihollinen(Vector paikka, double leveys, double korkeus)
343    {
344        vihollinen = new PlatformCharacter(40, 40, Shape.FromImage(LoadImage("stick enemy")));
345        vihollinen.Mass = 4.0;
346        vihollinen.Position = paikka;
347        vihollinen.Image = vihollisenkuva;
348        Add(vihollinen);
349        AddCollisionHandler(vihollinen, KasittelePelaajanTormays);
350        vihollinen.CollisionIgnoreGroup = 1;
351        FollowerBrain seuraajanAivot = new FollowerBrain();
352        vihollinen.Brain = seuraajanAivot;
353        seuraajanAivot.Active = true;
354        vihollinen.Tag = "stick enemy";
355
356
357        seuraajanAivot.Speed = 150;
358        seuraajanAivot.FollowAlways = true;
359        seuraajanAivot.TargetCloseDistance = 200.0;
360        seuraajanAivot.StopWhenTargetClose = false;
361        vihut.Add(vihollinen);
362
363
364    }
365
366    void lisaamaalilippu(Vector paikka, double leveys, double korkeus)
367    {
368        maalilippu = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
369        maalilippu.Image = lipunkuva;
370        maalilippu.Position = paikka;
371        maalilippu.Tag = "maali lippu";
372        maalilippu.IgnoresCollisionResponse = true;
373        AddCollisionHandler(maalilippu, kasittelemaalilippuunosuma);
374
375    }
376
377    void lisaaNappaimet()
378    {
379        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
380        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
381        Keyboard.Listen(Key.F2, ButtonState.Pressed, AloitaPeli, "aloita uudestaan");
382
383        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
384        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
385        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
386
387        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
388
389        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
390        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
391        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
392    }
393
394    void liikuta(PlatformCharacter hahmo, double nopeus)
395    {
396        hahmo.Walk(nopeus);
397    }
398
399    void hyppaa(PlatformCharacter hahmo, double nopeus)
400    {
401        hahmo.Jump(nopeus);
402    }
403
404    void KasittelePelaajanTormays(PhysicsObject hahmo, PhysicsObject kohde)
405    {
406        if (kohde.Tag.ToString() == "tahti")
407        {
408            maaliAani.Play();
409            MessageDisplay.Add("Keräsit tähden!");
410            kohde.Destroy();
411            pisteLaskuri.Value += 1;
412
413        }
414
415        if (kohde.Tag.ToString() == "piikki3")
416        {
417            maaliAani.Play();
418            MessageDisplay.Add("kuolit aloita kenttä uudelleen!");
419            kohde.Destroy();
420
421            Explosion rajahdys = new Explosion(80);
422            rajahdys.ShockwaveColor = Color.Red;
423            rajahdys.Speed = 70;
424            rajahdys.Position = pelaaja1.Position;
425            Add(rajahdys);
426            pelaaja1.Destroy();
427            elamalaskuri.Value--;
428            if(elamalaskuri.Value>0)
429            {
430            Timer.SingleShot(3.0, Restart);
431
432        }
433        }
434
435
436        if (kohde.Tag.ToString() == "stick enemy")
437        {
438            maaliAani.Play();
439            MessageDisplay.Add("kuolit aloita kenttä uudelleen!");
440            kohde.Destroy();
441
442            Explosion rajahdys = new Explosion(80);
443            rajahdys.ShockwaveColor = Color.Red;
444            rajahdys.Speed = 70;
445            rajahdys.Position = pelaaja1.Position;
446            Add(rajahdys);
447            pelaaja1.Destroy();
448            elamalaskuri.Value--;
449            if (elamalaskuri.Value > 0)
450            {
451                Timer.SingleShot(3.0, Restart);
452            }
453        }
454        if (kohde.Tag.ToString() == "kukka2")
455        {
456            maaliAani.Play();
457            MessageDisplay.Add("Keräsit kukan!");
458            kohde.Destroy();
459        }
460
461    }
462
463    void LuopisteLaskuri()
464    {
465        pisteLaskuri.MaxValue = 0;
466        pisteLaskuri.UpperLimit += luomaali;
467
468       
469    }
470    void luopistenaytto()
471    {
472        Label pisteNaytto = new Label();
473        pisteNaytto.X = Screen.Left + 100;
474        pisteNaytto.Y = Screen.Top - 100;
475        pisteNaytto.TextColor = Color.Red;
476
477        pisteNaytto.BindTo(pisteLaskuri);
478        Add(pisteNaytto);
479
480        Label pisteTeksti = new Label("Pisteitä: ");
481        pisteTeksti.X = Screen.Left + 50;
482        pisteTeksti.Y = Screen.Top - 100;
483        pisteTeksti.TextColor = Color.Black;
484        Add(pisteTeksti);
485    }
486
487    void Restart()
488    {
489        ClearAll();
490        LuopisteLaskuri();
491
492        seuraavakentta(moneskoKenttaMenossa);
493        lisaaNappaimet();
494        KameraAsetukset();
495        luoelamanaytto();
496        luopistenaytto();
497    }
498
499    void seuraavakentta(int moneskoKentta)
500    {
501        switch (moneskoKentta)
502        {
503            case 1: LuoKentta1(); break;
504            case 2: LuoKentta2(); break;
505            case 3: LuoKentta3(); break;
506            case 4: LuoKentta4(); break;
507            case 5: Luokentta5(); break;
508            case 6: Luokentta6(); break;
509            case 7: Luokentta7(); break;
510            case 8: Luokentta8(); break;
511            case 9: Luokentta9(); break;
512            case 10: LuoKentta10(); break;
513            case 11: LuoKentta11(); break;
514
515            default:
516                break;
517        }
518    }
519
520    private void LuoKentta10()
521    {
522        throw new NotImplementedException();
523    }
524
525    void valikko()
526    {
527        ClearAll();
528        valikonKohdat = new List<Label>();
529
530        Label kohta1 = new Label("Aloita Uusi Peli");
531        kohta1.Position = new Vector(0, 40);
532        valikonKohdat.Add(kohta1);
533
534        Label kohta2 = new Label("Luovuta");
535        kohta2.Position = new Vector(0, -40);
536        valikonKohdat.Add(kohta2);
537
538        foreach (Label valikonKohta in valikonKohdat)
539        {
540            Add(valikonKohta);
541        }
542
543        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
544        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null);
545
546        Mouse.IsCursorVisible = true;
547        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "");
548
549    }
550
551    void AloitaPeli()
552    {
553        ClearAll();
554
555        Keyboard.Listen(Key.Escape, ButtonState.Pressed, valikko, "Palaa valikkoon");
556        LuopisteLaskuri();
557        luoelamalaskuri();
558        luopistenaytto();
559        luoelamanaytto();
560        seuraavakentta(moneskoKenttaMenossa);
561        KameraAsetukset();
562        lisaaNappaimet();
563        //naytatoplista();
564       
565
566    }
567
568
569    void luoelamalaskuri()
570    {
571        elamalaskuri = new IntMeter(5);
572        elamalaskuri.MinValue = 0;
573        elamalaskuri.LowerLimit += new Meter<int>.OnLimitHandler(elamalaskuri_LowerLimit);
574
575       
576    }
577    void luoelamanaytto()
578    {
579        Label elamaNaytto = new Label();
580        elamaNaytto.X = Screen.Left + 100;
581        elamaNaytto.Y = Screen.Top - 40;
582        elamaNaytto.TextColor = Color.Red;
583
584        elamaNaytto.BindTo(elamalaskuri);
585        Add(elamaNaytto);
586
587        Widget sydan = new Widget(30, 30);
588        sydan.Image = LoadImage("elama");
589        sydan.Position = new Vector(Screen.Left + 50, Screen.Top - 50);
590        Add(sydan);
591
592        //Label pisteTeksti = new Label("elämiä: ");
593        //pisteTeksti.X = Screen.Left + 50;
594        //pisteTeksti.Y = Screen.Top - 50;
595        //pisteTeksti.TextColor = Color.Black;
596        //Add(pisteTeksti);
597    }
598
599    void elamalaskuri_LowerLimit(int value)
600    {
601        naytatoplista();
602       
603    }
604
605    void luomaali(int arvo)
606    {
607        MessageDisplay.Add("Mene Lipulle");
608        if (maalilippu.IsAddedToGame == false)
609        {
610            Add(maalilippu);
611        }
612       
613    }
614
615    void kasittelemaalilippuunosuma(PhysicsObject lippu, PhysicsObject kohde)
616    {
617        if (kohde == pelaaja1)
618        {
619            maaliAani.Play();
620            MessageDisplay.Add("luuseri pääsit eteenpäin!");
621            kohde.Destroy();
622            pisteLaskuri.Value += 10;
623            ++moneskoKenttaMenossa;
624            AloitaPeli();
625
626        }
627
628
629    }
630 
631void  naytatoplista()
632{
633    HighScoreWindow topIkkuna = new HighScoreWindow("Stick Jump", 
634                             "Parhaat pisteet",
635                             "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:",
636                             topLista, pisteLaskuri.Value );
637    topIkkuna.Closed += TallennaPisteet;
638    Add( topIkkuna); 
639
640
641
642
643}
644void TallennaPisteet(Window sender)
645{
646    DataStorage.Save<ScoreList>(topLista, "pisteet.xml");
647    valikko();
648}
649
650}
Note: See TracBrowser for help on using the repository browser.