source: 2011/23/iltakuop/Blocks/Blocks/Blocks/Peli.cs @ 1799

Revision 1799, 21.1 KB checked in by iltakuop, 8 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
9
10class Taso2 : PhysicsObject
11{
12    public int hitPoints = 2;
13    public Taso2()
14        : base(40, 10)
15    {
16        MakeStatic();
17    }
18
19
20}
21
22
23
24
25
26public class Peli : PhysicsGame
27{
28    int mailanNopeus = 600;
29    int pallonNopeus = 300;
30    int äläLuoPalloa = 0;
31    //Vector nopeusVasen = new Vector(-600, 0);
32
33    PhysicsObject pallo;
34    PhysicsObject maila;
35    PhysicsObject tnt;
36    PhysicsObject elämä;
37
38    PhysicsObject alaReuna;
39    int kenttäNro = 1;
40    int kenttäMäärä = 5;
41
42    int palloolemassa;
43    const int RUUDUN_KOKO = 5;
44
45    Image palloKuva = LoadImage("Pallo");
46    Image tntKuva = LoadImage("TNT");
47    Image tasoKuva = LoadImage("Palikka");
48    Image taso2Kuva = LoadImage("Vahvistettu palikka");
49    Image taso2Kuva2 = LoadImage("Vahvistettu palikka2");
50    Image tasoTuhoutumatonKuva = LoadImage("Tuhoutumaton");
51    Image tasoTuhoutumatonKuvaPysty = LoadImage("TuhoutumatonPysty");
52    Image taustaKuva = LoadImage("Taustakuva1");
53    Image taustaKuva2 = LoadImage("Taustakuva2");
54    Image taustaKuva3 = LoadImage("Taustakuva3");
55    Image mailanKuva = LoadImage("Maila");
56    int pisteet;
57    int elämät = 3;
58    int randomKentät = 0;
59    IntMeter pisteetL;
60    IntMeter elämätL;
61
62    Label päälläPois;
63
64    List<Label> valikonKohdat;
65    List<PhysicsObject> tasot = new List<PhysicsObject>();
66    List<PhysicsObject> taso2t = new List<PhysicsObject>();
67    List<PhysicsObject> tntt = new List<PhysicsObject>();
68    List<PhysicsObject> tasoTuhoutumatont = new List<PhysicsObject>();
69
70    public override void Begin()
71    {
72        Valikko();
73    }
74
75    void Valikko()
76    {
77        äläLuoPalloa = 1;
78        ClearAll();
79        Level.Background.Image = taustaKuva3;
80        Level.Background.Size = new Vector(Screen.Width, Screen.Height);
81        Camera.ZoomToLevel(1);
82
83        valikonKohdat = new List<Label>();
84
85        Label kohta1 = new Label("Aloita uusi peli");
86        kohta1.Position = new Vector(-80, 40);
87        valikonKohdat.Add(kohta1);
88
89        Label kohta2 = new Label("Asetukset");
90        kohta2.Position = new Vector(-80, -40);
91        valikonKohdat.Add(kohta2);
92
93        Label kohta3 = new Label("Lopeta");
94        kohta3.Position = new Vector(80, -40);
95        valikonKohdat.Add(kohta3);
96
97        Label kohta4 = new Label("Ohjeet");
98        kohta4.Position = new Vector(80, 40);
99        valikonKohdat.Add(kohta4);
100
101        foreach (Label valikonKohta in valikonKohdat)
102        {
103            Add(valikonKohta);
104        }
105
106        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
107        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Asetukset, null);
108        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Lopeta, null);
109        Mouse.ListenOn(kohta4, MouseButton.Left, ButtonState.Pressed, Ohjeet, null);
110
111        Mouse.IsCursorVisible = true;
112        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null);
113        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, "");
114    }
115
116    void ValikossaLiikkuminen(AnalogState hiirenTila)
117    {
118        foreach (Label kohta in valikonKohdat)
119        {
120            if (Mouse.IsCursorOn(kohta))
121            {
122                kohta.TextColor = Color.Red;
123            }
124            else
125            {
126                kohta.TextColor = Color.Black;
127            }
128
129        }
130    }
131
132    void ValikossaLiikkuminen2(AnalogState hiirenTila)
133    {
134        foreach (Label kohta in valikonKohdat)
135        {
136            if (Mouse.IsCursorOn(kohta))
137            {
138                kohta.TextColor = Color.Red;
139            }
140            else
141            {
142                kohta.TextColor = Color.White;
143            }
144
145        }
146    }
147
148
149    void AloitaPeli()
150    {
151        ClearAll();
152        äläLuoPalloa = 0;
153        nollaaPisteet();
154        LuoKenttä(1);
155        AsetaOhjaimet();
156        LisääLaskurit(3, 0);
157        AloitaPeliUudestaan();
158    }
159
160    void nollaaPisteet()
161    {
162        kenttäNro = 1;
163        pisteet = 0;
164        elämät = 3;
165    }
166
167    void Lopeta()
168    {
169        Exit();
170    }
171
172    void Ohjeet()
173    {
174
175    }
176
177    void Asetukset()
178    {
179        ClearAll();
180
181        Level.Background.Image = taustaKuva2;
182        Level.Background.Size = new Vector(Screen.Width, Screen.Height);
183        Camera.ZoomToLevel(1);
184
185        valikonKohdat = new List<Label>();
186
187        Label kohta1 = new Label("Pallon nopeus");
188        kohta1.Position = new Vector(-80, 40);
189        valikonKohdat.Add(kohta1);
190        kohta1.TextColor = Color.White;
191
192        Label kohta2 = new Label("Mailan nopeus");
193        kohta2.Position = new Vector(-80, -40);
194        valikonKohdat.Add(kohta2);
195        kohta2.TextColor = Color.White;
196
197        Label kohta3 = new Label("Takaisin");
198        kohta3.Position = new Vector(80, -40);
199        valikonKohdat.Add(kohta3);
200        kohta3.TextColor = Color.White;
201
202        Label kohta4 = new Label("Satunaiset kentät");
203        kohta4.TextColor = Color.White;
204
205        if (randomKentät == 1)
206        {
207            päälläPois = new Label("Päällä");
208        }
209        else { päälläPois = new Label("Pois päältä"); }
210        kohta4.Position = new Vector(100, 40);
211        päälläPois.Position = new Vector(70, 15);
212        päälläPois.TextColor = Color.White;
213        valikonKohdat.Add(päälläPois);
214        Add(kohta4);
215
216        foreach (Label valikonKohta in valikonKohdat)
217        {
218            Add(valikonKohta);
219        }
220
221        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AsetaPallonNopeus, null);
222        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, AsetaMailanNopeus, null);
223        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Valikko, null);
224        Mouse.ListenOn(päälläPois, MouseButton.Left, ButtonState.Pressed, satunaisetKentät, null);
225
226        Mouse.IsCursorVisible = true;
227        Mouse.ListenMovement(1.0, ValikossaLiikkuminen2, null);
228        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, "");
229    }
230
231    void satunaisetKentät()
232    {
233        if (randomKentät == 1)
234        {
235            randomKentät = 0;
236        }
237        else
238        {
239            randomKentät = 1;
240        }
241        Asetukset();
242    }
243
244    void AsetaPallonNopeus()
245    {
246        InputWindow kysymysIkkuna = new InputWindow("Pallon nopeus", "Oletus on 300");
247        kysymysIkkuna.TextEntered += KäsitteleAsetukset;
248        Add(kysymysIkkuna);
249
250    }
251
252    void AsetaMailanNopeus()
253    {
254        InputWindow kysymysIkkuna = new InputWindow("Mailan nopeus", "Oletus on 600");
255        kysymysIkkuna.TextEntered += KäsitteleAsetukset2;
256        Add(kysymysIkkuna);
257    }
258
259    void KäsitteleAsetukset(InputWindow ikkuna)
260    {
261        try
262        {
263            int vastaus = int.Parse(ikkuna.InputBox.Text);
264            pallonNopeus = vastaus;
265        }
266        catch (FormatException)
267        {
268            ClearAll();
269            Label tekstikentta = new Label("Anna luku!");
270            Add(tekstikentta);
271            Timer.SingleShot(2, ClearAll);
272            Timer.SingleShot(2.01, Asetukset);
273        }
274    }
275
276    void KäsitteleAsetukset2(InputWindow ikkuna)
277    {
278        try
279        {
280            int vastaus = int.Parse(ikkuna.InputBox.Text);
281            mailanNopeus = vastaus;
282        }
283        catch (FormatException)
284        {
285            ClearAll();
286            Label tekstikentta = new Label("Anna luku!");
287            Add(tekstikentta);
288            Timer.SingleShot(2, ClearAll);
289            Timer.SingleShot(2.01, Asetukset);
290        }
291    }
292
293    PhysicsObject LuoPallo() //-170
294    {
295        PhysicsObject pallo1 = new PhysicsObject(18.0, 18.0);
296        pallo1.Image = palloKuva;
297        pallo1.Shape = Shape.Circle;
298        pallo1.Color = Color.LightGreen;
299        pallo1.Tag = "pallo";
300        pallo1.Restitution = 1.0;
301        pallo1.X = 0;
302        pallo1.Y = -168;
303        pallo1.CanRotate = false;
304        palloolemassa = 1;
305        return pallo1;
306    }
307
308    void LuoKenttä(int a)
309    {
310
311        LuoPalikat(a);
312        Level.Background.Image = taustaKuva;
313        Level.Background.Size = new Vector(Screen.Width, Screen.Height);
314
315        Camera.ZoomToLevel(1);
316    }
317
318    void AloitaPeliUudestaan()
319    {
320        maila.X = 0;
321        if (palloolemassa == 1)
322        {
323            pallo.Destroy();
324        }
325        if (äläLuoPalloa == 0)
326        {
327            pallo = LuoPallo();
328            AddCollisionHandler(pallo, KäsittelePallonTörmäys);
329            Add(pallo);
330        }
331    }
332
333    void AsetaOhjaimet()
334    {
335        Vector nopeusVasen = new Vector(-mailanNopeus, 0);
336        Vector nopeusOikea = new Vector(mailanNopeus, 0);
337        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liikuta mailaa oikealle", maila, nopeusOikea);
338        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero);
339        Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Liikuta mailaa vasemmalle", maila, nopeusVasen);
340        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero);
341
342        Keyboard.Listen(Key.T, ButtonState.Pressed, AloitaPeliUudestaan, null);
343        Keyboard.Listen(Key.R, ButtonState.Pressed, DebugRäjäytys, null);
344
345        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
346        Keyboard.Listen(Key.F2, ButtonState.Pressed, SeuraavaTaso, null);
347        Keyboard.Listen(Key.F3, ButtonState.Pressed, AnnaElämä, null);
348
349        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon");
350
351
352    }
353
354    void AnnaElämä()
355    {
356        elämät++;
357        pisteet += 200;
358        pisteetL.Value = pisteet;
359        elämätL.Value = elämät;
360    }
361
362    void DebugRäjäytys() { Räjähdys(tnt.Position); }
363
364    void LisääLaskurit(int elämät, int pisteet)
365    {
366        pisteetL = LuoPisteLaskuri(Screen.Left + 180.0, Screen.Top - 80.0, pisteet);
367        elämätL = LuoPisteLaskuri(Screen.Right - 100.0, Screen.Top - 80.0, elämät);
368        Label tekstikentta = new Label("Palloja jäljellä: ");
369        tekstikentta.X = Screen.Right - 180;
370        tekstikentta.Y = Screen.Top - 80;
371        tekstikentta.TextColor = Color.White;
372        Label tekstikentta2 = new Label("Pisteet: ");
373        tekstikentta2.X = Screen.Left + 100.0;
374        tekstikentta2.Y = Screen.Top - 80;
375        tekstikentta2.TextColor = Color.White;
376
377        Add(tekstikentta2);
378        Add(tekstikentta);
379    }
380
381    IntMeter LuoPisteLaskuri(double x, double y, int määrä)
382    {
383        IntMeter laskuri = new IntMeter(määrä);
384        Label näyttö = new Label();
385        näyttö.BindTo(laskuri);
386        näyttö.X = x;
387        näyttö.Y = y;
388        näyttö.TextColor = Color.White;
389        Add(näyttö);
390        return laskuri;
391    }
392
393    void KäsittelePallonTörmäys(PhysicsObject pallo, PhysicsObject kohde)
394    {
395        if (kohde == alaReuna)
396        {
397            pallo.Destroy();
398            palloolemassa = 0;
399            elämät -= 1;
400            if (elämät == 0)
401            {
402                HävisitPelin();
403            }
404            else Timer.SingleShot(1, AloitaPeliUudestaan);
405        }
406        if (kohde.Tag.ToString() == "taso")
407        {
408            pisteet += 100;
409            AnnaPowerUp(kohde);
410            Timer.SingleShot(0.01, kohde.Destroy);
411            tasot.Remove(kohde);
412            TarkistaVoitto();
413        }
414        if (kohde.Tag.ToString() == "taso2")
415        {
416            Taso2 taso2 = (Taso2)kohde;
417            taso2.hitPoints--;
418            if (taso2.hitPoints == 1)
419            { taso2.Image = taso2Kuva2; }
420            else if (taso2.hitPoints == 0)
421            {
422                AnnaPowerUp(kohde);
423                Timer.SingleShot(0.01, kohde.Destroy);
424                pisteet += 300;
425            }
426            taso2t.Remove(kohde);
427            TarkistaVoitto();
428           
429        }
430        if (kohde.Tag.ToString() == "TNT")
431        {
432            pisteet += 100;
433            AnnaPowerUp(kohde);
434            Räjähdys(kohde.Position);
435            Timer.SingleShot(0.01, kohde.Destroy);
436            TarkistaVoitto();
437           
438        }
439        pisteetL.Value = pisteet;
440        elämätL.Value = elämät;
441
442    }
443
444    void AnnaPowerUp(PhysicsObject kohde)
445    {
446        int elämäPower = RandomGen.NextInt(0, 20);
447        if (elämäPower == 0)
448        {
449            PudotaElämä(kohde);
450        }
451    }
452
453    void PudotaElämä(PhysicsObject kohde)
454    {
455        elämä = new PhysicsObject(10, 10);
456        elämä.IgnoresCollisionResponse = true;
457        elämä.Tag = "elämä";
458        elämä.Position = kohde.Position;
459        elämä.Shape = Shape.Circle;
460        Vector impulssi = new Vector(0, -100);
461        Add(elämä);
462        elämä.Hit(impulssi);
463    }
464    void TarkistaVoitto()
465    {
466        if ((tasot.Count == 0) && (taso2t.Count == 0) && (tntt.Count == 0))
467        {
468            SeuraavaTaso();
469        }
470
471    }
472
473    void SeuraavaTaso()
474    {
475        tasot.Clear();
476        tntt.Clear();
477        taso2t.Clear();
478        kenttäNro += 1;
479        if (kenttäNro > kenttäMäärä)
480        {
481            ClearAll();
482            Label tekstikentta = new Label("Voitit, onneksi olkoon! Sait " + pisteet + " pistettä!");
483            Add(tekstikentta);
484            Timer.SingleShot(2, Exit);
485        }
486        else
487        {
488            ClearAll();
489            Label tekstikentta = new Label("Pääsit seuraavaan tasoon");
490            Add(tekstikentta);
491            Timer.SingleShot(1.5, SeuraavaTaso2);
492        }
493
494    }
495
496    void SeuraavaTaso2()
497    {
498        ClearAll();
499        LuoKenttä(kenttäNro);
500        AsetaOhjaimet();
501        LisääLaskurit(elämät, pisteet);
502        AloitaPeliUudestaan();
503    }
504
505    void Räjähdys(Vector kohde)
506    {
507
508        Explosion rajahdys = new Explosion(10);
509        rajahdys.Position = kohde;
510        rajahdys.Force = 0;
511        Add(rajahdys);
512
513        //foreach (PhysicsObject taso in tasot)
514        //for(int i = 0; i<tasot.Count; i++)
515        int i = 0;
516        while (i < tasot.Count)
517        {
518            if (((tasot[i].X - kohde.X) < 100) && ((tasot[i].X - kohde.X) > -100)
519                && ((tasot[i].Y - kohde.Y) < 80) && ((tasot[i].Y - kohde.Y) > -80))
520            {
521                tasot[i].Destroy();
522                tasot.RemoveAt(i);
523                pisteet += 100;
524                pisteetL.Value = pisteet;
525            }
526            else
527            {
528                i++;
529            }
530        }
531        int w = 0;
532        while (w < taso2t.Count)
533        {
534            if (((taso2t[w].X - kohde.X) < 100) && ((taso2t[w].X - kohde.X) > -100)
535                && ((taso2t[w].Y - kohde.Y) < 80) && ((taso2t[w].Y - kohde.Y) > -80))
536            {
537                taso2t[w].Destroy();
538                taso2t.RemoveAt(w);
539                pisteet += 300;
540                pisteetL.Value = pisteet;
541            }
542            else
543            {
544                w++;
545            }
546        }
547        int o = 0;
548        while (o < tntt.Count)
549        {
550            if (((tntt[o].X - kohde.X) < 100) && ((tntt[o].X - kohde.X) > -100)
551                && ((tntt[o].Y - kohde.Y) < 80) && ((tntt[o].Y - kohde.Y) > -80))
552            {
553                Vector räjähdysPaikka = tntt[o].Position;
554                tntt[o].Destroy();
555                tntt.RemoveAt(o);
556                pisteet += 100;
557                pisteetL.Value = pisteet;
558                Räjähdys(räjähdysPaikka);
559
560            }
561            else
562            {
563                o++;
564            }
565        }
566    }
567
568    void LuoPalikat(int x)
569    {
570
571        if (randomKentät == 0)
572        {
573            TileMap kentta = TileMap.FromFile("kentta" + x + ".txt");
574            kentta['#'] = lisaaTaso;
575            kentta['!'] = lisaaTaso2;
576            kentta['p'] = lisaaPystyTaso;
577            kentta['P'] = lisaaPystyTasoTuhoutumaton;
578            kentta['*'] = lisaaTNT;
579            kentta['T'] = lisaaTasoTuhoutumaton;
580            kentta['m'] = LuoMaila;
581            kentta['-'] = LuoReunat;
582            kentta['_'] = LuoAlaReuna;
583            kentta['y'] = LuoYläReuna;
584            kentta.Insert(20, 20);
585        }
586        else
587        {
588            TileMap kentta = TileMap.FromFile("kenttarandom.txt");
589            kentta['#'] = lisaaRandomTaso;
590            kentta['m'] = LuoMaila;
591            kentta['-'] = LuoReunat;
592            kentta['_'] = LuoAlaReuna;
593            kentta['y'] = LuoYläReuna;
594            kentta.Insert(40, 40);
595        }
596    }
597
598    PhysicsObject lisaaTaso()
599    {
600        PhysicsObject taso = PhysicsObject.CreateStaticObject(40, 10);
601        taso.Tag = "taso";
602        taso.Image = tasoKuva;
603        taso.Restitution = 1.0;
604        tasot.Add(taso);
605        return taso;
606    }
607
608    PhysicsObject lisaaTasoTuhoutumaton()
609    {
610        PhysicsObject tasoTuhoutumaton = PhysicsObject.CreateStaticObject(40, 10);
611        //tasoTuhoutumaton.Tag = "taso";
612        tasoTuhoutumaton.Image = tasoTuhoutumatonKuva;
613        tasoTuhoutumaton.Restitution = 1.0;
614        return tasoTuhoutumaton;
615    }
616
617    PhysicsObject lisaaPystyTaso()
618    {
619        PhysicsObject taso = PhysicsObject.CreateStaticObject(10, 40);
620        taso.Tag = "taso";
621        taso.Image = tasoKuva;
622        taso.Restitution = 1.0;
623        tasot.Add(taso);
624        return taso;
625    }
626
627    PhysicsObject lisaaPystyTasoTuhoutumaton()
628    {
629        PhysicsObject tasoTuhoutumaton = PhysicsObject.CreateStaticObject(10, 40);
630        //tasoTuhoutumaton.Tag = "taso";
631        tasoTuhoutumaton.Image = tasoTuhoutumatonKuvaPysty;
632        tasoTuhoutumaton.Restitution = 1.0;
633        return tasoTuhoutumaton;
634    }
635
636    PhysicsObject lisaaTaso2()
637    {
638        Taso2 taso2 = new Taso2();
639        taso2.Tag = "taso2";
640        taso2.Image = taso2Kuva;
641        taso2.Restitution = 1.0;
642        taso2t.Add(taso2);
643        return taso2;
644    }
645
646    PhysicsObject lisaaTNT()
647    {
648        tnt = PhysicsObject.CreateStaticObject(40, 10);
649        tnt.Image = tntKuva;
650        tnt.Restitution = 1;
651        tntt.Add(tnt);
652        tnt.Tag = "TNT";
653
654        return tnt;
655    }
656
657    PhysicsObject LuoMaila()
658    {
659        maila = PhysicsObject.CreateStaticObject(60.0, 10);
660        maila.Shape = Shape.Rectangle;
661        maila.Image = mailanKuva;
662        maila.Restitution = 0.5;
663        maila.Color = Color.Green;
664        return maila;
665    }
666
667    PhysicsObject lisaaRandomTaso()
668    {
669        int tasonTyyppi = RandomGen.NextInt(1, 4);
670        PhysicsObject taso;
671
672        if (tasonTyyppi == 1)
673        {
674            taso = lisaaTaso();
675        }
676        else if (tasonTyyppi == 2)
677        {
678            taso = lisaaTaso2();
679        }
680        else if (tasonTyyppi == 3)
681        {
682            taso = lisaaTNT();
683        }
684        else if (tasonTyyppi == 4)
685        {
686            MessageDisplay.Add("tuli nelonen");
687            taso = lisaaTaso();
688        }
689        else
690        {
691            taso = lisaaTaso();
692        }
693
694
695        return taso;
696    }
697
698    PhysicsObject LuoReunat()
699    {
700        PhysicsObject reuna = PhysicsObject.CreateStaticObject(40, 800);
701        reuna.IsVisible = false;
702        reuna.Restitution = 1.0;
703        return reuna;
704    }
705
706    PhysicsObject LuoAlaReuna()
707    {
708        alaReuna = PhysicsObject.CreateStaticObject(800, 40);
709        alaReuna.Color = Color.Black;
710        alaReuna.IsVisible = false;
711        alaReuna.Restitution = 1.0;
712        return alaReuna;
713    }
714
715    PhysicsObject LuoYläReuna()
716    {
717        PhysicsObject yläReuna = PhysicsObject.CreateStaticObject(800, 40);
718        yläReuna.Color = Color.Black;
719        yläReuna.IsVisible = false;
720        yläReuna.Restitution = 1.0;
721        return yläReuna;
722    }
723
724    void AsetaNopeus(PhysicsObject maila, Vector nopeus)
725    {
726        if ((nopeus.X < 0) && (maila.Left < Level.Left + 40))
727        {
728            maila.Velocity = Vector.Zero;
729            return;
730        }
731
732        if ((nopeus.X > 0) && (maila.Right > Level.Right - 40))
733        {
734            maila.Velocity = Vector.Zero;
735            return;
736        }
737        maila.Velocity = nopeus;
738    }
739
740    void HävisitPelin()
741    {
742        ClearAll();
743        Label tekstikentta = new Label("Hävisit. Sait " + pisteet + " pistettä");
744        Add(tekstikentta);
745        Timer.SingleShot(3, Valikko);
746    }
747
748    protected override void Update(Time time)
749    {
750        if (pallo != null && Math.Abs(pallo.Velocity.Y) < pallonNopeus)
751        {
752            pallo.Velocity = new Vector(pallo.Velocity.X, pallo.Velocity.Y * 1.1);
753
754        }
755        if (pallo != null && Math.Abs(pallo.Velocity.X) < pallonNopeus)
756        {
757            pallo.Velocity = new Vector(pallo.Velocity.X * 1.1, pallo.Velocity.Y);
758
759        }
760        base.Update(time);
761
762    }
763
764
765}
Note: See TracBrowser for help on using the repository browser.