source: 2011/24/LauriK/Call of garden Modern carrotfare 2/Call of garden Modern carrotfare 2/Peli.cs @ 2082

Revision 2082, 19.8 KB checked in by lavevake, 10 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
12    const double nopeus = 200;
13    const double hyppyNopeus = 1000;
14    const int RUUDUN_KOKO = 40;
15
16    IntMeter kenttaLaskuri;
17
18    ScoreList topLista = new ScoreList(10, false, 0);
19
20    PlatformCharacter porkkana;
21    PhysicsObject hautakivi;
22    PhysicsObject kuolluttomaatti;
23    PhysicsObject lipas;
24    PhysicsObject uusikranaatti;
25    PhysicsObject raha;
26
27    IntMeter panoslaskuri;
28    IntMeter pistelaskuri;
29    IntMeter kranaattiLaskuri;
30
31    List<GameObject> rajahdyksenTomaattiUhrit;
32    List<GameObject> rajahdyksenPorkkanaUhri;
33
34    Image[] pelaajanKuva = LoadImages("porkkana");
35    Image[] pelaajanKuvaPeilattu;
36    Image pelaajanKuvaKuolleena = LoadImage("rip");
37    Image[] vihollisenKuva = LoadImages("tomaatti");
38    Image[] vihollisenKuvaPeilattu;
39    Image vihollisenKuvaKuolleena = LoadImage("tomaattikuolleena");
40    Image lippaanKuva = LoadImage("Lipas2");
41    Image kranaatinKuva = LoadImage("ydinpommi");
42    Image uudenKranaatinKuva = LoadImage("Laatikko");
43    Image maalinKuva = LoadImage("Avain");
44    Image RahanKuva = LoadImage("Raha");
45    Image alustus1 = LoadImage("alustus1");
46
47    ExplosionSystem rajahdys;
48    int pMaxMaara = 50;
49
50    public override void Begin()
51    {
52        if (DataStorage.Exists("pisteet.xlm"))
53        {
54            topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xlm");
55        }
56       
57        rajahdyksenTomaattiUhrit = new List<GameObject>();
58        rajahdyksenPorkkanaUhri = new List<GameObject>();
59       
60        pelaajanKuvaPeilattu = Image.Mirror(pelaajanKuva);
61        vihollisenKuvaPeilattu = Image.Mirror(vihollisenKuva);
62
63        SeuraavaKentta(1);
64       
65        Gravity = new Vector(0, -1000);
66
67        lisaaNappaimet();
68
69        Camera.Follow(porkkana);
70       
71        Camera.ZoomFactor = 1.6;
72        Camera.StayInLevel = true;
73       
74        LuoPanosLaskuri();
75        LuoPisteLaskuri();
76        LuoKranaattiLaskuri();
77
78        rajahdys = new ExplosionSystem(LoadImage("rajahdys"), pMaxMaara);
79        rajahdys.MaxLifetime = 1.0;
80        rajahdys.MaxScale = 0.1;
81        Add(rajahdys);
82    }
83
84    void SeuraavaKentta(int kentanNro)
85    {
86        ClearAll();
87
88        kenttaLaskuri = new IntMeter(kentanNro);
89
90        if (kenttaLaskuri.Value == 1) luoKentta1();
91        else if (kenttaLaskuri.Value == 2) luoKentta2();
92        //else if (kenttaLaskuri.Value == 3) luoKentta3();
93        else if (kenttaLaskuri.Value > 2) LopetaPeli();
94
95
96
97    }
98   
99    void luoKentta1()
100    {
101        luoAlustus1();         
102    }
103
104    private void luoAlustus1()
105    {
106        Level.Background.Image = alustus1;
107        Level.Background.FitToLevel();
108
109        ClearControls();
110
111        Keyboard.Listen(Key.Enter, ButtonState.Pressed, TeeKentta1, "Aloita kenttä");
112
113        ControllerOne.Listen(Button.Start, ButtonState.Pressed, TeeKentta1,"Aloita kenttä");
114    }
115
116    void luoKentta2()
117    {
118        TileMap kentta = TileMap.FromFile("kentta2.txt");
119        kentta['#'] = lisaaTaso;
120        kentta['K'] = lisaaTaso2;
121        kentta['N'] = lisaaPelaaja;
122        kentta['E'] = lisaaTomaatti;
123        kentta['L'] = LuoLipas;
124        kentta['A'] = LuoKranaatti;
125        kentta['T'] = lisaaTomaatti2;
126        kentta['M'] = LuoMaali;
127        kentta['R'] = LuoRaha;
128        kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO);
129        Level.CreateBorders();
130        Level.Background.CreateGradient(Color.Black, Color.Blue);
131    }
132
133    //void luoKentta3()
134    //{
135    //    TileMap kentta = TileMap.FromFile();
136    //    kentta['#'] = lisaaTaso;
137    //    kentta['K'] = lisaaTaso2;
138    //    kentta['N'] = lisaaPelaaja;
139    //    kentta['E'] = lisaaTomaatti;
140    //    kentta['L'] = LuoLipas;
141    //    kentta['A'] = LuoKranaatti;
142    //    kentta['T'] = lisaaTomaatti2;
143    //    kentta['M'] = LuoMaali;
144    //    kentta['R'] = LuoRaha;
145    //    kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO);
146    //    Level.CreateBorders();
147    //Level.Background.CreateGradient(Color.Green,Color.Black);
148    //}
149               
150    PhysicsObject lisaaTaso()
151    {
152        PhysicsObject taso = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
153        taso.Color = Color.Green;
154        return taso;
155    }
156
157    PhysicsObject lisaaTaso2()
158    {
159        PhysicsObject taso2 = PhysicsObject.CreateStaticObject(RUUDUN_KOKO, RUUDUN_KOKO);
160        taso2.Color = Color.Gray;
161        return taso2;
162    }
163
164    PlatformCharacter lisaaPelaaja()
165    {
166        porkkana = new PlatformCharacter(40, 40);
167        porkkana.Mass = 4.0;
168
169        porkkana.Weapon = new AssaultRifle(60, 30);
170        porkkana.Weapon.Ammo.Value = 10;
171        porkkana.Weapon.Y = -3;
172        porkkana.Weapon.X = 0;
173        porkkana.Weapon.ProjectileCollision = AmmusOsui;
174
175        AddCollisionHandler(porkkana, LipasKranaattiOsuma);
176
177        porkkana.IgnoresExplosions = true;
178
179        porkkana.RightWalkingAnimation = new Animation(pelaajanKuva);
180        porkkana.LeftWalkingAnimation = new Animation(pelaajanKuvaPeilattu);
181
182        rajahdyksenPorkkanaUhri.Add(porkkana);
183       
184        return porkkana;
185    }
186
187    PlatformCharacter lisaaTomaatti()
188    {
189        PlatformCharacter tomaatti = new PlatformCharacter(40, 40);
190        tomaatti.Mass = 4.0;
191
192        tomaatti.Tag = "Vihollinen";
193
194        FollowerBrain SeuraajanAivot = new FollowerBrain();
195        tomaatti.Brain = SeuraajanAivot;
196        SeuraajanAivot.Target = porkkana;
197        SeuraajanAivot.Speed = 100;
198        SeuraajanAivot.TargetFollowDistance = 500;
199        SeuraajanAivot.TargetCloseDistance = 50;
200        SeuraajanAivot.StopWhenTargetClose = false;
201        AddCollisionHandler(tomaatti, TomaattiOsui);
202
203        tomaatti.RightWalkingAnimation = new Animation(vihollisenKuva);
204        tomaatti.LeftWalkingAnimation = new Animation(vihollisenKuvaPeilattu);
205       
206        rajahdyksenTomaattiUhrit.Add(tomaatti);
207       
208        return tomaatti;
209
210    }
211
212    PlatformCharacter lisaaTomaatti2()
213    {
214        PlatformCharacter tomaatti2 = new PlatformCharacter(40, 40);
215        tomaatti2.Mass = 4.0;
216
217        tomaatti2.Tag = "Vihollinen2";
218
219        tomaatti2.Weapon = new AssaultRifle(60, 30);
220        tomaatti2.Weapon.Ammo.Value = 10;
221        tomaatti2.Weapon.Y = 0;
222        tomaatti2.Weapon.X = 0;
223        tomaatti2.Weapon.ProjectileCollision = AmmusOsui;
224       
225        Timer ampumaAjastin = new Timer();
226        ampumaAjastin.Interval = 2.0;
227        ampumaAjastin.Trigger += vihollinenAmpuu;
228        ampumaAjastin.Tag = tomaatti2;
229        ampumaAjastin.Start();
230
231        tomaatti2.RightWalkingAnimation = new Animation(vihollisenKuva);
232        tomaatti2.LeftWalkingAnimation = new Animation(vihollisenKuvaPeilattu);
233
234        rajahdyksenTomaattiUhrit.Add(tomaatti2);
235
236        return tomaatti2;
237    }
238   
239    void lisaaNappaimet()
240    {
241        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
242        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
243
244        Keyboard.Listen(Key.Left, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", porkkana, -nopeus);
245        Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", porkkana, nopeus);
246        Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", porkkana, hyppyNopeus);
247
248        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu rynnäkkökiväärillä");
249        Keyboard.Listen(Key.W, ButtonState.Down, TahtaaYlos, "Tähtää ylös rynnäkkökiväärillä");
250        Keyboard.Listen(Key.S, ButtonState.Down, TahtaaAlas, "Tähtää alas rynnäkkökiväärillä");
251        Keyboard.Listen(Key.Q, ButtonState.Pressed, HeitaKranaatti, "Heitä kranaatti");
252
253        ControllerOne.Listen(Button.Start, ButtonState.Pressed, Exit, "Poistu pelistä");
254        ControllerOne.Listen(Button.Back, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
255       
256        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.01, liikutaTatilla, "Pelaaja liikkuu", porkkana);
257        ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", porkkana, hyppyNopeus);
258
259        ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ammu rynnäkkökiväärillä");
260        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.01, tahtaaTatilla, "Tähtää rynnäkkökiväärillä");
261        ControllerOne.Listen(Button.LeftTrigger, ButtonState.Pressed, HeitaKranaatti, "Heitä kranaatti");   
262    }
263
264    void liikuta(PlatformCharacter hahmo, double nopeus)
265    {
266        hahmo.Walk(nopeus);
267    }
268
269    void hyppaa(PlatformCharacter hahmo, double nopeus)
270    {
271        hahmo.Jump(nopeus);
272    }
273
274    void liikutaTatilla(AnalogState tatintila, PlatformCharacter hahmo)
275    {
276        Vector tatinAsento = tatintila.StateVector;
277        hahmo.Walk(tatinAsento.X*nopeus);
278
279    }
280
281    void AmmuAseella()
282    {
283        PhysicsObject ammus = porkkana.Weapon.Shoot();
284
285
286        if (ammus != null)
287        {
288            ammus.Size *= 5;
289            ammus.MaximumLifetime = TimeSpan.FromSeconds(1.5);
290        }
291    }
292   
293    void TahtaaYlos()
294    {
295        if (porkkana.FacingDirection == Direction.Right)
296        {
297            porkkana.Weapon.Angle += Angle.FromDegrees(5);
298        }
299        if (porkkana.FacingDirection == Direction.Left)
300        {
301            porkkana.Weapon.Angle += Angle.FromDegrees(-5);
302        }
303
304
305    }
306
307    void TahtaaAlas()
308    {
309        if (porkkana.FacingDirection == Direction.Right)
310        {
311            porkkana.Weapon.Angle += Angle.FromDegrees(-5);
312        }
313        if (porkkana.FacingDirection == Direction.Left)
314        {
315            porkkana.Weapon.Angle += Angle.FromDegrees(5);
316        }
317    }
318   
319    void tahtaaTatilla(AnalogState toisentatintila)
320    {
321            Vector toisentatinAsento = toisentatintila.StateVector;
322            porkkana.Weapon.Angle = toisentatinAsento.Angle;
323    }   
324   
325    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
326    {
327
328        if (kohde.Tag.ToString() == "Vihollinen" || kohde.Tag.ToString() == "Vihollinen2")
329        {
330            ammus.Destroy();
331            kohde.Brain = null;
332            TomaattiKuoli(kohde);
333            kohde.IgnoresCollisionResponse = true;
334            rajahdys.AddEffect(kohde.Position, 50);
335
336        }
337       
338        if (kohde == porkkana)
339        {
340            porkkana.Stop();
341
342            MediaPlayer.Play("pling");
343
344            porkkana.Destroy();
345
346            LuoHautakivi();
347
348            LopetaPeli();
349     
350        }
351
352        if (kohde.Tag.ToString() == "Lipas")
353        {
354       
355        }
356    }
357           
358    void LopetaPeli()
359    {
360        HighScoreWindow topIkkuna = new HighScoreWindow("Call of garden: Modern carrotfare",
361            "Parhaat pisteet",
362            "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:",
363            topLista, pistelaskuri.Value);
364        topIkkuna.Closed += TallennaPisteet;
365        Add(topIkkuna);       
366    }
367   
368    void LuoHautakivi()
369    {
370        hautakivi = new PhysicsObject(40, 40);
371        hautakivi.Mass = 100000000000.0;
372
373        hautakivi.IgnoresExplosions = true;
374
375        hautakivi.Image = pelaajanKuvaKuolleena;
376
377        hautakivi.Position = porkkana.Position;
378        Add(hautakivi);
379
380    }
381
382    void TomaattiKuoli(PhysicsObject tomaatti)
383    {
384        tomaatti.Destroy();
385
386        MediaPlayer.Play("ketshup");
387
388        pistelaskuri.Value += 100; 
389
390        kuolluttomaatti = new PhysicsObject(50, 50);
391        kuolluttomaatti.Mass = 4.0;
392
393        kuolluttomaatti.IgnoresCollisionResponse = true;
394
395        kuolluttomaatti.IgnoresGravity = true;
396
397        kuolluttomaatti.IgnoresExplosions = true;
398
399        kuolluttomaatti.Image = vihollisenKuvaKuolleena;
400
401        kuolluttomaatti.Position = tomaatti.Position;
402        Add(kuolluttomaatti);
403
404        LuoLipas(kuolluttomaatti.X - 30, kuolluttomaatti.Y);
405        LuoKranaatti(kuolluttomaatti.X + 30, kuolluttomaatti.Y);
406    }
407
408    void TomaattiOsui(PhysicsObject tomaatti, PhysicsObject kohde)
409    {
410        if (kohde == porkkana)
411        {         
412            tomaatti.Stop();
413            tomaatti.Brain.Active = false;
414
415            porkkana.IgnoresCollisionResponse = true;
416
417            porkkana.Stop();
418
419            MediaPlayer.Play("pling");
420
421            porkkana.Destroy();
422
423            LuoHautakivi();
424
425            LopetaPeli();
426     
427        }
428
429    }
430
431    void LuoPanosLaskuri()
432    {
433        panoslaskuri = new IntMeter(0);
434
435        Label panosnaytto = new Label();
436        panosnaytto.X = Screen.Right - 100;
437        panosnaytto.Y = Screen.Top - 100;
438        panosnaytto.TextColor = Color.Red;
439       
440        panosnaytto.BindTo(porkkana.Weapon.Ammo);
441        Add(panosnaytto);
442
443        Label panosteksti = new Label("Panoksia jäljellä: ");
444        panosteksti.X = Screen.Right - 200;
445        panosteksti.Y = Screen.Top - 100;
446        panosteksti.TextColor = Color.Red;
447
448        Add(panosteksti); 
449    }
450   
451    void LuoPisteLaskuri()
452    {
453        pistelaskuri = new IntMeter(0);
454       
455        Label pistenaytto = new Label();
456        pistenaytto.X = Screen.Right - 100;
457        pistenaytto.Y = Screen.Top - 150;
458        pistenaytto.TextColor = Color.Red;
459
460        pistenaytto.BindTo(pistelaskuri);
461        Add(pistenaytto);
462
463        Label pisteteksti = new Label("Pisteitä: ");
464        pisteteksti.X = Screen.Right - 200;
465        pisteteksti.Y = Screen.Top - 150;
466        pisteteksti.TextColor = Color.Red;
467
468        Add(pisteteksti);
469    }
470
471    PhysicsObject LuoLipas()
472    {
473        lipas = new PhysicsObject(20, 20);
474        lipas.Mass = 2.0;
475
476        lipas.Image = lippaanKuva;
477
478        lipas.IgnoresExplosions = true;
479
480        lipas.Tag = "Lipas";
481
482        Add(lipas);
483        return lipas;
484    }
485
486    void LuoLipas(double x, double y)
487    {
488        LuoLipas().Position = new Vector(x,y);
489    }
490
491    void LipasKranaattiOsuma(PhysicsObject porkkana, PhysicsObject kohde)
492    {
493        if (kohde.Tag.ToString() == "Lipas")
494        {
495            ((PlatformCharacter)porkkana).Weapon.Ammo.Value +=5;
496            kohde.Destroy();
497        }
498        if (kohde.Tag.ToString() == "Kranaatti")
499        {
500            kranaattiLaskuri.Value++;
501            kohde.Destroy();
502        }
503       
504    }
505
506    void HeitaKranaatti()
507    {
508       
509        if (kranaattiLaskuri.Value > 0)
510        {
511            Grenade kranaatti = new Grenade(10.0);
512            kranaatti.Image = kranaatinKuva;
513            kranaatti.Mass = 1.0;
514            kranaatti.ExplosionRadius = 100.0;
515           
516            kranaattiLaskuri.Value -= 1;
517
518            kranaatti.X = porkkana.X;
519            kranaatti.Y = porkkana.Y;
520            Add(kranaatti);
521            Vector kranaatinlento = Vector.FromLengthAndAngle(700.0, porkkana.Weapon.Angle);
522            kranaatti.Hit(kranaatinlento);
523            kranaatti.Destroyed += new Action(delegate { kranaatti_Destroyed(kranaatti); });
524        }
525    }
526
527    void kranaatti_Destroyed(Grenade s)
528    {
529        foreach (PhysicsObject item in rajahdyksenTomaattiUhrit)
530        {
531            if (Vector.Distance(s.Position, item.Position) < s.ExplosionRadius)
532            {
533                TomaattiKuoli(item);
534                rajahdys.AddEffect(item.Position, 50);
535            }
536        }
537       
538        foreach (GameObject item in rajahdyksenPorkkanaUhri)
539        {
540            if (Vector.Distance(s.Position, item.Position) < s.ExplosionRadius)
541            {
542                porkkana.Stop();
543
544                MediaPlayer.Play("pling");
545
546                porkkana.Destroy();
547
548                LuoHautakivi();
549
550                LopetaPeli();
551     
552            }
553        }
554   
555   
556    }
557
558    void vihollinenAmpuu(Timer ampumaAjastin)
559    {
560        PlatformCharacter tomaatti2 = ampumaAjastin.Tag as PlatformCharacter;
561       
562        Vector ampumaSuunta = (porkkana.Position - tomaatti2.Position).Normalize();
563        tomaatti2.Weapon.Angle = ampumaSuunta.Angle;
564
565        PhysicsObject vihu = ampumaAjastin.Tag as PhysicsObject;
566       
567        PhysicsObject ammus = tomaatti2.Weapon.Shoot();
568       
569        if (ammus != null)
570        {
571            ammus.Size *= 5;
572            ammus.MaximumLifetime = TimeSpan.FromSeconds(1.5);
573            ammus.IgnoresGravity = true;
574        }
575    }
576
577    void LuoKranaattiLaskuri ()
578    {
579        kranaattiLaskuri= new IntMeter(3);
580        kranaattiLaskuri.MinValue = 0;
581        Label kranaattiNaytto = new Label();
582        kranaattiNaytto.X = Screen.Right - 100;
583        kranaattiNaytto.Y = Screen.Top - 50;
584        kranaattiNaytto.TextColor = Color.Red;
585
586               
587        kranaattiNaytto.BindTo(kranaattiLaskuri);
588        Add( kranaattiNaytto);
589
590        Label kranaattiteksti = new Label("Kranaatteja jäljellä: ");
591        kranaattiteksti.X = Screen.Right - 200;
592        kranaattiteksti.Y = Screen.Top - 50;
593        kranaattiteksti.TextColor = Color.Red;
594
595        Add(kranaattiteksti); 
596    }
597
598    PhysicsObject LuoKranaatti()
599    {
600        uusikranaatti = new PhysicsObject(40, 20);
601        uusikranaatti.Mass = 2.0;
602
603        uusikranaatti.Image = uudenKranaatinKuva;
604
605        uusikranaatti.IgnoresExplosions = true;
606
607        uusikranaatti.Tag = "Kranaatti";
608
609        Add(uusikranaatti);
610        return uusikranaatti;
611    }
612
613    void LuoKranaatti(double x, double y)
614    {
615        LuoKranaatti().Position = new Vector(x, y);
616    }
617
618    PhysicsObject LuoMaali()
619    {
620        PhysicsObject maali = new PhysicsObject(40, 40);
621        maali.Image = maalinKuva;
622        maali.Mass = 4.0;
623        AddCollisionHandler(maali, MaaliinOsuma);
624        return maali;
625    }
626
627    void MaaliinOsuma(PhysicsObject maali, PhysicsObject kohde)
628    {
629        if (kohde == porkkana)
630        {
631            kenttaLaskuri.Value++;
632        }
633    }
634
635    void TallennaPisteet(Window sender)
636    {
637        DataStorage.Save<ScoreList>(topLista, "pisteet.xlm");
638
639        Label lopetus = new Label();
640        lopetus.Position = Screen.Center;
641        lopetus.TextColor = Color.Orange;
642        lopetus.Font = Font.DefaultLargeBold;
643        Add(lopetus);
644        lopetus.Text = "                                                       Game over.\n" +
645        "Jos haluat aloittaa alusta, paina enter/A. Jos taas haluat lopettaa, paina Esc/start.";
646
647        ClearControls();
648
649        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
650        Keyboard.Listen(Key.Enter, ButtonState.Pressed, Begin, null);
651
652        ControllerOne.Listen(Button.A, ButtonState.Down, Begin, "Poistu pelistä");
653        ControllerOne.Listen(Button.Start, ButtonState.Down, Exit, null);
654
655    }
656
657    PhysicsObject LuoRaha()
658    {
659        raha = new PhysicsObject(40, 40);
660        raha.Mass = 4.0;
661        raha.Image = RahanKuva;
662        AddCollisionHandler(raha, RahaanTormays);
663        return raha;
664    }
665
666    void RahaanTormays(PhysicsObject raha, PhysicsObject kohde)
667    {
668        if(kohde == porkkana)
669        {
670            pistelaskuri.Value += 1;
671        }
672    }
673
674    void TeeKentta1()
675    {
676        TileMap kentta = TileMap.FromFile("kentta1.txt");
677        kentta['#'] = lisaaTaso;
678        kentta['K'] = lisaaTaso2;
679        kentta['N'] = lisaaPelaaja;
680        kentta['E'] = lisaaTomaatti;
681        kentta['L'] = LuoLipas;
682        kentta['A'] = LuoKranaatti;
683        kentta['T'] = lisaaTomaatti2;
684        kentta['M'] = LuoMaali;
685        kentta['R'] = LuoRaha;
686        kentta.Insert(RUUDUN_KOKO, RUUDUN_KOKO);
687        Level.CreateBorders();
688        Level.Background.CreateGradient(Color.Blue, Color.Black);
689    }
690}             
Note: See TracBrowser for help on using the repository browser.