source: 2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/FromAbove.cs @ 2900

Revision 2900, 41.9 KB checked in by anjuroys, 9 years ago (diff)

Kartanvalinta ja komboa peräkkäisistä voitoista,Nyt ilmoittaa kun voitat,pistemaksimin säätö(Pistemäärä josta voittaa)combo = Bonuspisteet

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Pelaaja : PhysicsObject
10{
11    public DoubleMeter elamaMittari;
12    public DoubleMeter turbomittari;
13    public DoubleMeter Ammusmittari;
14    public DoubleMeter Pistemittari;
15    public double Latausnopeus;
16    public double Latapati;
17    public bool lataamassa = false;
18    public bool Recoil = false;
19    public double liikkumisnopeus;
20    public DoubleMeter Pisteputki;
21    public Explosion Viimeisinrajahdus = null;
22    public double Ampumisnopeus;
23    public double Combo = 1;
24    public String Asekuva;
25    public string Ase;
26    public Vector viimeisinSuunta = Vector.Zero;
27
28   
29   
30    public Pelaaja(double leveys, double korkeus)
31        : base(leveys, korkeus)
32    {
33        elamaMittari = new DoubleMeter(1000, 0, 1000);
34        turbomittari = new DoubleMeter(50, 0, 100);
35        Ammusmittari = new DoubleMeter(250, 0, 250);
36        Pistemittari = new DoubleMeter(0, 0, 3000);
37        Pisteputki = new DoubleMeter(0, 0, 10);
38        Ampumisnopeus = 512;
39        Ase = "Heavy";
40        Asekuva = "HMG";
41        Latausnopeus = 6.0;
42        Latapati = 250;
43        liikkumisnopeus = 155;
44    }
45}
46
47public class FromAbove : PhysicsGame
48{
49    //Mitä pitää vielä tehdä:(Muistutus itselleni!:
50    //Aseet:M16,Hammer Kranaattikonekivaari
51    //Pelimuodot:Hold the territory
52    //Pelimuodot:Wheel of fortune(Saa tappo 5 satunnaisgeneroidulla aseella)
53    //Kartan vaihtaminen (Ei onnistunut)
54    //Muut:Pistemaksimista pitäisi tulla viesti
55    //Paremmat grafiikat
56    //Aseiden tasapainotusta
57    //Maksimipanokset (Palaavat joka 1min Maksimiksi)
58    //Pistecombo 3 tuhoamisesta tuhoutumatta
59    Pelaaja pallo;
60    Pelaaja pallo2;
61   
62    PhysicsObject alareuna;
63    GameObject Sinikuva;
64    GameObject Punakuva;
65    GameObject Text;
66    GameObject Text2;
67    PhysicsObject m;
68    PhysicsObject n;
69    PhysicsObject n2;
70    PhysicsObject m2; 
71    BarGauge elppiPalkki = new BarGauge(50, 150);
72    BarGauge elppiPalkki2 = new BarGauge(50, 150);
73    BarGauge turboPalkki = new BarGauge(50, 150);
74    BarGauge turboPalkki2 = new BarGauge(50, 150);
75    BarGauge ammusPalkki = new BarGauge(50, 150);
76    BarGauge ammusPalkki2 = new BarGauge(50, 150);
77    BarGauge pistePalkki = new BarGauge(150, 40);
78    BarGauge pistePalkkib = new BarGauge(150, 40);
79    Image pPallo = LoadImage("Punapallo");
80    Image sPallo = LoadImage("Sinipallo");
81    Image sPati = LoadImage("Punapati");
82    Image Boom = LoadImage("Boom!++++++");
83    Image pPati = LoadImage("Sinipati");
84    Image kransu = LoadImage("kransu");
85    Image Sydan = LoadImage("Heart");
86    Image salama = LoadImage("Lightning");
87    Image Shotgun = LoadImage("Striker");
88    Image Famas = LoadImage("Famas");
89    Image Caliber = LoadImage("Caliber 89");
90    Image Ak47u = LoadImage("Aku");
91    Image Sniper = LoadImage("Barret");
92    Image Light = LoadImage("Light");
93    Image HMG = LoadImage("HMG");
94    Image tausta = LoadImage("Hpboost");
95    Image tausta2 = LoadImage("Hpboost2");
96    Image MGH = LoadImage("Dragunov");
97    Image Spas = LoadImage("Spas12");
98     bool Kenttalad;
99     
100    public override void Begin()
101     {
102         Kenttalad = false;
103       
104
105
106
107        //Kirjoita ohjelmakoodisi tähän
108
109
110        pallo = Luopallo(Color.Blue, Level.Left + 20, Level.Top - 50);
111        pallo2 = Luopallo(Color.Red, Level.Right - 20, Level.Top - 50);
112        pallo.Image = sPallo;
113        pallo2.Image = pPallo;
114
115
116        Level.Background.CreateGradient(Color.White, Color.LightBlue);
117
118
119        Luokentta();       
120        Liikkeet();
121        Luoajastin();
122        Kutsuvalikko();
123
124    }
125
126    Pelaaja Luopallo(Color vari, double x, double y)
127    {
128        Pelaaja pallo = new Pelaaja(25, 25);
129        pallo.elamaMittari.LowerLimit += delegate { Pelaajakuoli(pallo); };
130        pallo.Pistemittari.UpperLimit += delegate { Maxpointsreached(pallo); };
131        pallo.Shape = Shape.Circle;
132        pallo.Restitution = 0.0;
133        pallo.X = x;
134        pallo.Y = y;
135        pallo.CanRotate = false;
136        pallo.Tag = "pallo";
137        pallo.Color = vari;
138        Add(pallo);
139        return pallo;
140    }
141    void Luoajastin()
142    {
143        Timer ajastin = new Timer();
144        ajastin.Interval = 1.0;
145        ajastin.Timeout += delegate { pallo.turbomittari.Value += 5; };
146        ajastin.Timeout += delegate { pallo2.turbomittari.Value += 5; };
147        ajastin.Start();
148    }
149    void Luokentta()
150    {
151        Surface vasenReuna = Surface.CreateLeft(Level);
152        vasenReuna.Color = Color.DarkBlue;
153        Add(vasenReuna);
154        Surface oikeaReuna = Surface.CreateRight(Level);
155        oikeaReuna.Color = Color.DarkBlue;
156        Add(oikeaReuna);
157        Surface ylaReuna = Surface.CreateTop(Level);
158        ylaReuna.Color = Color.DarkBlue;
159        Add(ylaReuna);
160        Surface alaReuna = Surface.CreateBottom(Level);
161        alaReuna.Color = Color.DarkBlue;
162        Add(alaReuna);
163        PhysicsObject alareuna = PhysicsObject.CreateStaticObject(1000, 10);
164        alareuna.Color = Color.DarkBlue;
165        alareuna.X = 0;
166        alareuna.Y = -150;
167        Add(alareuna);
168
169        PhysicsObject vali = PhysicsObject.CreateStaticObject(10, 290);
170        vali.Color = Color.DarkBlue;
171        vali.X = 0;
172        vali.Y = -300;
173        Add(vali);
174
175        Sinikuva = new GameObject(HMG);
176        Sinikuva.Position = new Vector(-165,-300);
177        Add(Sinikuva);
178
179        Punakuva = new GameObject(HMG);
180        Punakuva.Position = new Vector(165, -300);
181        Add(Punakuva);
182
183        GameObject Text = new GameObject(tausta);
184        Text.Position = new Vector(-399, -190);
185        Add(Text);
186
187        GameObject Text2 = new GameObject(tausta2);
188        Text2.Position = new Vector(399, -190);
189        Add(Text2);
190
191        elppiPalkki.BindTo(pallo.elamaMittari);
192        elppiPalkki.BarColor = Color.Red;
193        elppiPalkki.BorderColor = Color.Black;
194        elppiPalkki.Position = new Vector(-450, -300);
195        Add(elppiPalkki);
196
197        elppiPalkki2.BindTo(pallo2.elamaMittari);
198        elppiPalkki2.BarColor = Color.Red;
199        elppiPalkki2.BorderColor = Color.Black;
200        elppiPalkki2.Position = new Vector(350, -300);
201        Add(elppiPalkki2);
202
203        turboPalkki.BindTo(pallo.turbomittari);
204        turboPalkki.BarColor = Color.DarkBlue;
205        turboPalkki.BorderColor = Color.Black;
206        turboPalkki.Position = new Vector(-400, -300);
207        Add(turboPalkki);
208
209        turboPalkki2.BindTo(pallo2.turbomittari);
210        turboPalkki2.BarColor = Color.DarkBlue;
211        turboPalkki2.BorderColor = Color.Black;
212        turboPalkki2.Position = new Vector(400, -300);
213        Add(turboPalkki2);
214
215        ammusPalkki.BindTo(pallo.Ammusmittari);
216        ammusPalkki.BarColor = Color.Yellow;
217        ammusPalkki.BorderColor = Color.Black;
218        ammusPalkki.Position = new Vector(-350, -300);
219        Add(ammusPalkki);
220
221        ammusPalkki2.BindTo(pallo2.Ammusmittari);
222        ammusPalkki2.BarColor = Color.Yellow;
223        ammusPalkki2.BorderColor = Color.Black;
224        ammusPalkki2.Position = new Vector(450, -300);
225        Add(ammusPalkki2);
226
227        pistePalkki.BindTo(pallo.Pistemittari);
228        pistePalkki.BarColor = Color.DarkBlue;
229        pistePalkki.BorderColor = Color.Black;
230        pistePalkki.Position = new Vector(-200, -200);
231        pistePalkki.Direction = BarGauge.BarDirection.BarHorizontalLeft;
232        Add(pistePalkki);
233        Label pisteLuku = new Label();
234        pisteLuku.BindTo(pallo.Pistemittari);
235        pisteLuku.Position = new Vector(-60, -200);
236        Add(pisteLuku);
237
238
239        pistePalkkib.BindTo(pallo2.Pistemittari);
240        pistePalkkib.BarColor = Color.DarkRed;
241        pistePalkkib.BorderColor = Color.Black;
242        pistePalkkib.Position = new Vector(200, -200);
243        pistePalkkib.Direction = BarGauge.BarDirection.BarHorizontalLeft;
244        Add(pistePalkkib);
245        Label pisteLukub = new Label();
246        pisteLukub.BindTo(pallo2.Pistemittari);
247        pisteLukub.Position = new Vector(60, -200);
248        Add(pisteLukub);
249
250
251
252    }
253    void Liikkeet()
254    {
255        // Pelaaja 1
256        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja 1 liiku oikealle", pallo, new Vector(pallo.liikkumisnopeus * 1, 0));
257        Keyboard.Listen(Key.D, ButtonState.Released, Liikuta, null, pallo, Vector.Zero);
258        Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "Pelaaja 1 liiku ylös", pallo, new Vector(0, pallo.liikkumisnopeus * 1));
259        Keyboard.Listen(Key.W, ButtonState.Released, Liikuta, null, pallo, Vector.Zero);
260        Keyboard.Listen(Key.S, ButtonState.Down, Liikuta, "Pelaaja 1 liiku alas", pallo, new Vector(0, -pallo.liikkumisnopeus * 1));
261        Keyboard.Listen(Key.S, ButtonState.Released, Liikuta, null, pallo, Vector.Zero);
262        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja 1 liiku vasemmalle", pallo, new Vector(-pallo.liikkumisnopeus * 1, 0));
263        Keyboard.Listen(Key.A, ButtonState.Released, Liikuta, null, pallo, Vector.Zero);
264        Keyboard.Listen(Key.Q, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo);
265        Keyboard.Listen(Key.U, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo);
266        Keyboard.Listen(Key.E, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo);
267        Keyboard.Listen(Key.T, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu
268        Keyboard.Listen(Key.Y, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(0, 1), pPati);
269        Keyboard.Listen(Key.H, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(0, -1), pPati);
270        Keyboard.Listen(Key.G, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(-1, 0), pPati);
271        Keyboard.Listen(Key.J, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(1, 0), pPati);
272
273        // Pelaaja 2
274        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja 2 liiku oikealle", pallo2, new Vector(pallo2.liikkumisnopeus * 1, 0));
275        Keyboard.Listen(Key.Right, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero);
276        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja 2 liiku ylös", pallo2, new Vector(0, pallo2.liikkumisnopeus * 1));
277        Keyboard.Listen(Key.Up, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero);
278        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Pelaaja 2 liiku alas", pallo2, new Vector(0, -pallo2.liikkumisnopeus * 1));
279        Keyboard.Listen(Key.Down, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero);
280        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja 2 liiku vasemmalle", pallo2, new Vector(-pallo2.liikkumisnopeus * 1, 0));
281        Keyboard.Listen(Key.Left, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero);
282        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2);
283        Keyboard.Listen(Key.NumPad9, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2);
284        Keyboard.Listen(Key.NumPad2, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2);
285        Keyboard.Listen(Key.NumPad7, ButtonState.Pressed, HKranaatti, "Pelaaja 2:Heita kranaatti", pallo2);
286        Keyboard.Listen(Key.NumPad8, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(0, 1), sPati);
287        Keyboard.Listen(Key.NumPad5, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(0, -1), sPati);
288        Keyboard.Listen(Key.NumPad4, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(-1, 0), sPati);
289        Keyboard.Listen(Key.NumPad6, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(1, 0), sPati);
290
291        //General
292
293        Keyboard.Listen(Key.P, ButtonState.Pressed,Kutsuvalikko,"Vaihda aseita");
294
295    }
296    void Ammu(Pelaaja pallo, Vector suunta, Image P)
297    {
298        if (pallo.IsDestroyed) return;
299        if (pallo.Ammusmittari < 1) return;
300        if (pallo.Recoil == true) return;
301
302        PhysicsObject ammus = new PhysicsObject(4, 4);
303        ammus.Position = pallo.Position + suunta * 25;
304        ammus.Image = P;
305        ammus.Restitution = 0.0;
306        pallo.Ammusmittari.Value -= 1;
307        ammus.Velocity = suunta * pallo.Ampumisnopeus;
308        AddCollisionHandler(ammus, "tuhottava", AmmusOsui);
309        AddCollisionHandler(ammus, CollisionHandler.DestroyObject);
310        Add(ammus);
311        ammus.Tag = "ammus";
312
313        double vahinko = 0;
314
315        if (pallo.Ase == "Heavy")
316        {
317
318            ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 700);
319            vahinko = 9;
320        }
321        if (pallo.Ase == "Famas")
322        {
323
324            ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 190);
325            pallo.Recoil = true;
326            vahinko = 23;
327            Timer.SingleShot(0.03, delegate
328            {
329                pallo.Recoil = false;
330            });
331
332
333        }
334        if (pallo.Ase == "LMG Type")
335        {
336
337            ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 500);
338            pallo.Recoil = true;
339            vahinko =14;
340            Timer.SingleShot(0.01, delegate
341            {
342                pallo.Recoil = false;
343            });
344
345
346        }
347        if (pallo.Ase == "Dragunov")
348        {
349            pallo.Recoil = true;
350            vahinko = 139;
351            Timer.SingleShot(0.4, delegate
352            {
353                pallo.Recoil = false;
354            });
355
356        }
357        if (pallo.Ase == "Barret")
358        {
359           vahinko = 298; 
360        }
361
362        if (pallo.Ase == "Ak")
363        {
364            ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 600);
365            pallo.Recoil = true;
366            vahinko = 13;
367            Timer.SingleShot(0.01, delegate
368            {
369                pallo.Recoil = false;
370            });
371        }
372        if (pallo.Ase == "Cal89")
373        {
374            ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 500);
375            pallo.Recoil = true;
376            vahinko = 26;
377            Timer.SingleShot(0.1, delegate
378            {
379                pallo.Recoil = false;
380            });
381        }
382            if (pallo.Ase == "Spas")
383            {
384                ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 100);
385                pallo.Recoil = true;
386                vahinko = 219;
387                Timer.SingleShot(0.5, delegate
388                {
389                    pallo.Recoil = false;
390                });
391            }
392
393       
394        if (pallo.Ase == "Shotgun")
395        {
396            ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 100);
397            pallo.Recoil = true;
398            vahinko = 90;
399            Timer.SingleShot(0.4, delegate
400            {
401                pallo.Recoil = false;
402            });
403
404
405            PhysicsObject hauli = new PhysicsObject(4, 4);
406            hauli.Position = pallo.Position + suunta * 25;
407            hauli.Image = P;
408            hauli.Tag = "ammus";
409            hauli.Restitution = 0.0;
410            hauli.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 70);
411            AddCollisionHandler(hauli, "tuhottava", AmmusOsui);
412            AddCollisionHandler(hauli, CollisionHandler.DestroyObject);
413            Add(hauli);
414            hauli.Velocity = suunta * pallo.Ampumisnopeus;
415            hauli.Velocity = Vector.FromLengthAndAngle(suunta.Magnitude, suunta.Angle + Angle.FromDegrees(-20)) * pallo.Ampumisnopeus;
416            AddCollisionHandler(hauli, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde)
417            {
418                Pelaaja kohdepelaaja = (Pelaaja)kohde;
419                kohdepelaaja.elamaMittari.Value -= vahinko;
420                pallo.Pistemittari.Value += vahinko;
421
422            });
423
424            PhysicsObject hauli2 = new PhysicsObject(4, 4);
425            hauli2.Position = pallo.Position + suunta * 25;
426            hauli2.Image = P;
427            hauli2.Tag = "ammus";
428            hauli2.Restitution = 0.0;
429            hauli2.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 70);
430            AddCollisionHandler(hauli2, "tuhottava", AmmusOsui);
431            AddCollisionHandler(hauli2, CollisionHandler.DestroyObject);
432            Add(hauli2);
433
434            hauli2.Velocity = Vector.FromLengthAndAngle(suunta.Magnitude, suunta.Angle + Angle.FromDegrees(20)) * pallo.Ampumisnopeus;
435            AddCollisionHandler(hauli2, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde)
436            {
437                Pelaaja kohdepelaaja = (Pelaaja)kohde;
438                kohdepelaaja.elamaMittari.Value -= vahinko;
439                pallo.Pistemittari.Value += vahinko;
440
441            });
442        }
443        AddCollisionHandler(ammus, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde)
444        {
445            Pelaaja kohdepelaaja = (Pelaaja)kohde;
446            kohdepelaaja.elamaMittari.Value -= vahinko;
447            pallo.Pistemittari.Value += vahinko * pallo.Combo;
448        });
449    }
450    void Liikuta(Pelaaja pallo, Vector suunta)
451    {
452        //        pallo.Velocity = suunta;
453        if (suunta.Magnitude != 0)
454        {
455            pallo.Velocity = Vector.ComponentProduct(suunta.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus));
456            pallo.viimeisinSuunta = Vector.ComponentProduct(suunta.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus));
457            return;
458        }
459        pallo.Velocity = suunta;
460        pallo.viimeisinSuunta = suunta;
461    }
462    PhysicsObject Luoseina(Double q, double w, double e, double r)
463    {
464        PhysicsObject m = PhysicsObject.CreateStaticObject(q, w);
465        m.Shape = Shape.Rectangle;
466        m.X = e;
467        m.Y = r;
468        m.Color = Color.DarkBlue;
469        Add(m);
470        return m;
471    }
472    PhysicsObject LuoRseina(Double w, double h, double x, double y)
473    {
474        PhysicsObject n = PhysicsObject.CreateStaticObject(w, h);
475        n.Shape = Shape.Rectangle;
476        n.X = x;
477        n.Y = y;
478        n.Color = Color.LightBlue;
479        n.Tag = "tuhottava";
480        Add(n);
481        return n;
482    }
483    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
484    {
485        kohde.Destroy();
486    }
487    void Kayta(Pelaaja p)
488    {
489        if (p.turbomittari > 99)
490        {
491            ExplosionSystem ss = new ExplosionSystem(salama, 100);
492            ss.MaxScale = 30;
493            ss.MinScale = 20;
494            ss.MaxVelocity = 150;
495            ss.MaxLifetime = 0.5;
496            ss.MinRotation = 0.0;
497            ss.MaxRotation = 365.0;
498            ss.MinRotationSpeed = 2.0;
499
500            Add(ss);
501            ss.AddEffect(p.Position, 50);
502            p.liikkumisnopeus = p.liikkumisnopeus * 2;
503            p.turbomittari.Value = 0.0;
504            Timer.SingleShot(5.0, delegate { p.liikkumisnopeus = p.liikkumisnopeus / 2; });
505
506        }
507    }
508    void Lataa(Pelaaja x)
509    {
510        if (!x.lataamassa)
511        {
512            x.lataamassa = true;
513            x.Ammusmittari.Value = 0;
514            Timer.SingleShot(x.Latausnopeus, delegate { x.Ammusmittari.Value += x.Latapati; x.lataamassa = false; });
515        }
516    }
517    //Kentta:
518    void Luopelikentta()
519    {
520        //House; Pelikartta esteet:
521
522        //Normaalit seinät
523
524        Luoseina(40, 160, 200, 50);
525        Luoseina(40, 100, -250, 70);
526        Luoseina(40, 50, -250, 170);
527        Luoseina(100, 30, -300, 180);
528        Luoseina(100, 40, 100, 80);
529        Luoseina(40, 100, 70, 50);
530        Luoseina(30, 40, -270, 40);
531        Luoseina(120, 40, -450, 40);
532        Luoseina(110, 40, -417, -30);
533        Luoseina(110, 40, -417, -100);
534        Luoseina(50, 150, -50, -80);
535        Luoseina(100, 40, -145, 80);
536        Luoseina(95, 40, -10, 80);
537        Luoseina(40, 50, -250, 380);
538        Luoseina(40, 140, -430, 360);
539        Luoseina(40, 90, -250, 295);
540        Luoseina(90, 40, -405, 270);
541        Luoseina(100, 30, -450, 180);
542        Luoseina(60, 40, -270, 270);
543        Luoseina(40, 80, 200, -110);
544        Luoseina(40, 140, 200, 260);
545        Luoseina(200, 40, 80, 310);
546        Luoseina(40, 20, 350, 390);
547        Luoseina(40, 130, 350, 295);
548        Luoseina(70, 40, 220, 250);
549        Luoseina(70, 40, 330, 250);
550        Luoseina(40, 200, 350, 80);
551        Luoseina(150, 40, 445, 80);
552
553
554        //Rikottavat
555
556        LuoRseina(30, 40, 165, 80);
557        LuoRseina(105, 35, -337.5, 40);
558        LuoRseina(60, 40, -330, 270);
559        LuoRseina(40, 30, -382, -65);
560        LuoRseina(40, 30, -452, -65);
561        LuoRseina(40, 50, 350, 205);
562    }
563    void Luopelikentta2()
564    {        //Middle; Pelikartta esteet:
565        //Normaalit seinät
566        Luoseina(1000, 50, 0, 400);
567        Luoseina(50, 50, 475, 150);
568        Luoseina(70, 50, 380, 150);
569        Luoseina(40, 150, 365, 100);
570        Luoseina(300, 40, 195, 45);
571        Luoseina(40, 150, 135, 50);
572        Luoseina(40, 100, 135,215);
573        Luoseina(100, 40, 105, 245);
574        Luoseina(100, 40, -35, 245);
575        Luoseina(40, 100, -65, 215);
576        Luoseina(100, 40, -35, 45);
577        Luoseina(40, 100, -65, 75);
578        Luoseina(100, 40, -105, 105);
579        Luoseina(150, 40, -275, 105);
580        Luoseina(40, 140, -350, 155);
581        Luoseina(40, 140, -350, 345);
582        Luoseina(40, 130, -350, -10);
583        Luoseina(40, 30, -350, -130);
584        Luoseina(100, 100, -240, -30);
585        Luoseina(80, 80, -110, -90);
586        Luoseina(80, 80, 30, -60);
587        Luoseina(180, 90, 300, -75);
588        Luoseina(100, 110, 250, 160);
589        Luoseina(90, 80, -435, 160);
590    }
591    //Valikot!!!!
592    void Kutsuvalikko()
593    {
594        MultiSelectWindow alkuv = new MultiSelectWindow("Welcome", "Start game/Continue", "Game settings", "Player 1 weapon", "Player 2 weapon","Under work", "Quit");
595        alkuv.ItemSelected += PainettiinValikonNappia;
596        alkuv.Color = Color.MediumBlue;
597        Add(alkuv);
598    }
599    void PainettiinValikonNappia(int valinta)
600    {
601        switch (valinta)
602        {
603            case 0:
604                //Sulje ikkuna,Pelaa norm.asetuksilla
605                break;
606            case 1:
607                Gasetukset();
608                //Kartta
609                break;
610            case 2:
611                Asetukset1();
612                //Pelaajan 1 asevalinta
613                break;
614            case 3:
615                Asetukset2();
616                //Pelaajan 2 asevalinta
617                break;
618            case 4:
619                if (m != null)
620                    m.Destroy();
621                if (n != null)
622                    n.Destroy();
623                Kutsuvalikko();
624                break;
625            case 5:
626                Exit();
627                break;
628        }
629
630    }
631    void Asetukset1()
632    {
633        MultiSelectWindow p1 = new MultiSelectWindow("Choose your gun",
634            "Sniper rifle", "Assault rifle", "Heavy machine gun", "Shotgun", "Light machine gun", "Back");
635        p1.Color = Color.MediumBlue;
636        p1.ItemSelected += PVN1;
637        Add(p1);
638    }
639    void Asetukset2()
640    {
641        MultiSelectWindow p2 = new MultiSelectWindow("Choose your gun",
642               "Sniper rifle", "Assault rifle", "Heavy machine gun", "Shotgun", "Light machine gun", "Back");
643        p2.Color = Color.Ruby;
644        p2.ItemSelected += PVN2;
645        Add(p2);
646    }
647    void PVN1(int s)
648    {
649        switch (s)
650        {
651            case 0:
652                pallo.Ase = "Sniper";
653                Sni();
654                break;
655            case 1:
656                As();
657                break;
658            case 2:
659                pallo.Ase = "Heavy";
660                pallo.Ampumisnopeus = 512;
661                pallo.Ammusmittari.MaxValue = 400;
662                pallo.Ammusmittari.Value = 400;
663                pallo.Latausnopeus = 6.0;
664                pallo.Latapati = 400;
665                pallo.Asekuva = "HMG";
666                Sinikuva.Image = HMG;
667                Kutsuvalikko();
668                break;
669            case 3:
670                sho();
671                break;
672            case 4:
673                LMG();
674                break;
675            case 5:
676                Kutsuvalikko();
677                //Palaa takaisin
678                break;
679        }
680    }
681    void PVN2(int s)
682    {
683        switch (s)
684        {
685            case 0:
686                Snib();
687                break;
688            case 1:
689                Asb();
690                break;
691            case 2:
692                pallo2.Ase = "Heavy";
693                pallo2.Ampumisnopeus = 512;
694                pallo2.Ammusmittari.MaxValue = 400;
695                pallo2.Ammusmittari.Value = 400;
696                pallo2.Latausnopeus = 6.0;
697                pallo2.Latapati = 400;
698                pallo2.Asekuva = "HMG2";
699                Punakuva.Image = HMG;
700                Kutsuvalikko();
701                break;
702            case 3:
703                shob();
704                break;
705            case 4:
706                LMGb();
707                break;
708            case 5:
709                Kutsuvalikko();
710                //Palaa takaisin
711                break;
712        }
713    }
714    void Gasetukset()
715    {
716        MultiSelectWindow a1 = new MultiSelectWindow("Maps (Doesnt reset)",
717              "Streets", "In the middle", "Back");
718        a1.Color = Color.Azure;
719        a1.ItemSelected += PVN3;
720        Add(a1);
721    }
722    void PVN3(int Valinta)
723    {
724        if (Kenttalad == true) return;
725        //Estaa Kenttien synnyn paallekkain
726           
727        switch (Valinta)
728        {
729            case 0:
730                //Kentta1
731                Luopelikentta();
732                Kenttalad = true;
733                Gasetukset2();
734                break;
735            case 1:
736                //Kentta2
737                 Luopelikentta2();
738                 Kenttalad = true;
739                 Gasetukset2();
740                 break;
741            case 2:
742                Kutsuvalikko();
743                //Palaa takaisin
744                break;
745        }
746
747
748    }
749    void Gasetukset2()
750    {
751        MultiSelectWindow a1 = new MultiSelectWindow("Gamemodes (Not out yet!)","Hold the territory", "DM", "Back");
752        a1.Color = Color.Azure;
753        a1.ItemSelected += PVN32;
754        Add(a1);
755    }
756    void PVN32(int Valinta)
757    {
758        switch (Valinta)
759        {
760            case 0:
761                Gasetukset3();
762                break;
763            case 1:
764                Gasetukset3();
765                break;
766            case 2:
767                Kutsuvalikko();
768                break;
769        }
770
771
772    }
773    void Gasetukset3()
774    {
775        MultiSelectWindow a1 = new MultiSelectWindow("Points limit","1000", "3000","5000","10000","15000", "Back");
776        a1.Color = Color.Azure;
777        a1.ItemSelected += PVN33;
778        Add(a1);
779    }
780    void PVN33(int Valinta)
781    {
782        switch (Valinta)
783        {
784            case 0:
785                pallo.Pistemittari.MaxValue = 1000;
786                pallo2.Pistemittari.MaxValue = 1000;
787                Kutsuvalikko();
788                break;
789            case 1:
790                pallo.Pistemittari.MaxValue = 3000;
791                pallo2.Pistemittari.MaxValue = 3000;
792                Kutsuvalikko();
793                break;
794            case 2:
795                pallo.Pistemittari.MaxValue = 5000;
796                pallo2.Pistemittari.MaxValue = 5000;
797                Kutsuvalikko();
798                break;
799            case 3:
800                pallo.Pistemittari.MaxValue = 10000;
801                pallo2.Pistemittari.MaxValue = 10000;
802                Kutsuvalikko();
803                break;
804            case 4:
805                pallo.Pistemittari.MaxValue = 15000;
806                pallo2.Pistemittari.MaxValue = 15000;
807                Kutsuvalikko();
808                break;
809            case 5:
810                Kutsuvalikko();
811                break;
812        }
813
814
815    }
816    //Light machine gun valikot
817    void LMG()
818    {
819        MultiSelectWindow LMG = new MultiSelectWindow("Light machine guns", "Famas", "LMG Type `95","Back");
820        LMG.Color = Color.MediumBlue;
821        LMG.ItemSelected += LMG2;
822        Add(LMG);
823    }
824    void LMGb()
825    {
826        MultiSelectWindow LMG = new MultiSelectWindow("Light machine guns", "Famas", "LMG Type `95", "Back");
827        LMG.Color = Color.Ruby;
828        LMG.ItemSelected += LMG2b;
829        Add(LMG);
830    }
831    void LMG2(int s)
832    {
833        switch (s)
834        {
835
836            case 0:
837                pallo.Ase = "Famas";
838                pallo.Ampumisnopeus = 1024;
839                pallo.Ammusmittari.MaxValue = 100;
840                pallo.Ammusmittari.Value = 100;
841                pallo.Latausnopeus = 1.9;
842                pallo.Latapati = 100;
843                pallo.Asekuva = "Famas2";
844                Sinikuva.Image = Famas;
845                Kutsuvalikko();
846                break;
847            case 1:
848                pallo.Ase = "LMG Type";
849                pallo.Ampumisnopeus = 448;
850                pallo.Ammusmittari.MaxValue = 400;
851                pallo.Ammusmittari.Value = 400;
852                pallo.Latausnopeus = 5.0;
853                pallo.Latapati = 400;
854                pallo.Asekuva = "Light2";
855                Sinikuva.Image = Light;
856                Kutsuvalikko();
857                break;
858            case 2:
859                Asetukset1();
860                break;
861        }
862    }
863    void LMG2b(int s)
864    {
865        switch (s)
866        {
867
868            case 0:
869                pallo2.Ase = "Famas";
870                pallo2.Ampumisnopeus = 1024;
871                pallo2.Ammusmittari.MaxValue = 100;
872                pallo2.Ammusmittari.Value = 100;
873                pallo2.Latausnopeus = 1.9;
874                pallo2.Latapati = 100;
875                pallo2.Asekuva = "Famas2";
876                Punakuva.Image = Famas;
877                Kutsuvalikko();
878                break;
879            case 1:
880                pallo2.Ase = "LMG Type";
881                pallo2.Ampumisnopeus = 448;
882                pallo2.Ammusmittari.MaxValue = 400;
883                pallo2.Ammusmittari.Value = 400;
884                pallo2.Latausnopeus = 5.0;
885                pallo2.Latapati = 400;
886                pallo2.Asekuva = "Light2";
887                Punakuva.Image = Light;
888                Kutsuvalikko();
889                break;
890            case 2:
891                Asetukset2();
892                break;
893        }
894    }
895    //Assault Riflet
896    void As()
897    {
898        MultiSelectWindow As = new MultiSelectWindow("Assault rifles", "Ak-47u", "Caliber `89", "Back");
899        As.Color = Color.MediumBlue;
900        As.ItemSelected += As2;
901        Add(As);
902    }
903    void As2(int s)
904    {
905        switch (s)
906        {
907
908            case 0:
909                pallo.Ase = "Ak";
910                pallo.Ampumisnopeus = 890;
911                pallo.Ammusmittari.MaxValue = 64;
912                pallo.Ammusmittari.Value = 64;
913                pallo.Latausnopeus = 0.8;
914                pallo.Latapati = 64;
915                pallo.Asekuva = "Ak47u2";
916                Sinikuva.Image = Ak47u;
917                Kutsuvalikko();
918                break;
919            case 1:
920                pallo.Ase = "Cal89";
921                pallo.Ampumisnopeus = 1024;
922                pallo.Ammusmittari.MaxValue = 25;
923                pallo.Ammusmittari.Value = 25;
924                pallo.Latausnopeus = 2.1;
925                pallo.Latapati = 25;
926                pallo.Asekuva = "Caliber2";
927                Sinikuva.Image = Caliber;
928                Kutsuvalikko();
929                break;
930            case 2:
931                Asetukset1();
932                break;
933        }
934    }   
935    void Asb()
936    {
937        MultiSelectWindow As = new MultiSelectWindow("Assault rifles", "Ak-47u", "Caliber `89", "Back");
938        As.Color = Color.Ruby;
939        As.ItemSelected += As2b;
940        Add(As);
941    }
942    void As2b(int s)
943    {
944        switch (s)
945        {
946
947            case 0:
948                pallo2.Ase = "Ak";
949                pallo2.Ampumisnopeus = 890;
950                pallo2.Ammusmittari.MaxValue = 64;
951                pallo2.Ammusmittari.Value = 64;
952                pallo2.Latausnopeus = 0.8;
953                pallo2.Latapati = 64;
954                pallo2.Asekuva = "Ak47u2";
955                Punakuva.Image = Ak47u;
956                Kutsuvalikko();
957                break;
958            case 1:
959                pallo2.Ase = "Cal89";
960                pallo2.Ampumisnopeus = 1024;
961                pallo2.Ammusmittari.MaxValue = 25;
962                pallo2.Ammusmittari.Value = 25;
963                pallo2.Latausnopeus = 2.1;
964                pallo2.Latapati = 25;
965                pallo2.Asekuva = "Caliber2";
966                Punakuva.Image = Caliber;
967                Kutsuvalikko();
968                break;
969            case 2:
970                Asetukset2();
971                break;
972        }
973    }
974    //Sniput
975    void Sni()
976    {
977        MultiSelectWindow Sni = new MultiSelectWindow("Sniper rifles", "Dragunov", "L84 Mod.", "Back");
978        Sni.Color = Color.MediumBlue;
979        Sni.ItemSelected += Sni2;
980        Add(Sni);
981    }
982    void Sni2(int s)
983    {
984        switch (s)
985        {
986
987            case 0:
988                pallo.Ase = "Dragunov";
989                pallo.Ampumisnopeus = 1024;
990                pallo.Ammusmittari.MaxValue = 11;
991                pallo.Ammusmittari.Value = 11;
992                pallo.Latausnopeus = 5.3;
993                pallo.Latapati = 11;
994                Sinikuva.Image = MGH;
995                Kutsuvalikko();
996                break;
997            case 1:
998                pallo.Ase = "Barret";
999                pallo.Ampumisnopeus = 1024;
1000                pallo.Ammusmittari.MaxValue =1;
1001                pallo.Ammusmittari.Value =1;
1002                pallo.Latausnopeus = 2.0;
1003                pallo.Latapati =1;
1004                Sinikuva.Image = Sniper;
1005                Kutsuvalikko();
1006                break;
1007            case 2:
1008                Asetukset1();
1009                break;
1010        }
1011    }
1012    void Snib()
1013    {
1014        MultiSelectWindow Sni = new MultiSelectWindow("Sniper rifles", "Dragunov", "L84 Mod.", "Back");
1015        Sni.Color = Color.Ruby;
1016        Sni.ItemSelected += Sni2b;
1017        Add(Sni);
1018    }
1019    void Sni2b(int s)
1020    {
1021        switch (s)
1022        {
1023
1024            case 0:
1025                pallo2.Ase = "Dragunov";
1026                pallo2.Ampumisnopeus = 1024;
1027                pallo2.Ammusmittari.MaxValue = 11;
1028                pallo2.Ammusmittari.Value = 11;
1029                pallo2.Latausnopeus = 5.3;
1030                pallo2.Latapati = 11;
1031                Punakuva.Image = MGH;
1032                Kutsuvalikko();
1033                break;
1034            case 1:
1035                pallo2.Ase = "Barret";
1036                pallo2.Ampumisnopeus = 1024;
1037                pallo2.Ammusmittari.MaxValue = 1;
1038                pallo2.Ammusmittari.Value = 1;
1039                pallo2.Latausnopeus = 2.0;
1040                pallo2.Latapati = 1;
1041                Punakuva.Image = Sniper;
1042                Kutsuvalikko();
1043                break;
1044            case 2:
1045                Asetukset2();
1046                break;
1047        }
1048    }
1049    void sho()
1050    {
1051        MultiSelectWindow Sni = new MultiSelectWindow("Shotguns", "Striker", "Spas12", "Back");
1052        Sni.Color = Color.MediumBlue;
1053        Sni.ItemSelected += sho2;
1054        Add(Sni);
1055    }
1056    void sho2(int s)
1057    {
1058        switch (s)
1059        {
1060
1061            case 0:
1062                pallo.Ase = "Shotgun";
1063                pallo.Ampumisnopeus = 1224;
1064                pallo.Ammusmittari.MaxValue = 11;
1065                pallo.Ammusmittari.Value = 11;
1066                pallo.Latausnopeus = 5.3;
1067                pallo.Latapati = 11;
1068                Sinikuva.Image = Shotgun;
1069                Kutsuvalikko();
1070                break;
1071            case 1:
1072                pallo.Ase = "Spas";
1073                pallo.Ampumisnopeus = 1224;
1074                pallo.Ammusmittari.MaxValue = 2;
1075                pallo.Ammusmittari.Value = 2;
1076                pallo.Latausnopeus = 1.6;
1077                pallo.Latapati = 2;
1078                Sinikuva.Image = Spas;
1079                Kutsuvalikko();
1080                break;
1081            case 2:
1082                Asetukset1();
1083                break;
1084        }
1085    }
1086    void shob()
1087    {
1088        MultiSelectWindow Sni = new MultiSelectWindow("Shotguns", "Striker", "Spas12", "Back");
1089        Sni.Color = Color.Ruby;
1090        Sni.ItemSelected += sho2b;
1091        Add(Sni);
1092    }
1093    void sho2b(int s)
1094    {
1095        switch (s)
1096        {
1097            case 0:
1098                pallo2.Ase = "Shotgun";
1099                pallo2.Ampumisnopeus = 1224;
1100                pallo2.Ammusmittari.MaxValue = 11;
1101                pallo2.Ammusmittari.Value = 11;
1102                pallo2.Latausnopeus = 5.3;
1103                pallo2.Latapati = 11;
1104                Punakuva.Image = Shotgun;
1105                Kutsuvalikko();
1106                break;
1107            case 1:
1108                pallo2.Ase = "Spas";
1109                pallo2.Ampumisnopeus = 1224;
1110                pallo2.Ammusmittari.MaxValue = 2;
1111                pallo2.Ammusmittari.Value = 2;
1112                pallo2.Latausnopeus = 1.6;
1113                pallo2.Latapati = 2;
1114                Punakuva.Image = Spas;
1115                Kutsuvalikko();
1116                break;
1117            case 2:
1118                Asetukset2();
1119                break;
1120        }
1121    }
1122    //Respaus
1123    void Pelaajakuoli(Pelaaja p)
1124    {
1125        p.Pisteputki.Value = 0;
1126        p.Combo = 1;
1127        if (p == pallo)
1128        {
1129            pallo2.Combo = pallo2.Combo + 0.2;
1130            Remove(pallo);
1131            Timer.SingleShot(3.0, delegate
1132            {
1133                Add(pallo);
1134                pallo.Position = new Vector(Level.Left + 20, Level.Top - 50);
1135                pallo.turbomittari.Value = 100.0;
1136                pallo.elamaMittari.Value = 1000.0;
1137                pallo.Ammusmittari.Value += pallo.Latapati;
1138            });
1139
1140        }
1141        if (p == pallo2)
1142        {
1143            pallo.Combo = pallo2.Combo + 0.2;
1144            Remove(pallo2);
1145            Timer.SingleShot(3.0, delegate
1146            {
1147                Add(pallo2);
1148                pallo2.Position = new Vector(Level.Right - 20, Level.Top - 50);
1149                pallo2.turbomittari.Value = 100.0;
1150                pallo2.elamaMittari.Value = 1000.0;
1151                pallo2.Ammusmittari.Value += pallo.Latapati;
1152            });
1153        }
1154    }
1155    //Kransu
1156    void HKranaatti(Pelaaja Pallo)
1157    {
1158        if (Pallo.turbomittari < Pallo.turbomittari.MaxValue ) return;
1159        Pallo.turbomittari.Value = Pallo.turbomittari.MinValue;
1160
1161        PhysicsObject Kransu = new PhysicsObject(20, 20);
1162        Kransu.Image = kransu;
1163        Add(Kransu);
1164        Kransu.Position = Pallo.Position;
1165        Kransu.IgnoresCollisionResponse = true;
1166        Kransu.Hit(Pallo.viimeisinSuunta*1.4);
1167        Kransu.IgnoresExplosions = true;
1168        Timer.SingleShot(1.2, delegate
1169        {
1170            ExplosionSystem es = new ExplosionSystem(Boom, 80);           
1171            es.Position = Kransu.Position;
1172            es.MaxScale = 30;
1173            es.MinScale = 30;
1174            es.MaxVelocity = 100;
1175            Add(es);
1176            es.AddEffect(Kransu.Position, 80);
1177            Kransu.Destroy();
1178            Explosion es2 = new Explosion(100);
1179            es2.Position = Kransu.Position;
1180            es2.IsVisible = false;
1181            es2.ShockwaveReachesObject += delegate(IPhysicsObject kohde, Vector suunta) { Rajahdusosui(Pallo, kohde, suunta, es2); }; 
1182            Add(es2);
1183        });
1184    }
1185    void Rajahdusosui(Pelaaja ampuja, IPhysicsObject kohde, Vector v, Explosion es)
1186    {
1187        if (!(kohde is Pelaaja)) return;
1188        Pelaaja kohdePelaaja = kohde as Pelaaja;
1189        if (kohdePelaaja == null) return;
1190        if (kohdePelaaja.Viimeisinrajahdus == es) return;
1191        double etaisyys = Vector.Distance(kohdePelaaja.Position, es.Position);
1192        int damage = (int)Math.Floor(1000 / etaisyys);
1193        kohdePelaaja.elamaMittari.Value -= damage;
1194        if (ampuja == kohde) return;
1195        ampuja.Pistemittari.Value += damage;
1196    }
1197    void Tayta(Pelaaja p)
1198    {
1199        if (p.turbomittari < p.turbomittari.MaxValue) return;
1200        p.turbomittari.Value = p.turbomittari.MinValue;
1201        ExplosionSystem ss = new ExplosionSystem(Sydan, 100);
1202        ss.MaxScale = 30;
1203        ss.MinScale = 15;
1204        ss.MaxVelocity = 40;
1205        ss.MaxLifetime = 0.6;
1206        Add(ss);
1207        ss.AddEffect(p.Position, 15);
1208        p.elamaMittari.Value = p.elamaMittari.Value + 150;
1209        if (p == pallo)
1210        {
1211            pallo2.Pistemittari.Value = pallo2.Pistemittari.Value -= 150;
1212        }
1213        if (p == pallo2)
1214        {
1215            pallo.Pistemittari.Value = pallo.Pistemittari.Value -= 150;
1216        }
1217       
1218    }
1219    void Maxpointsreached(Pelaaja pallow)   
1220    {
1221        if (pallow == pallo2)
1222        {
1223            Label voitto = new Label("Punainen pallo  voittaa pelin");
1224            voitto.Color = Color.White;
1225            voitto.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 5000);
1226            voitto.Position = new Vector(0,100);
1227            voitto.Size = new Vector(300, 50);
1228            Add(voitto);
1229            Timer.SingleShot(5.0, delegate
1230            {
1231                pallo.Pistemittari.Value = 0;
1232                pallo2.Pistemittari.Value = 0;
1233                pallo.Combo = 1;
1234                pallo2.Combo = 1;
1235                Kutsuvalikko();
1236            }); 
1237        }
1238        if (pallow == pallo)
1239        {
1240            Label voitto2 = new Label("Sininen pallo voitti pelin");
1241            voitto2.Color = Color.White;
1242            voitto2.MaximumLifetime = new TimeSpan (0,0,0,0,5000);
1243            voitto2.Position = new Vector(0, 100);
1244            voitto2.Size = new Vector(300, 50);
1245            Add(voitto2);
1246            Timer.SingleShot(5.0, delegate
1247            {
1248                pallo.Pistemittari.Value = 0;
1249                pallo2.Pistemittari.Value = 0;
1250                pallo.Combo = 1;
1251                pallo2.Combo = 1;
1252                Kutsuvalikko();
1253            });
1254
1255        }
1256    }
1257}
Note: See TracBrowser for help on using the repository browser.