source: 2015/24/EemeliK/Zombieland/Files/ZombieLandV1.0/ZombieLand/ZombieLand/ZombieLand.cs @ 7072

Revision 7072, 87.7 KB checked in by sieerinn, 4 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
9class Vihu : PhysicsObject
10{
11    private DoubleMeter elamaLaskuri = new DoubleMeter(9, 0, 9);
12    public DoubleMeter ElamaLaskuri { get { return elamaLaskuri; } }
13
14    public Vihu(double leveys, double korkeus)
15        : base(leveys, korkeus)
16    {
17        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
18    }
19}
20
21class KamaMittari
22{
23    public IntMeter Määrä;
24    public Label Kuva;
25    public Label Teksti;
26
27    public KamaMittari(int max, Image kuva, Vector paikka, ZombieLand peli)
28    {
29        Määrä = new IntMeter(0, 0, max);
30
31        Kuva = new Label();
32        Kuva.Position = paikka;
33        Kuva.Width = 30;
34        Kuva.Image = kuva;
35        //Kuva.IsVisible = false;
36        peli.Add(Kuva);
37
38        Teksti = new Label();
39        Teksti.Position = paikka + new Vector(50, 0);
40        Teksti.TextColor = Color.Black;
41        Teksti.Color = Color.White;
42        Teksti.BindTo(Määrä);
43        //Teksti.IsVisible = false;
44        peli.Add(Teksti);
45
46        Määrä.LowerLimit += delegate
47        {
48            //Teksti.IsVisible = false;
49            //Kuva.IsVisible = false;
50        };
51    }
52
53    public void Lisaa(int maara)
54    {
55        Teksti.IsVisible = true;
56        Kuva.IsVisible = true;
57        Määrä.Value += maara;
58    }
59}
60
61public class ZombieLand : PhysicsGame
62{
63    List<Vector> loottilista = new List<Vector>();
64    Label goLaskuri;
65    const double RUUDUN_KOKO = 40.0;
66
67    enum LoottiTyyppi
68    {
69        Log, Kiikari, Ducktape, Putki, Linssi
70    }
71    const int loottiTyyppeja = 5;
72    Image[] loottikuvat = LoadImages("log", "kiikari", "ducktape", "putki", "Linssi");
73    KamaMittari[] kamaMittarit = new KamaMittari[loottiTyyppeja];
74    int[] maxLoot = new int[] { 15, 30, 30, 30, 30 };
75
76    SoundEffect pislaapiupiu = LoadSoundEffect("pisla");
77    SoundEffect sniperAani = LoadSoundEffect("Snipuaani");
78    SoundEffect Akaani = LoadSoundEffect("Ak-47");
79    PhysicsObject kuski;
80    PhysicsObject epaKuski;
81    AssaultRifle pelaajan2Ase;
82    PhysicsObject Ammoboxi;
83    DoubleMeter elamaLaskuri;
84    DoubleMeter ElamaLaskuri2;
85    List<Vector> Spawnauspaikat = new List<Vector>();
86    int zombilaskuri = 0;
87    const int MAX_ZOMBIEN_MAARA = 10;
88    IntMeter BensaLaskuri = new IntMeter(100, 0, 120);
89    Timer BensaAjastin = new Timer();
90    bool onkoAutoaKaytetty = false;
91    PhysicsObject pelaaja;
92    PhysicsObject hela;
93    PhysicsObject pelaaja2;
94    PhysicsObject auto;
95    PhysicsObject koripallo;
96    PhysicsObject koriskentta;
97    PhysicsObject autotie;
98    PhysicsObject palikka;
99    GameObject cursor;
100    IntMeter raheLaskuri;
101    PhysicsObject kauppa;
102    GameObject cursor2;
103
104    //IntMeter logimittari = new IntMeter(0, 0, 15);
105    //IntMeter TavaraMittari = new IntMeter(0, 0, 1500000);
106    PhysicsObject penkki;
107    AssaultRifle pelaajanase;
108    double valonlisaysmaara = -0.1;
109    Inventory inventory = new Inventory();
110
111    Image pelaajanKuva = LoadImage("pelaajakonsulla");
112    Image pelaajanKuvaAK = LoadImage("pelaajakonsulla");
113    string aseNimi = "pistooli";
114
115    Image helaKuva = LoadImage("hela");
116    Image koriskentanKuva = LoadImage("koriskentta");
117    Image autonKuva = LoadImage("auto");
118    Image parkkipaikanKuva = LoadImage("parkkipaikka");
119    Image koripallonKuva = LoadImage("koripallo");
120    Image zombinkuva = LoadImage("zombie_move_0002");
121    Image pelaaja2Kuva = LoadImage("soldiertorso");
122    Image taustaKuva = LoadImage("grass");
123    Image creepylattia = LoadImage("creepylattia");
124    Image autotienKuva = LoadImage("autotietie");
125    Image penkinKuva = LoadImage("penkki");
126    Image puunKuva = LoadImage("tree");
127    Image ammonKuva = LoadImage("ammo");
128    Image taustaKuva1 = LoadImage("bc1");
129    Image LogiKuva = LoadImage("log");
130    Image kivenKuva = LoadImage("floor");
131    Image zombinKuva = LoadImage("floor");
132    Image autotieflippedinKuva = LoadImage("autotie");
133    private Image[] jalkaKuvat = LoadImages("officer_legs_0001", "officer_legs_0002", "officer_legs_0003", "officer_legs_0004");
134    SoundEffect autonOviAani = LoadSoundEffect("AUTONOVI");
135    SoundEffect ensimainenPelaajaAutoon = LoadSoundEffect("first_player_car_start");
136    SoundEffect autonStandbyAani = LoadSoundEffect("engine_standby_loop");
137
138    public override void Begin()
139    {
140
141        Jee();
142
143    }
144
145    void LuoBensaLaskuri()
146    {
147        BensaAjastin.Interval = 1;
148        BensaAjastin.Timeout += delegate { BensaLaskuri.Value--; };
149
150        BensaLaskuri.LowerLimit += delegate { auto.LinearDamping = 0.0000001; auto.Mass = 100000; };
151    }
152    protected override void Update(Time time)
153    {
154        //goLaskuri.Text = GetObjects(x => x is GameObject).Count.ToString();
155
156        if (kuski != null && !ensimainenPelaajaAutoon.IsPlaying && !autonStandbyAani.IsPlaying)
157        {
158            autonStandbyAani.Play();
159        }
160        if (kuski == null)
161        {
162            autonStandbyAani.Stop();
163        }
164        base.Update(time);
165    }
166
167    void LuoPelaaja(Vector paikka, double leveys, double korkeus, PhysicsObject pelaaja)
168    {
169
170        pelaaja.Position = paikka;
171        pelaaja.Shape = Shape.FromImage(pelaajanKuva);
172        pelaaja.Color = Color.Blue;
173        pelaaja.Tag = "pelaaja";
174        pelaaja.Image = pelaajanKuva;
175        pelaaja.LinearDamping = 0.9;
176
177        Add(pelaaja, 2);
178
179        Add(inventory);
180
181        pelaajanase = new AssaultRifle(1, 1);
182        pelaajanase.Ammo.Value = 10;
183        pelaajanase.ProjectileCollision = AmmusOsui;
184        pelaajanase.FireRate = 1;
185        pelaajanase.IsVisible = false;
186        pelaajanase.Angle = Angle.FromDegrees(90);
187
188        pelaaja.Add(pelaajanase);
189
190        SmoothTextures = false;
191
192        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
193        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
194        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
195        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
196
197
198        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Allah", pelaajanase);
199        Mouse.ListenMovement(0.0, AllahuAkbar, "pommi");
200    }
201
202    void TuhoaPenkki(PhysicsObject auto, PhysicsObject penkki)
203    {
204        penkki.Destroy();
205    }
206
207    void LuoPalikka(Vector paikka, double leveys, double korkeus)
208    {
209        palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
210        palikka.Color = Color.Black;
211        palikka.Tag = "seina";
212        palikka.Position = paikka;
213        Add(palikka, -1);
214    }
215
216    void LuoKentta()
217    {
218        TileMap level = TileMap.FromLevelAsset("mappifinaali");
219        pelaaja = new PhysicsObject(70, 70);
220        level.SetTileMethod('P', delegate (Vector pos, double w, double h) { LuoPelaaja(pos, w, h, pelaaja); });
221
222        level.SetTileMethod('S', SpawnausPaikka);
223        level.SetTileMethod('O', LuoPelaaja2);
224        level.SetTileMethod('G', LuoPalikka);
225        level.SetTileMethod('H', LuoHela);
226        level.SetTileMethod('X', LuoKorisKentta);
227        level.SetTileMethod('T', LuoAmmoBoxi);
228        level.SetTileMethod('#', LuoLattia);
229        level.SetTileMethod('W', LuoPenkki);
230        level.SetTileMethod('Q', LuoPuu);
231        level.SetTileMethod('I', ParkkiPaikka);
232        level.SetTileMethod('N', LuoLoottiSpawniLattia);
233        level.SetTileMethod('J', LuoLoottiSpawniMetsa);
234        level.SetTileMethod('C', LuoKoriPallo);
235        level.SetTileMethod('L', LuoAuto);
236        level.SetTileMethod('Z', delegate (Vector pos, double w, double h) { LuoZombi(pos, w, h, false); });
237        level.SetTileMethod('M', LuoMagicPalikka);
238        level.SetTileMethod('A', LuoKiviBlock);
239        level.SetTileMethod('K', LuoAutoTieFlipped);
240
241        // IsFullScreen = true;
242        level.Optimize('M', 'G', 'K', 'A');
243        level.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
244
245        Level.Background.Image = taustaKuva;
246        Level.Background.TileToLevel();
247        Camera.Follow(pelaaja, pelaaja2);
248        Camera.Zoom(1.5);
249        Camera.StayInLevel = true;
250        Level.AmbientLight = 1.0;
251
252        Timer paivatimer = new Timer();
253        paivatimer.Interval = 20;
254        paivatimer.Timeout += DayNight;
255        paivatimer.Start();
256
257
258        Timer loottitimer = new Timer();
259        loottitimer.Interval = 20;
260        loottitimer.Timeout += delegate
261        {
262            LisaaLootti();
263
264        };
265        loottitimer.Start();
266
267
268        Timer juoksutimer = new Timer();
269        juoksutimer.Interval = 5;
270        juoksutimer.Timeout += delegate
271        {
272            juoksutimer.Stop();
273            Timer hengastystimer = new Timer();
274            hengastystimer.Interval = 10;
275            hengastystimer.Start();
276
277        };
278    }
279
280    void LiikutaPelaajaa(Vector vektori)
281    {
282        if (Keyboard.IsShiftDown())
283        {
284            pelaaja.Push(vektori * 1.5);
285        }
286        else
287        {
288            pelaaja.Push(vektori);
289        }
290
291        AjaAutoa(vektori, pelaaja);
292    }
293
294    void AllahuAkbar(AnalogState hiiri)
295    {
296        pelaaja.AbsoluteAngle = (pelaaja.Position - cursor.Position).Angle + Angle.FromDegrees(90);
297        cursor.Position += hiiri.MouseMovement;
298    }
299
300    void LuoCursor()
301    {
302        cursor = new GameObject(10, 10);
303        cursor.Shape = Shape.Circle;
304        cursor.Color = Color.Red;
305        cursor.Position = pelaaja.Position;
306        Add(cursor, 2);
307    }
308
309    void LuoLattia(Vector paikka, double leveys, double korkeus)
310    {
311        GameObject Lattia = new GameObject(80, 80);
312        Lattia.Image = creepylattia;
313        Lattia.Position = paikka;
314        Add(Lattia, -1);
315
316    }
317
318    void LuoAutoTie(Vector paikka, double leveys, double korkeus)
319    {
320        GameObject autotie = new GameObject(160, 160);
321        autotie.Image = autotienKuva;
322        autotie.Position = paikka;
323        autotie.Tag = "tie";
324        Add(autotie, -1);
325    }
326
327    void LuoAutoTieFlipped(Vector paikka, double leveys, double korkeus)
328    {
329        const double WIDTH = 80;
330        const double HEIGHT = 160;
331        //GameObject autotieflipped = new GameObject(leveys, korkeus);
332        GameObject autotieflipped = new GameObject(leveys, HEIGHT);
333        autotieflipped.Image = autotieflippedinKuva;
334        //autotieflipped.TextureWrapSize = new Vector(leveys / WIDTH, korkeus / HEIGHT);
335        autotieflipped.TextureWrapSize = new Vector(leveys / WIDTH, 1);
336        //autotieflipped.Position = paikka;
337        autotieflipped.Position = paikka + new Vector(0, korkeus * 2F);
338        autotieflipped.Tag = "tie";
339        Add(autotieflipped, -1);
340    }
341
342    void LuoPenkki(Vector paikka, double leveys, double korkeus)
343    {
344        penkki = PhysicsObject.CreateStaticObject(leveys, korkeus);
345        penkki.Position = paikka;
346        penkki.Image = penkinKuva;
347        penkki.Color = Color.Brown;
348        penkki.Tag = "penkki";
349        Add(penkki);
350    }
351
352    void DayNight()
353    {
354        Level.AmbientLight += valonlisaysmaara;
355        if (Level.AmbientLight <= 0.3 || Level.AmbientLight >= 1.0)
356        {
357            valonlisaysmaara = -valonlisaysmaara;
358
359        }
360        if (Level.AmbientLight <= 0.5)
361        {
362            LuoZombi(RandomGen.SelectOne<Vector>(Spawnauspaikat), 70, 70, false);
363        }
364    }
365
366    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
367    {
368
369        if (kohde.Tag.Equals("penkki"))
370        {
371            kohde.Destroy();
372            ammus.Destroy();
373        }
374        if (kohde.Tag.Equals("seina") || kohde.Tag.Equals("puu") || kohde.Tag.Equals("pelaaja2"))
375        {
376            if (aseNimi != "sniper")
377            {
378                ammus.Destroy();
379            }
380           
381        }
382        if (kohde.Tag.Equals("zombi"))
383        {
384            double damage = 4.5;
385            if (aseNimi == "sniper")
386            {
387                damage = 9.0;
388            }
389            if (aseNimi == "ak")
390            {
391                damage = 0.5;
392            }
393
394            (kohde as Vihu).ElamaLaskuri.Value -= damage;
395            ammus.Destroy();
396        }
397        if (kohde.Tag.Equals("slayerzombi"))
398        {
399            raheLaskuri.Value += 10;
400            double damage = 1.5;
401            if (aseNimi == "sniper")
402            {
403                damage = 9.0;
404            }
405            if (aseNimi == "ak")
406            {
407                damage = 0.5;
408            }
409            ammus.Destroy();
410            (kohde as Vihu).ElamaLaskuri.Value -= damage;
411        }
412    }
413
414    void AmmuAseella(AssaultRifle ase)
415    {
416        PhysicsObject ammus = ase.Shoot();
417
418        if (ammus != null)
419        {
420            if (aseNimi == "sniper")
421            {
422                ammus.IgnoresCollisionResponse = true;
423                sniperAani.Play();
424            }
425            ammus.Size *= 1;
426            pislaapiupiu.Play();
427            AddCollisionHandler(ammus, "penkki", AmmusOsui);
428        }
429    }
430
431    void LuoPuu(Vector paikka, double leveys, double korkeus)
432    {
433        PhysicsObject puu = PhysicsObject.CreateStaticObject(200, 150);
434        puu.Image = puunKuva;
435        puu.Shape = Shape.Circle;
436        puu.Position = paikka;
437        puu.Tag = "puu";
438        puu.IgnoresCollisionResponse = true;
439        Add(puu, 2);
440        IntMeter mittari = new IntMeter(5);
441        mittari.LowerLimit += delegate
442        {
443            puu.Destroy();
444            kamaMittarit[(int)LoottiTyyppi.Log].Lisaa(4);
445        };
446
447        AddCollisionHandler(puu, "ammus2", delegate (PhysicsObject A, PhysicsObject B)
448        {
449            mittari.Value--;
450        });
451    }
452
453    void LuoKiviBlock(Vector paikka, double leveys, double korkeus)
454    {
455        const double LEVEYS = 80.0;
456        const double KORKEUS = 80.0;
457
458        GameObject kivi = new GameObject(leveys, korkeus);
459        kivi.Image = kivenKuva;
460        kivi.Position = paikka;
461        kivi.TextureWrapSize = new Vector(leveys / LEVEYS, korkeus / KORKEUS);
462        Add(kivi, -2);
463    }
464
465    void LuoPelaaja2(Vector paikka, double leveys, double korkeus)
466    {
467        pelaaja2 = new PhysicsObject(70, 70);
468        pelaaja2.Position = paikka;
469        pelaaja2.Image = pelaaja2Kuva;
470        Add(pelaaja2, 2);
471        pelaaja2.Tag = "pelaaja2";
472
473        pelaaja2.LinearDamping = 0.9;
474        pelaaja2.CanRotate = false;
475
476        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down,
477          LiikutaPelaajaa2, null, new Vector(-1000, 0), pelaaja2);
478        ControllerOne.Listen(Button.DPadRight, ButtonState.Down,
479          LiikutaPelaajaa2, null, new Vector(1000, 0), pelaaja2);
480        ControllerOne.Listen(Button.DPadUp, ButtonState.Down,
481          LiikutaPelaajaa2, null, new Vector(0, 1000), pelaaja2);
482        ControllerOne.Listen(Button.DPadDown, ButtonState.Down,
483          LiikutaPelaajaa2, null, new Vector(0, -1000), pelaaja2);
484
485
486
487        ControllerOne.Listen(Button.LeftTrigger, ButtonState.Pressed,
488          LuoPuuPalikka, null);
489
490        ControllerOne.Listen(Button.Y, ButtonState.Pressed,
491          Craft, null);
492
493        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, LiikutaPelaajaa2Controllerilla, "Liikuta pelaajaa tattia pyörittämällä.");
494    }
495
496    void Craft()
497    {
498        MultiSelectWindow alkuValikko = new MultiSelectWindow("Craft", "AK", "Kiikari", "Sniper");
499        Add(alkuValikko);
500
501        alkuValikko.AddItemHandler(0, CraftAk);
502        alkuValikko.AddItemHandler(1, CraftKiikari);
503        alkuValikko.AddItemHandler(2, CraftSniper);
504    }
505
506    void CraftAk()
507    {
508        if (OnKamat(LoottiTyyppi.Log, LoottiTyyppi.Putki, LoottiTyyppi.Ducktape))
509        {
510            pelaajanase.FireRate = 50;
511            pelaajanase.Ammo.Value += 300;
512            pelaaja.Image = pelaajanKuvaAK;
513            aseNimi = "ak";
514        }
515    }
516
517    void CraftKiikari()
518    {
519        if (OnKamat(LoottiTyyppi.Linssi, LoottiTyyppi.Putki, LoottiTyyppi.Ducktape))
520        {
521            kamaMittarit[(int)LoottiTyyppi.Kiikari].Määrä.Value++;
522        }
523    }
524
525    void CraftSniper()
526    {
527        if (OnKamat(LoottiTyyppi.Linssi, LoottiTyyppi.Putki, LoottiTyyppi.Ducktape, LoottiTyyppi.Kiikari))
528        {
529            pelaajanase.FireRate = 1;
530            aseNimi = "sniper";
531        }
532    }
533
534    bool OnKamat(params LoottiTyyppi[] tyypit)
535    {
536        bool voiCraftaa = true;
537        for (int i = 0; i < tyypit.Length; i++)
538        {
539            if (kamaMittarit[(int)tyypit[i]].Määrä.Value == 0)
540            {
541                voiCraftaa = false;
542                break;
543            }
544        }
545
546        if (voiCraftaa)
547        {
548            for (int i = 0; i < tyypit.Length; i++)
549            {
550                kamaMittarit[(int)tyypit[i]].Määrä.Value--;
551            }
552        }
553        return voiCraftaa;
554    }
555
556    void LiikutaPelaajaa2(Vector vektori, PhysicsObject pelaaja2)
557    {
558        pelaaja2.Push(vektori);
559        AjaAutoa(vektori, pelaaja2);
560    }
561    void AjaAutoa(Vector vektori, PhysicsObject ajaja)
562    {
563        if (!BensaAjastin.Enabled)
564        {
565            BensaAjastin.Start();
566        }
567
568        if (kuski == ajaja)
569        {
570            if (vektori.Y > 0)
571            {
572                auto.Push((auto.Angle + Angle.FromDegrees(90)).GetVector() * 5000);
573            }
574            if (Math.Abs(vektori.X) > 0)
575            {
576                auto.ApplyTorque(vektori.X * -800);
577            }
578        }
579    }
580
581    void LuoCursor2(Vector cursor2Paikka)
582    {
583        cursor2 = new GameObject(10, 10);
584        cursor2.Shape = Shape.Circle;
585        cursor2.Position = cursor2Paikka;
586        cursor2.Color = Color.Yellow;
587        cursor2.IsVisible = true;
588        Add(cursor2, 2);
589    }
590
591    void LiikutaPelaajaa2Controllerilla(AnalogState tatinTila)
592    {
593        Vector tatinAsento = tatinTila.StateVector;
594        cursor2.Position += tatinAsento * 10;
595        pelaaja2.AbsoluteAngle = (pelaaja2.Position - cursor2.Position).Angle + Angle.FromDegrees(90);
596        //cursor2.Position += ControllerOne.LeftThumbDirection*100;
597    }
598
599    void LuoZombi(Vector paikka, double leveys, double korkeus, bool forceCreation)
600    {
601        if (!forceCreation)
602        {
603            if (zombilaskuri >= MAX_ZOMBIEN_MAARA)
604            {
605                return;
606            }
607        }
608
609        Vihu zombi = new Vihu(70, 70);
610        zombi.Image = zombinkuva;
611        zombi.Position = paikka;
612        zombi.CanRotate = false;
613        zombi.Tag = "zombi";
614        Add(zombi);
615        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
616        satunnaisAivot.ChangeMovementSeconds = 3;
617        satunnaisAivot.TurnWhileMoving = true;
618
619        AddCollisionHandler(zombi, "pelaaja", PelaajatTormaavat);
620        AddCollisionHandler(zombi, "pelaaja2", PelaajatTormaavat2);
621
622        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja, pelaaja2);
623        seuraajanAivot.Speed = 300;                 // Millä nopeudella kohdetta seurataan
624        seuraajanAivot.DistanceFar = 600;           // Etäisyys jolla aletaan seurata kohdetta
625        seuraajanAivot.DistanceClose = 10;         // Etäisyys jolloin ollaan lähellä kohdetta
626        seuraajanAivot.StopWhenTargetClose = true;  // Pysähdytään kun ollaan lähellä kohdetta
627        seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana
628        seuraajanAivot.TurnWhileMoving = true;
629        zombi.Brain = seuraajanAivot;
630        zombilaskuri++;
631    }
632
633    void Tappaa(PhysicsObject kohde)
634    {
635        //kohde.Destroy();
636    }
637
638    void LuoElamaLaskuri()
639    {
640        elamaLaskuri = new DoubleMeter(2);
641        elamaLaskuri.MaxValue = 2;
642        elamaLaskuri.LowerLimit += ElamaLoppui;
643
644        ProgressBar elamaPalkki = new ProgressBar(150, 20);
645        elamaPalkki.X = Screen.Left + 150;
646        elamaPalkki.Y = Screen.Top - 20;
647        elamaPalkki.BindTo(elamaLaskuri);
648        Add(elamaPalkki);
649    }
650    void LuoElamaLaskuri2()
651    {
652        ElamaLaskuri2 = new DoubleMeter(2);
653        ElamaLaskuri2.MaxValue = 2;
654        ElamaLaskuri2.LowerLimit += ElamaLoppui2;
655
656        ProgressBar elamaPalkki2 = new ProgressBar(150, 20);
657        elamaPalkki2.X = Screen.Right - 150;
658        elamaPalkki2.Y = Screen.Top - 20;
659        elamaPalkki2.BindTo(ElamaLaskuri2);
660        Add(elamaPalkki2);
661    }
662    void ElamaLoppui2()
663    {
664        if (ElamaLaskuri2.Value == 0)
665        {
666            pelaaja2.Destroy();
667            cursor2.Destroy();
668
669        }
670
671    }
672
673    void ElamaLoppui()
674    {
675        if (elamaLaskuri.Value == 0)
676        {
677            pelaaja.Destroy();
678            cursor.Destroy();
679
680        }
681
682    }
683    void PelaajatTormaavat(PhysicsObject pelaaja, PhysicsObject zombi)
684    {
685        elamaLaskuri.Value--;
686    }
687    void PelaajatTormaavat2(PhysicsObject pelaaja2, PhysicsObject zombi)
688    {
689        ElamaLaskuri2.Value--;
690    }
691    void LuoHela(Vector paikka, double leveys, double korkeus)
692    {
693        hela = PhysicsObject.CreateStaticObject(leveys, korkeus);
694        hela.Tag = "hela";
695        hela.Image = helaKuva;
696        hela.Position = paikka;
697        Add(hela);
698    }
699    void SaaHela(PhysicsObject pelaaja, PhysicsObject hela)
700    {
701        if (elamaLaskuri.Value < elamaLaskuri.MaxValue)
702        {
703            hela.Destroy();
704        }
705        elamaLaskuri.Value = elamaLaskuri.MaxValue;
706    }
707    void SaaHelaa(PhysicsObject pelaaja35, PhysicsObject hela)
708    {
709        if (ElamaLaskuri2.Value < ElamaLaskuri2.MaxValue)
710        {
711            hela.Destroy();
712        }
713        ElamaLaskuri2.Value = ElamaLaskuri2.MaxValue;
714    }
715
716    void Ammukset()
717    {
718        Label pisteNaytto = new Label();
719        pisteNaytto.X = Screen.Left + 100;
720        pisteNaytto.Y = Screen.Top - 100;
721        pisteNaytto.TextColor = Color.Black;
722        pisteNaytto.Color = Color.White;
723        pisteNaytto.BindTo(pelaajanase.Ammo);
724        Add(pisteNaytto);
725    }
726
727
728    /*
729    void Mittarit()
730    {
731        loginaytto = new Label();
732        loginaytto.X = Screen.Right + -100;
733        loginaytto.Y = Screen.Top - 200;
734        loginaytto.TextColor = Color.Black;
735        loginaytto.Color = Color.White;
736        loginaytto.BindTo(logimittari);
737        Add(loginaytto);
738        logikuva = new Label();
739        logikuva.Image = LogiKuva;
740        logikuva.X = Screen.Right - 150;
741        logikuva.Y = Screen.Top - 200;
742        logikuva.Width = 30;
743        Add(logikuva);
744
745        logikuva.IsVisible = false;
746        loginaytto.IsVisible = false;
747       
748    }
749     */
750
751    void LuoAuto(Vector paikka, double leveys, double korkeus)
752    {
753        auto = new PhysicsObject(140, 250);
754        auto.Position = paikka;
755        auto.Image = autonKuva;
756        auto.LinearDamping = 0.9;
757        AddCollisionHandler(auto, "penkki", TuhoaPenkki);
758        auto.AngularDamping = 0.5;
759        auto.Angle = Angle.FromDegrees(90);
760        auto.CanRotate = true;
761        auto.Collided += delegate (IPhysicsObject a, IPhysicsObject kohde)
762        {
763            const double DMG_FACTOR = 1.0 / 100.0;
764
765            if (a.Velocity.Magnitude <= 0) return;
766
767            Vihu v = kohde as Vihu;
768            if (v == null) return;
769
770            // max nopeudessa magnitude about 800
771            // vihuilla 9 hp
772            // => max vauhdista noin 8 dmg
773            v.ElamaLaskuri.Value -= a.Velocity.Magnitude * DMG_FACTOR;
774        };
775        auto.IsUpdated = true;
776        auto.NeedsUpdateCall = true;
777        auto.Updated += delegate
778        {
779            if (auto.Velocity.Magnitude > 10)
780            {
781                LuoRenkaanJaljet(auto, 0.0);
782                LuoRenkaanJaljet(auto, 1 / 60.0 / 2.0);
783            }
784        };
785
786        Add(auto, 1);
787    }
788
789    void LuoRenkaanJaljet(PhysicsObject auto, double aika)
790    {
791        for (int i = 0; i < 2; i++)
792        {
793
794
795            Vector paikka = auto.Position + auto.Velocity * aika;
796
797            GameObject RenkaanJalki = new GameObject(20, 30);
798            RenkaanJalki.Position = paikka + (auto.Angle + Angle.FromDegrees(-70 - 40 * i)).GetVector() * 100;
799            RenkaanJalki.Shape = Shape.Circle;
800            RenkaanJalki.Angle = auto.Angle;
801
802            if (GetObjectAt(RenkaanJalki.Position, "tie") == null)
803                continue;
804
805            RenkaanJalki.Color = Color.Black;
806
807            //if (GetObjectAt(RenkaanJalki.Position, "tie") != null) // activate ultimate lag
808            //    RenkaanJalki.Color = Color.Black;
809            //else
810            //    RenkaanJalki.Color = Color.Darker(Color.DarkBrown, 30);
811
812            RenkaanJalki.FadeColorTo(Color.Transparent, 4.0);
813            RenkaanJalki.LifetimeLeft = TimeSpan.FromSeconds(5);
814            Add(RenkaanJalki);
815        }
816    }
817
818    void LuoPelaajan2Ase()
819    {
820        pelaajan2Ase = new AssaultRifle(30, 10);
821        pelaajan2Ase.IsVisible = false;
822        pelaajan2Ase.Ammo.Value = 1000000;
823        pelaajan2Ase.Angle = Angle.FromDegrees(90);
824        pelaajan2Ase.AttackSound = null;
825
826        pelaajan2Ase.ProjectileCollision = Ammus2Osui;
827
828        pelaaja2.Add(pelaajan2Ase);
829    }
830
831    void Ammus2Osui(PhysicsObject ammus2, PhysicsObject kohde)
832    {
833        if (kohde.Tag.Equals("penkki"))
834        {
835            kohde.Destroy();
836            ammus2.Destroy();
837        }
838        if (kohde.Tag.Equals("zombi"))
839        {
840            (kohde as Vihu).ElamaLaskuri.Value -= 3;
841        }
842
843    }
844
845    void AmmuAseella2(AssaultRifle pelaajan2Ase)
846    {
847        PhysicsObject ammus2 = pelaajan2Ase.Shoot();
848
849        if (ammus2 != null)
850        {
851            ammus2.IsVisible = false;
852            ammus2.Tag = "ammus2";
853            ammus2.Size *= 1;
854            pelaajan2Ase.FireRate = 100000000;
855
856            AddCollisionHandler(ammus2, "penkki", Ammus2Osui);
857            ammus2.MaximumLifetime = TimeSpan.FromSeconds(0.05);
858
859        }
860    }
861    void LisaaNappaimet()
862    {
863        ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, AmmuAseella2, "Ammu", pelaajan2Ase);
864    }
865
866    void LuoAmmoBoxi(Vector paikka, double leveys, double korkeus)
867    {
868        Ammoboxi = PhysicsObject.CreateStaticObject(leveys, korkeus);
869        Ammoboxi.Position = paikka;
870        Ammoboxi.Tag = "Ammoboxi";
871        Ammoboxi.Image = ammonKuva;
872        Add(Ammoboxi);
873    }
874    void SaaAmmoBoxi(PhysicsObject pelaaja, PhysicsObject Ammoboxi)
875    {
876        pelaajanase.Ammo.Value += 5;
877        Ammoboxi.Destroy();
878    }
879
880    void LuoPelaajat()
881    {
882        //HAha
883        //HAha
884        //HAha
885        //HAha
886        //HAha
887        //HAha
888        //HAha
889        //HAha
890        //HAha
891        //HAha
892        //HAha
893        //HAha
894        //HAha
895        //HAha
896        //HAha
897        //HAha
898        //HAha
899        //HAha
900        //HAha
901        //HAha
902        //HAha
903        //HAha
904        //HAha
905        //HAha
906        //HAha
907        //HAha
908        //HAha
909        //HAha
910        //HAha
911        //HAha
912        //HAha
913        //HAha
914        //HAha
915        //HAha
916        //HAha
917        //HAha
918        //HAha
919        //HAha
920        //HAha
921        //HAha
922        //HAha
923        //HAha
924        //HAha
925        //HAha
926        //HAha
927        //HAha
928        //HAha
929        //HAha
930        //HAha
931        //HAha
932        //HAha
933        //HAha
934        //HAha
935        //HAha
936        //HAha
937        //HAha
938        //HAha
939        //HAha
940        //HAha
941        //HAha
942        //HAha
943        //HAha
944        //HAha
945        //HAha
946        //HAha
947        //HAha
948        //HAha
949        //HAha
950        //HAha
951        //HAha
952        //HAha
953        //HAha
954        //HAha
955        //HAha
956        //HAha
957        //HAha
958        //HAha
959        //HAha
960        //HAha
961        //HAha
962        //HAha
963        //HAha
964        //HAha
965        //HAha
966        //HAha
967        //HAha
968        //HAha
969        //HAha
970        //HAha
971        //HAha
972        //HAha
973        //HAha
974        //HAha
975        //HAha
976        //HAha
977        //HAha
978        //HAha
979        //HAha
980        //HAha
981        //HAha
982        //HAha
983        //HAha
984        //HAha
985        //HAha
986        //HAha
987        //HAha
988        //HAha
989        //HAha
990        //HAha
991        //HAha
992        //HAha
993        //HAha
994        //HAha
995        //HAha
996        //HAha
997        //HAha
998        //HAha
999        //HAha
1000        //HAha
1001        //HAha
1002        //HAha
1003        //HAha
1004        //HAha//HAha
1005        //HAha
1006        //HAha
1007        //HAha
1008        //HAha
1009        //HAha
1010        //HAha
1011        //HAha
1012        //HAha
1013        //HAha
1014        //HAha
1015        //HAha
1016        //HAha
1017        //HAha
1018        //HAha
1019        //HAha
1020        //HAha
1021        //HAha
1022        //HAha
1023        //HAha
1024        //HAha
1025        //HAha
1026        //HAha
1027        //HAha
1028        //HAha
1029        //HAha
1030        //HAha
1031        //HAha
1032        //HAha
1033        //HAha
1034        //HAha
1035        //HAha
1036        //HAha
1037        //HAha
1038        //HAha
1039        //HAha
1040        //HAha
1041        //HAha
1042        //HAha
1043        //HAha
1044        //HAha
1045        //HAha
1046        //HAha
1047        //HAha
1048        //HAha
1049        //HAha
1050        //HAha
1051        //HAha
1052        //HAha
1053        //HAha
1054        //HAha
1055        //HAha
1056        //HAha
1057        //HAha
1058        //HAha
1059        //HAha
1060        //HAha
1061        //HAha
1062        //HAha
1063        //HAha
1064        //HAha
1065        //HAha
1066        //HAha
1067        //HAha
1068        //HAha
1069        //HAha
1070        //HAha
1071        //HAha
1072        //HAha
1073        //HAha
1074        //HAha
1075        //HAha
1076        //HAha
1077        //HAha
1078        //HAha
1079        //HAha
1080        //HAha
1081        //HAha
1082        //HAha
1083        //HAha
1084        //HAha
1085        //HAha
1086        //HAha
1087        //HAha
1088        //HAha
1089        //HAha
1090        //HAha
1091        //HAha
1092        //HAha
1093        //HAha
1094        //HAha
1095        //HAha
1096        //HAha
1097        //HAha
1098        //HAha
1099        //HAha
1100        //HAha
1101        //HAha
1102        //HAha
1103        //HAha
1104        //HAha
1105        //HAha
1106        //HAha
1107        //HAha
1108        //HAha
1109        //HAha
1110        //HAha
1111        //HAha
1112        //HAha
1113        //HAha
1114        //HAha
1115        //HAha
1116        //HAha
1117        //HAha
1118        //HAha
1119        //HAha
1120        //HAha
1121        //HAha
1122        //HAha
1123        //HAha
1124        //HAha
1125        //HAha//HAha
1126        //HAha
1127        //HAha
1128        //HAha
1129        //HAha
1130        //HAha
1131        //HAha
1132        //HAha
1133        //HAha
1134        //HAha
1135        //HAha
1136        //HAha
1137        //HAha
1138        //HAha
1139        //HAha
1140        //HAha
1141        //HAha
1142        //HAha
1143        //HAha
1144        //HAha
1145        //HAha
1146        //HAha
1147        //HAha
1148        //HAha
1149        //HAha
1150        //HAha
1151        //HAha
1152        //HAha
1153        //HAha
1154        //HAha
1155        //HAha
1156        //HAha
1157        //HAha
1158        //HAha
1159        //HAha
1160        //HAha
1161        //HAha
1162        //HAha
1163        //HAha
1164        //HAha
1165        //HAha
1166        //HAha
1167        //HAha
1168        //HAha
1169        //HAha
1170        //HAha
1171        //HAha
1172        //HAha
1173        //HAha
1174        //HAha
1175        //HAha
1176        //HAha
1177        //HAha
1178        //HAha
1179        //HAha
1180        //HAha
1181        //HAha
1182        //HAha
1183        //HAha
1184        //HAha
1185        //HAha
1186        //HAha
1187        //HAha
1188        //HAha
1189        //HAha
1190        //HAha
1191        //HAha
1192        //HAha
1193        //HAha
1194        //HAha
1195        //HAha
1196        //HAha
1197        //HAha
1198        //HAha
1199        //HAha
1200        //HAha
1201        //HAha
1202        //HAha
1203        //HAha
1204        //HAha
1205        //HAha
1206        //HAha
1207        //HAha
1208        //HAha
1209        //HAha
1210        //HAha
1211        //HAha
1212        //HAha
1213        //HAha
1214        //HAha
1215        //HAha
1216        //HAha
1217        //HAha
1218        //HAha
1219        //HAha
1220        //HAha
1221        //HAha
1222        //HAha
1223        //HAha
1224        //HAha
1225        //HAha
1226        //HAha
1227        //HAha
1228        //HAha
1229        //HAha
1230        //HAha
1231        //HAha
1232        //HAha
1233        //HAha
1234        //HAha
1235        //HAha
1236        //HAha
1237        //HAha
1238        //HAha
1239        //HAha
1240        //HAha
1241        //HAha
1242        //HAha
1243        //HAha
1244        //HAha
1245        //HAha
1246        //HAha//HAha
1247        //HAha
1248        //HAha
1249        //HAha
1250        //HAha
1251        //HAha
1252        //HAha
1253        //HAha
1254        //HAha
1255        //HAha
1256        //HAha
1257        //HAha
1258        //HAha
1259        //HAha
1260        //HAha
1261        //HAha
1262        //HAha
1263        //HAha
1264        //HAha
1265        //HAha
1266        //HAha
1267        //HAha
1268        //HAha
1269        //HAha
1270        //HAha
1271        //HAha
1272        //HAha
1273        //HAha
1274        //HAha
1275        //HAha
1276        //HAha
1277        //HAha
1278        //HAha
1279        //HAha
1280        //HAha
1281        //HAha
1282        //HAha
1283        //HAha
1284        //HAha
1285        //HAha
1286        //HAha
1287        //HAha
1288        //HAha
1289        //HAha
1290        //HAha
1291        //HAha
1292        //HAha
1293        //HAha
1294        //HAha
1295        //HAha
1296        //HAha
1297        //HAha
1298        //HAha
1299        //HAha
1300        //HAha
1301        //HAha
1302        //HAha
1303        //HAha
1304        //HAha
1305        //HAha
1306        //HAha
1307        //HAha
1308        //HAha
1309        //HAha
1310        //HAha
1311        //HAha
1312        //HAha
1313        //HAha
1314        //HAha
1315        //HAha
1316        //HAha
1317        //HAha
1318        //HAha
1319        //HAha
1320        //HAha
1321        //HAha
1322        //HAha
1323        //HAha
1324        //HAha
1325        //HAha
1326        //HAha
1327        //HAha
1328        //HAha
1329        //HAha
1330        //HAha
1331        //HAha
1332        //HAha
1333        //HAha
1334        //HAha
1335        //HAha
1336        //HAha
1337        //HAha
1338        //HAha
1339        //HAha
1340        //HAha
1341        //HAha
1342        //HAha
1343        //HAha
1344        //HAha
1345        //HAha
1346        //HAha
1347        //HAha
1348        //HAha
1349        //HAha
1350        //HAha
1351        //HAha
1352        //HAha
1353        //HAha
1354        //HAha
1355        //HAha
1356        //HAha
1357        //HAha
1358        //HAha
1359        //HAha
1360        //HAha
1361        //HAha
1362        //HAha
1363        //HAha
1364        //HAha
1365        //HAha
1366        //HAha
1367        //HAha//HAha
1368        //HAha
1369        //HAha
1370        //HAha
1371        //HAha
1372        //HAha
1373        //HAha
1374        //HAha
1375        //HAha
1376        //HAha
1377        //HAha
1378        //HAha
1379        //HAha
1380        //HAha
1381        //HAha
1382        //HAha
1383        //HAha
1384        //HAha
1385        //HAha
1386        //HAha
1387        //HAha
1388        //HAha
1389        //HAha
1390        //HAha
1391        //HAha
1392        //HAha
1393        //HAha
1394        //HAha
1395        //HAha
1396        //HAha
1397        //HAha
1398        //HAha
1399        //HAha
1400        //HAha
1401        //HAha
1402        //HAha
1403        //HAha
1404        //HAha
1405        //HAha
1406        //HAha
1407        //HAha
1408        //HAha
1409        //HAha
1410        //HAha
1411        //HAha
1412        //HAha
1413        //HAha
1414        //HAha
1415        //HAha
1416        //HAha
1417        //HAha
1418        //HAha
1419        //HAha
1420        //HAha
1421        //HAha
1422        //HAha
1423        //HAha
1424        //HAha
1425        //HAha
1426        //HAha
1427        //HAha
1428        //HAha
1429        //HAha
1430        //HAha
1431        //HAha
1432        //HAha
1433        //HAha
1434        //HAha
1435        //HAha
1436        //HAha
1437        //HAha
1438        //HAha
1439        //HAha
1440        //HAha
1441        //HAha
1442        //HAha
1443        //HAha
1444        //HAha
1445        //HAha
1446        //HAha
1447        //HAha
1448        //HAha
1449        //HAha
1450        //HAha
1451        //HAha
1452        //HAha
1453        //HAha
1454        //HAha
1455        //HAha
1456        //HAha
1457        //HAha
1458        //HAha
1459        //HAha
1460        //HAha
1461        //HAha
1462        //HAha
1463        //HAha
1464        //HAha
1465        //HAha
1466        //HAha
1467        //HAha
1468        //HAha
1469        //HAha
1470        //HAha
1471        //HAha
1472        //HAha
1473        //HAha
1474        //HAha
1475        //HAha
1476        //HAha
1477        //HAha
1478        //HAha
1479        //HAha
1480        //HAha
1481        //HAha
1482        //HAha
1483        //HAha
1484        //HAha
1485        //HAha
1486        //HAha
1487        //HAha
1488        //HAha//HAha
1489        //HAha
1490        //HAha
1491        //HAha
1492        //HAha
1493        //HAha
1494        //HAha
1495        //HAha
1496        //HAha
1497        //HAha
1498        //HAha
1499        //HAha
1500        //HAha
1501        //HAha
1502        //HAha
1503        //HAha
1504        //HAha
1505        //HAha
1506        //HAha
1507        //HAha
1508        //HAha
1509        //HAha
1510        //HAha
1511        //HAha
1512        //HAha
1513        //HAha
1514        //HAha
1515        //HAha
1516        //HAha
1517        //HAha
1518        //HAha
1519        //HAha
1520        //HAha
1521        //HAha
1522        //HAha
1523        //HAha
1524        //HAha
1525        //HAha
1526        //HAha
1527        //HAha
1528        //HAha
1529        //HAha
1530        //HAha
1531        //HAha
1532        //HAha
1533        //HAha
1534        //HAha
1535        //HAha
1536        //HAha
1537        //HAha
1538        //HAha
1539        //HAha
1540        //HAha
1541        //HAha
1542        //HAha
1543        //HAha
1544        //HAha
1545        //HAha
1546        //HAha
1547        //HAha
1548        //HAha
1549        //HAha
1550        //HAha
1551        //HAha
1552        //HAha
1553        //HAha
1554        //HAha
1555        //HAha
1556        //HAha
1557        //HAha
1558        //HAha
1559        //HAha
1560        //HAha
1561        //HAha
1562        //HAha
1563        //HAha
1564        //HAha
1565        //HAha
1566        //HAha
1567        //HAha
1568        //HAha
1569        //HAha
1570        //HAha
1571        //HAha
1572        //HAha
1573        //HAha
1574        //HAha
1575        //HAha
1576        //HAha
1577        //HAha
1578        //HAha
1579        //HAha
1580        //HAha
1581        //HAha
1582        //HAha
1583        //HAha
1584        //HAha
1585        //HAha
1586        //HAha
1587        //HAha
1588        //HAha
1589        //HAha
1590        //HAha
1591        //HAha
1592        //HAha
1593        //HAha
1594        //HAha
1595        //HAha
1596        //HAha
1597        //HAha
1598        //HAha
1599        //HAha
1600        //HAha
1601        //HAha
1602        //HAha
1603        //HAha
1604        //HAha
1605        //HAha
1606        //HAha
1607        //HAha
1608        //HAha
1609        //HAha//HAha
1610        //HAha
1611        //HAha
1612        //HAha
1613        //HAha
1614        //HAha
1615        //HAha
1616        //HAha
1617        //HAha
1618        //HAha
1619        //HAha
1620        //HAha
1621        //HAha
1622        //HAha
1623        //HAha
1624        //HAha
1625        //HAha
1626        //HAha
1627        //HAha
1628        //HAha
1629        //HAha
1630        //HAha
1631        //HAha
1632        //HAha
1633        //HAha
1634        //HAha
1635        //HAha
1636        //HAha
1637        //HAha
1638        //HAha
1639        //HAha
1640        //HAha
1641        //HAha
1642        //HAha
1643        //HAha
1644        //HAha
1645        //HAha
1646        //HAha
1647        //HAha
1648        //HAha
1649        //HAha
1650        //HAha
1651        //HAha
1652        //HAha
1653        //HAha
1654        //HAha
1655        //HAha
1656        //HAha
1657        //HAha
1658        //HAha
1659        //HAha
1660        //HAha
1661        //HAha
1662        //HAha
1663        //HAha
1664        //HAha
1665        //HAha
1666        //HAha
1667        //HAha
1668        //HAha
1669        //HAha
1670        //HAha
1671        //HAha
1672        //HAha
1673        //HAha
1674        //HAha
1675        //HAha
1676        //HAha
1677        //HAha
1678        //HAha
1679        //HAha
1680        //HAha
1681        //HAha
1682        //HAha
1683        //HAha
1684        //HAha
1685        //HAha
1686        //HAha
1687        //HAha
1688        //HAha
1689        //HAha
1690        //HAha
1691        //HAha
1692        //HAha
1693        //HAha
1694        //HAha
1695        //HAha
1696        //HAha
1697        //HAha
1698        //HAha
1699        //HAha
1700        //HAha
1701        //HAha
1702        //HAha
1703        //HAha
1704        //HAha
1705        //HAha
1706        //HAha
1707        //HAha
1708        //HAha
1709        //HAha
1710        //HAha
1711        //HAha
1712        //HAha
1713        //HAha
1714        //HAha
1715        //HAha
1716        //HAha
1717        //HAha
1718        //HAha
1719        //HAha
1720        //HAha
1721        //HAha
1722        //HAha
1723        //HAha
1724        //HAha
1725        //HAha
1726        //HAha
1727        //HAha
1728        //HAha
1729        //HAha
1730        //HAha//HAha
1731        //HAha
1732        //HAha
1733        //HAha
1734        //HAha
1735        //HAha
1736        //HAha
1737        //HAha
1738        //HAha
1739        //HAha
1740        //HAha
1741        //HAha
1742        //HAha
1743        //HAha
1744        //HAha
1745        //HAha
1746        //HAha
1747        //HAha
1748        //HAha
1749        //HAha
1750        //HAha
1751        //HAha
1752        //HAha
1753        //HAha
1754        //HAha
1755        //HAha
1756        //HAha
1757        //HAha
1758        //HAha
1759        //HAha
1760        //HAha
1761        //HAha
1762        //HAha
1763        //HAha
1764        //HAha
1765        //HAha
1766        //HAha
1767        //HAha
1768        //HAha
1769        //HAha
1770        //HAha
1771        //HAha
1772        //HAha
1773        //HAha
1774        //HAha
1775        //HAha
1776        //HAha
1777        //HAha
1778        //HAha
1779        //HAha
1780        //HAha
1781        //HAha
1782        //HAha
1783        //HAha
1784        //HAha
1785        //HAha
1786        //HAha
1787        //HAha
1788        //HAha
1789        //HAha
1790        //HAha
1791        //HAha
1792        //HAha
1793        //HAha
1794        //HAha
1795        //HAha
1796        //HAha
1797        //HAha
1798        //HAha
1799        //HAha
1800        //HAha
1801        //HAha
1802        //HAha
1803        //HAha
1804        //HAha
1805        //HAha
1806        //HAha
1807        //HAha
1808        //HAha
1809        //HAha
1810        //HAha
1811        //HAha
1812        //HAha
1813        //HAha
1814        //HAha
1815        //HAha
1816        //HAha
1817        //HAha
1818        //HAha
1819        //HAha
1820        //HAha
1821        //HAha
1822        //HAha
1823        //HAha
1824        //HAha
1825        //HAha
1826        //HAha
1827        //HAha
1828        //HAha
1829        //HAha
1830        //HAha
1831        //HAha
1832        //HAha
1833        //HAha
1834        //HAha
1835        //HAha
1836        //HAha
1837        //HAha
1838        //HAha
1839        //HAha
1840        //HAha
1841        //HAha
1842        //HAha
1843        //HAha
1844        //HAha
1845        //HAha
1846        //HAha
1847        //HAha
1848        //HAha
1849        //HAha
1850        //HAha
1851        //HAha//HAha
1852        //HAha
1853        //HAha
1854        //HAha
1855        //HAha
1856        //HAha
1857        //HAha
1858        //HAha
1859        //HAha
1860        //HAha
1861        //HAha
1862        //HAha
1863        //HAha
1864        //HAha
1865        //HAha
1866        //HAha
1867        //HAha
1868        //HAha
1869        //HAha
1870        //HAha
1871        //HAha
1872        //HAha
1873        //HAha
1874        //HAha
1875        //HAha
1876        //HAha
1877        //HAha
1878        //HAha
1879        //HAha
1880        //HAha
1881        //HAha
1882        //HAha
1883        //HAha
1884        //HAha
1885        //HAha
1886        //HAha
1887        //HAha
1888        //HAha
1889        //HAha
1890        //HAha
1891        //HAha
1892        //HAha
1893        //HAha
1894        //HAha
1895        //HAha
1896        //HAha
1897        //HAha
1898        //HAha
1899        //HAha
1900        //HAha
1901        //HAha
1902        //HAha
1903        //HAha
1904        //HAha
1905        //HAha
1906        //HAha
1907        //HAha
1908        //HAha
1909        //HAha
1910        //HAha
1911        //HAha
1912        //HAha
1913        //HAha
1914        //HAha
1915        //HAha
1916        //HAha
1917        //HAha
1918        //HAha
1919        //HAha
1920        //HAha
1921        //HAha
1922        //HAha
1923        //HAha
1924        //HAha
1925        //HAha
1926        //HAha
1927        //HAha
1928        //HAha
1929        //HAha
1930        //HAha
1931        //HAha
1932        //HAha
1933        //HAha
1934        //HAha
1935        //HAha
1936        //HAha
1937        //HAha
1938        //HAha
1939        //HAha
1940        //HAha
1941        //HAha
1942        //HAha
1943        //HAha
1944        //HAha
1945        //HAha
1946        //HAha
1947        //HAha
1948        //HAha
1949        //HAha
1950        //HAha
1951        //HAha
1952        //HAha
1953        //HAha
1954        //HAha
1955        //HAha
1956        //HAha
1957        //HAha
1958        //HAha
1959        //HAha
1960        //HAha
1961        //HAha
1962        //HAha
1963        //HAha
1964        //HAha
1965        //HAha
1966        //HAha
1967        //HAha
1968        //HAha
1969        //HAha
1970        //HAha
1971        //HAha
1972        //HAha//HAha
1973        //HAha
1974        //HAha
1975        //HAha
1976        //HAha
1977        //HAha
1978        //HAha
1979        //HAha
1980        //HAha
1981        //HAha
1982        //HAha
1983        //HAha
1984        //HAha
1985        //HAha
1986        //HAha
1987        //HAha
1988        //HAha
1989        //HAha
1990        //HAha
1991        //HAha
1992        //HAha
1993        //HAha
1994        //HAha
1995        //HAha
1996        //HAha
1997        //HAha
1998        //HAha
1999        //HAha
2000        //HAha
2001        //HAha
2002        //HAha
2003        //HAha
2004        //HAha
2005        //HAha
2006        //HAha
2007        //HAha
2008        //HAha
2009        //HAha
2010        //HAha
2011        //HAha
2012        //HAha
2013        //HAha
2014        //HAha
2015        //HAha
2016        //HAha
2017        //HAha
2018        //HAha
2019        //HAha
2020        //HAha
2021        //HAha
2022        //HAha
2023        //HAha
2024        //HAha
2025        //HAha
2026        //HAha
2027        //HAha
2028        //HAha
2029        //HAha
2030        //HAha
2031        //HAha
2032        //HAha
2033        //HAha
2034        //HAha
2035        //HAha
2036        //HAha
2037        //HAha
2038        //HAha
2039        //HAha
2040        //HAha
2041        //HAha
2042        //HAha
2043        //HAha
2044        //HAha
2045        //HAha
2046        //HAha
2047        //HAha
2048        //HAha
2049        //HAha
2050        //HAha
2051        //HAha
2052        //HAha
2053        //HAha
2054        //HAha
2055        //HAha
2056        //HAha
2057        //HAha
2058        //HAha
2059        //HAha
2060        //HAha
2061        //HAha
2062        //HAha
2063        //HAha
2064        //HAha
2065        //HAha
2066        //HAha
2067        //HAha
2068        //HAha
2069        //HAha
2070        //HAha
2071        //HAha
2072        //HAha
2073        //HAha
2074        //HAha
2075        //HAha
2076        //HAha
2077        //HAha
2078        //HAha
2079        //HAha
2080        //HAha
2081        //HAha
2082        //HAha
2083        //HAha
2084        //HAha
2085        //HAha
2086        //HAha
2087        //HAha
2088        //HAha
2089        //HAha
2090        //HAha
2091        //HAha
2092        //HAha
2093        //HAha//HAha
2094        //HAha
2095        //HAha
2096        //HAha
2097        //HAha
2098        //HAha
2099        //HAha
2100        //HAha
2101        //HAha
2102        //HAha
2103        //HAha
2104        //HAha
2105        //HAha
2106        //HAha
2107        //HAha
2108        //HAha
2109        //HAha
2110        //HAha
2111        //HAha
2112        //HAha
2113        //HAha
2114        //HAha
2115        //HAha
2116        //HAha
2117        //HAha
2118        //HAha
2119        //HAha
2120        //HAha
2121        //HAha
2122        //HAha
2123        //HAha
2124        //HAha
2125        //HAha
2126        //HAha
2127        //HAha
2128        //HAha
2129        //HAha
2130        //HAha
2131        //HAha
2132        //HAha
2133        //HAha
2134        //HAha
2135        //HAha
2136        //HAha
2137        //HAha
2138        //HAha
2139        //HAha
2140        //HAha
2141        //HAha
2142        //HAha
2143        //HAha
2144        //HAha
2145        //HAha
2146        //HAha
2147        //HAha
2148        //HAha
2149        //HAha
2150        //HAha
2151        //HAha
2152        //HAha
2153        //HAha
2154        //HAha
2155        //HAha
2156        //HAha
2157        //HAha
2158        //HAha
2159        //HAha
2160        //HAha
2161        //HAha
2162        //HAha
2163        //HAha
2164        //HAha
2165        //HAha
2166        //HAha
2167        //HAha
2168        //HAha
2169        //HAha
2170        //HAha
2171        //HAha
2172        //HAha
2173        //HAha
2174        //HAha
2175        //HAha
2176        //HAha
2177        //HAha
2178        //HAha
2179        //HAha
2180        //HAha
2181        //HAha
2182        //HAha
2183        //HAha
2184        //HAha
2185        //HAha
2186        //HAha
2187        //HAha
2188        //HAha
2189        //HAha
2190        //HAha
2191        //HAha
2192        //HAha
2193        //HAha
2194        //HAha
2195        //HAha
2196        //HAha
2197        //HAha
2198        //HAha
2199        //HAha
2200        //HAha
2201        //HAha
2202        //HAha
2203        //HAha
2204        //HAha
2205        //HAha
2206        //HAha
2207        //HAha
2208        //HAha
2209        //HAha
2210        //HAha
2211        //HAha
2212        //HAha
2213        //HAha
2214        //HAha//HAha
2215        //HAha
2216        //HAha
2217        //HAha
2218        //HAha
2219        //HAha
2220        //HAha
2221        //HAha
2222        //HAha
2223        //HAha
2224        //HAha
2225        //HAha
2226        //HAha
2227        //HAha
2228        //HAha
2229        //HAha
2230        //HAha
2231        //HAha
2232        //HAha
2233        //HAha
2234        //HAha
2235        //HAha
2236        //HAha
2237        //HAha
2238        //HAha
2239        //HAha
2240        //HAha
2241        //HAha
2242        //HAha
2243        //HAha
2244        //HAha
2245        //HAha
2246        //HAha
2247        //HAha
2248        //HAha
2249        //HAha
2250        //HAha
2251        //HAha
2252        //HAha
2253        //HAha
2254        //HAha
2255        //HAha
2256        //HAha
2257        //HAha
2258        //HAha
2259        //HAha
2260        //HAha
2261        //HAha
2262        //HAha
2263        //HAha
2264        //HAha
2265        //HAha
2266        //HAha
2267        //HAha
2268        //HAha
2269        //HAha
2270        //HAha
2271        //HAha
2272        //HAha
2273        //HAha
2274        //HAha
2275        //HAha
2276        //HAha
2277        //HAha
2278        //HAha
2279        //HAha
2280        //HAha
2281        //HAha
2282        //HAha
2283        //HAha
2284        //HAha
2285        //HAha
2286        //HAha
2287        //HAha
2288        //HAha
2289        //HAha
2290        //HAha
2291        //HAha
2292        //HAha
2293        //HAha
2294        //HAha
2295        //HAha
2296        //HAha
2297        //HAha
2298        //HAha
2299        //HAha
2300        //HAha
2301        //HAha
2302        //HAha
2303        //HAha
2304        //HAha
2305        //HAha
2306        //HAha
2307        //HAha
2308        //HAha
2309        //HAha
2310        //HAha
2311        //HAha
2312        //HAha
2313        //HAha
2314        //HAha
2315        //HAha
2316        //HAha
2317        //HAha
2318        //HAha
2319        //HAha
2320        //HAha
2321        //HAha
2322        //HAha
2323        //HAha
2324        //HAha
2325        //HAha
2326        //HAha
2327        //HAha
2328        //HAha
2329        //HAha
2330        //HAha
2331        //HAha
2332        //HAha
2333        //HAha
2334        //HAha
2335        //HAha//HAha
2336        //HAha
2337        //HAha
2338        //HAha
2339        //HAha
2340        //HAha
2341        //HAha
2342        //HAha
2343        //HAha
2344        //HAha
2345        //HAha
2346        //HAha
2347        //HAha
2348        //HAha
2349        //HAha
2350        //HAha
2351        //HAha
2352        //HAha
2353        //HAha
2354        //HAha
2355        //HAha
2356        //HAha
2357        //HAha
2358        //HAha
2359        //HAha
2360        //HAha
2361        //HAha
2362        //HAha
2363        //HAha
2364        //HAha
2365        //HAha
2366        //HAha
2367        //HAha
2368        //HAha
2369        //HAha
2370        //HAha
2371        //HAha
2372        //HAha
2373        //HAha
2374        //HAha
2375        //HAha
2376        //HAha
2377        //HAha
2378        //HAha
2379        //HAha
2380        //HAha
2381        //HAha
2382        //HAha
2383        //HAha
2384        //HAha
2385        //HAha
2386        //HAha
2387        //HAha
2388        //HAha
2389        //HAha
2390        //HAha
2391        //HAha
2392        //HAha
2393        //HAha
2394        //HAha
2395        //HAha
2396        //HAha
2397        //HAha
2398        //HAha
2399        //HAha
2400        //HAha
2401        //HAha
2402        //HAha
2403        //HAha
2404        //HAha
2405        //HAha
2406        //HAha
2407        //HAha
2408        //HAha
2409        //HAha
2410        //HAha
2411        //HAha
2412        //HAha
2413        //HAha
2414        //HAha
2415        //HAha
2416        //HAha
2417        //HAha
2418        //HAha
2419        //HAha
2420        //HAha
2421        //HAha
2422        //HAha
2423        //HAha
2424        //HAha
2425        //HAha
2426        //HAha
2427        //HAha
2428        //HAha
2429        //HAha
2430        //HAha
2431        //HAha
2432        //HAha
2433        //HAha
2434        //HAha
2435        //HAha
2436        //HAha
2437        //HAha
2438        //HAha
2439        //HAha
2440        //HAha
2441        //HAha
2442        //HAha
2443        //HAha
2444        //HAha
2445        //HAha
2446        //HAha
2447        //HAha
2448        //HAha
2449        //HAha
2450        //HAha
2451        //HAha
2452        //HAha
2453        //HAha
2454        //HAha
2455        //HAha
2456        //HAha//HAha
2457        //HAha
2458        //HAha
2459        //HAha
2460        //HAha
2461        //HAha
2462        //HAha
2463        //HAha
2464        //HAha
2465        //HAha
2466        //HAha
2467        //HAha
2468        //HAha
2469        //HAha
2470        //HAha
2471        //HAha
2472        //HAha
2473        //HAha
2474        //HAha
2475        //HAha
2476        //HAha
2477        //HAha
2478        //HAha
2479        //HAha
2480        //HAha
2481        //HAha
2482        //HAha
2483        //HAha
2484        //HAha
2485        //HAha
2486        //HAha
2487        //HAha
2488        //HAha
2489        //HAha
2490        //HAha
2491        //HAha
2492        //HAha
2493        //HAha
2494        //HAha
2495        //HAha
2496        //HAha
2497        //HAha
2498        //HAha
2499        //HAha
2500        //HAha
2501        //HAha
2502        //HAha
2503        //HAha
2504        //HAha
2505        //HAha
2506        //HAha
2507        //HAha
2508        //HAha
2509        //HAha
2510        //HAha
2511        //HAha
2512        //HAha
2513        //HAha
2514        //HAha
2515        //HAha
2516        //HAha
2517        //HAha
2518        //HAha
2519        //HAha
2520        //HAha
2521        //HAha
2522        //HAha
2523        //HAha
2524        //HAha
2525        //HAha
2526        //HAha
2527        //HAha
2528        //HAha
2529        //HAha
2530        //HAha
2531        //HAha
2532        //HAha
2533        //HAha
2534        //HAha
2535        //HAha
2536        //HAha
2537        //HAha
2538        //HAha
2539        //HAha
2540        //HAha
2541        //HAha
2542        //HAha
2543        //HAha
2544        //HAha
2545        //HAha
2546        //HAha
2547        //HAha
2548        //HAha
2549        //HAha
2550        //HAha
2551        //HAha
2552        //HAha
2553        //HAha
2554        //HAha
2555        //HAha
2556        //HAha
2557        //HAha
2558        //HAha
2559        //HAha
2560        //HAha
2561        //HAha
2562        //HAha
2563        //HAha
2564        //HAha
2565        //HAha
2566        //HAha
2567        //HAha
2568        //HAha
2569        //HAha
2570        //HAha
2571        //HAha
2572        //HAha
2573        //HAha
2574        //HAha
2575        //HAha
2576        //HAha
2577        //HAha//HAha
2578        //HAha
2579        //HAha
2580        //HAha
2581        //HAha
2582        //HAha
2583        //HAha
2584        //HAha
2585        //HAha
2586        //HAha
2587        //HAha
2588        //HAha
2589        //HAha
2590        //HAha
2591        //HAha
2592        //HAha
2593        //HAha
2594        //HAha
2595        //HAha
2596        //HAha
2597        //HAha
2598        //HAha
2599        //HAha
2600        //HAha
2601        //HAha
2602        //HAha
2603        //HAha
2604        //HAha
2605        //HAha
2606        //HAha
2607        //HAha
2608        //HAha
2609        //HAha
2610        //HAha
2611        //HAha
2612        //HAha
2613        //HAha
2614        //HAha
2615        //HAha
2616        //HAha
2617        //HAha
2618        //HAha
2619        //HAha
2620        //HAha
2621        //HAha
2622        //HAha
2623        //HAha
2624        //HAha
2625        //HAha
2626        //HAha
2627        //HAha
2628        //HAha
2629        //HAha
2630        //HAha
2631        //HAha
2632        //HAha
2633        //HAha
2634        //HAha
2635        //HAha
2636        //HAha
2637        //HAha
2638        //HAha
2639        //HAha
2640        //HAha
2641        //HAha
2642        //HAha
2643        //HAha
2644        //HAha
2645        //HAha
2646        //HAha
2647        //HAha
2648        //HAha
2649        //HAha
2650        //HAha
2651        //HAha
2652        //HAha
2653        //HAha
2654        //HAha
2655        //HAha
2656        //HAha
2657        //HAha
2658        //HAha
2659        //HAha
2660        //HAha
2661        //HAha
2662        //HAha
2663        //HAha
2664        //HAha
2665        //HAha
2666        //HAha
2667        //HAha
2668        //HAha
2669        //HAha
2670        //HAha
2671        //HAha
2672        //HAha
2673        //HAha
2674        //HAha
2675        //HAha
2676        //HAha
2677        //HAha
2678        //HAha
2679        //HAha
2680        //HAha
2681        //HAha
2682        //HAha
2683        //HAha
2684        //HAha
2685        //HAha
2686        //HAha
2687        //HAha
2688        //HAha
2689        //HAha
2690        //HAha
2691        //HAha
2692        //HAha
2693        //HAha
2694        //HAha
2695        //HAha
2696        //HAha
2697        //HAha
2698        //HAha//HAha
2699        //HAha
2700        //HAha
2701        //HAha
2702        //HAha
2703        //HAha
2704        //HAha
2705        //HAha
2706        //HAha
2707        //HAha
2708        //HAha
2709        //HAha
2710        //HAha
2711        //HAha
2712        //HAha
2713        //HAha
2714        //HAha
2715        //HAha
2716        //HAha
2717        //HAha
2718        //HAha
2719        //HAha
2720        //HAha
2721        //HAha
2722        //HAha
2723        //HAha
2724        //HAha
2725        //HAha
2726        //HAha
2727        //HAha
2728        //HAha
2729        //HAha
2730        //HAha
2731        //HAha
2732        //HAha
2733        //HAha
2734        //HAha
2735        //HAha
2736        //HAha
2737        //HAha
2738        //HAha
2739        //HAha
2740        //HAha
2741        //HAha
2742        //HAha
2743        //HAha
2744        //HAha
2745        //HAha
2746        //HAha
2747        //HAha
2748        //HAha
2749        //HAha
2750        //HAha
2751        //HAha
2752        //HAha
2753        //HAha
2754        //HAha
2755        //HAha
2756        //HAha
2757        //HAha
2758        //HAha
2759        //HAha
2760        //HAha
2761        //HAha
2762        //HAha
2763        //HAha
2764        //HAha
2765        //HAha
2766        //HAha
2767        //HAha
2768        //HAha
2769        //HAha
2770        //HAha
2771        //HAha
2772        //HAha
2773        //HAha
2774        //HAha
2775        //HAha
2776        //HAha
2777        //HAha
2778        //HAha
2779        //HAha
2780        //HAha
2781        //HAha
2782        //HAha
2783        //HAha
2784        //HAha
2785        //HAha
2786        //HAha
2787        //HAha
2788        //HAha
2789        //HAha
2790        //HAha
2791        //HAha
2792        //HAha
2793        //HAha
2794        //HAha
2795        //HAha
2796        //HAha
2797        //HAha
2798        //HAha
2799        //HAha
2800        //HAha
2801        //HAha
2802        //HAha
2803        //HAha
2804        //HAha
2805        //HAha
2806        //HAha
2807        //HAha
2808        //HAha
2809        //HAha
2810        //HAha
2811        //HAha
2812        //HAha
2813        //HAha
2814        //HAha
2815        //HAha
2816        //HAha
2817        //HAha
2818        //HAha
2819        //HAha//HAha
2820        //HAha
2821        //HAha
2822        //HAha
2823        //HAha
2824        //HAha
2825        //HAha
2826        //HAha
2827        //HAha
2828        //HAha
2829        //HAha
2830        //HAha
2831        //HAha
2832        //HAha
2833        //HAha
2834        //HAha
2835        //HAha
2836        //HAha
2837        //HAha
2838        //HAha
2839        //HAha
2840        //HAha
2841        //HAha
2842        //HAha
2843        //HAha
2844        //HAha
2845        //HAha
2846        //HAha
2847        //HAha
2848        //HAha
2849        //HAha
2850        //HAha
2851        //HAha
2852        //HAha
2853        //HAha
2854        //HAha
2855        //HAha
2856        //HAha
2857        //HAha
2858        //HAha
2859        //HAha
2860        //HAha
2861        //HAha
2862        //HAha
2863        //HAha
2864        //HAha
2865        //HAha
2866        //HAha
2867        //HAha
2868        //HAha
2869        //HAha
2870        //HAha
2871        //HAha
2872        //HAha
2873        //HAha
2874        //HAha
2875        //HAha
2876        //HAha
2877        //HAha
2878        //HAha
2879        //HAha
2880        //HAha
2881        //HAha
2882        //HAha
2883        //HAha
2884        //HAha
2885        //HAha
2886        //HAha
2887        //HAha
2888        //HAha
2889        //HAha
2890        //HAha
2891        //HAha
2892        //HAha
2893        //HAha
2894        //HAha
2895        //HAha
2896        //HAha
2897        //HAha
2898        //HAha
2899        //HAha
2900        //HAha
2901        //HAha
2902        //HAha
2903        //HAha
2904        //HAha
2905        //HAha
2906        //HAha
2907        //HAha
2908        //HAha
2909        //HAha
2910        //HAha
2911        //HAha
2912        //HAha
2913        //HAha
2914        //HAha
2915        //HAha
2916        //HAha
2917        //HAha
2918        //HAha
2919        //HAha
2920        //HAha
2921        //HAha
2922        //HAha
2923        //HAha
2924        //HAha
2925        //HAha
2926        //HAha
2927        //HAha
2928        //HAha
2929        //HAha
2930        //HAha
2931        //HAha
2932        //HAha
2933        //HAha
2934        //HAha
2935        //HAha
2936        //HAha
2937        //HAha
2938        //HAha
2939        //HAha
2940        //HAha//HAha
2941        //HAha
2942        //HAha
2943        //HAha
2944        //HAha
2945        //HAha
2946        //HAha
2947        //HAha
2948        //HAha
2949        //HAha
2950        //HAha
2951        //HAha
2952        //HAha
2953        //HAha
2954        //HAha
2955        //HAha
2956        //HAha
2957        //HAha
2958        //HAha
2959        //HAha
2960        //HAha
2961        //HAha
2962        //HAha
2963        //HAha
2964        //HAha
2965        //HAha
2966        //HAha
2967        //HAha
2968        //HAha
2969        //HAha
2970        //HAha
2971        //HAha
2972        //HAha
2973        //HAha
2974        //HAha
2975        //HAha
2976        //HAha
2977        //HAha
2978        //HAha
2979        //HAha
2980        //HAha
2981        //HAha
2982        //HAha
2983        //HAha
2984        //HAha
2985        //HAha
2986        //HAha
2987        //HAha
2988        //HAha
2989        //HAha
2990        //HAha
2991        //HAha
2992        //HAha
2993        //HAha
2994        //HAha
2995        //HAha
2996        //HAha
2997        //HAha
2998        //HAha
2999        //HAha
3000        //HAha
3001        //HAha
3002        //HAha
3003        //HAha
3004        //HAha
3005        //HAha
3006        //HAha
3007        //HAha
3008        //HAha
3009        //HAha
3010        //HAha
3011        //HAha
3012        //HAha
3013        //HAha
3014        //HAha
3015        //HAha
3016        //HAha
3017        //HAha
3018        //HAha
3019        //HAha
3020        //HAha
3021        //HAha
3022        //HAha
3023        //HAha
3024        //HAha
3025        //HAha
3026        //HAha
3027        //HAha
3028        //HAha
3029        //HAha
3030        //HAha
3031        //HAha
3032        //HAha
3033        //HAha
3034        //HAha
3035        //HAha
3036        //HAha
3037        //HAha
3038        //HAha
3039        //HAha
3040        //HAha
3041        //HAha
3042        //HAha
3043        //HAha
3044        //HAha
3045        //HAha
3046        //HAha
3047        //HAha
3048        //HAha
3049        //HAha
3050        //HAha
3051        //HAha
3052        //HAha
3053        //HAha
3054        //HAha
3055        //HAha
3056        //HAha
3057        //HAha
3058        //HAha
3059        //HAha
3060        //HAha
3061        //HAha//HAha
3062        //HAha
3063        //HAha
3064        //HAha
3065        //HAha
3066        //HAha
3067        //HAha
3068        //HAha
3069        //HAha
3070        //HAha
3071        //HAha
3072        //HAha
3073        //HAha
3074        //HAha
3075        //HAha
3076        //HAha
3077        //HAha
3078        //HAha
3079        //HAha
3080        //HAha
3081        //HAha
3082        //HAha
3083        //HAha
3084        //HAha
3085        //HAha
3086        //HAha
3087        //HAha
3088        //HAha
3089        //HAha
3090        //HAha
3091        //HAha
3092        //HAha
3093        //HAha
3094        //HAha
3095        //HAha
3096        //HAha
3097        //HAha
3098        //HAha
3099        //HAha
3100        //HAha
3101        //HAha
3102        //HAha
3103        //HAha
3104        //HAha
3105        //HAha
3106        //HAha
3107        //HAha
3108        //HAha
3109        //HAha
3110        //HAha
3111        //HAha
3112        //HAha
3113        //HAha
3114        //HAha
3115        //HAha
3116        //HAha
3117        //HAha
3118        //HAha
3119        //HAha
3120        //HAha
3121        //HAha
3122        //HAha
3123        //HAha
3124        //HAha
3125        //HAha
3126        //HAha
3127        //HAha
3128        //HAha
3129        //HAha
3130        //HAha
3131        //HAha
3132        //HAha
3133        //HAha
3134        //HAha
3135        //HAha
3136        //HAha
3137        //HAha
3138        //HAha
3139        //HAha
3140        //HAha
3141        //HAha
3142        //HAha
3143        //HAha
3144        //HAha
3145        //HAha
3146        //HAha
3147        //HAha
3148        //HAha
3149        //HAha
3150        //HAha
3151        //HAha
3152        //HAha
3153        //HAha
3154        //HAha
3155        //HAha
3156        //HAha
3157        //HAha
3158        //HAha
3159        //HAha
3160        //HAha
3161        //HAha
3162        //HAha
3163        //HAha
3164        //HAha
3165        //HAha
3166        //HAha
3167        //HAha
3168        //HAha
3169        //HAha
3170        //HAha
3171        //HAha
3172        //HAha
3173        //HAha
3174        //HAha
3175        //HAha
3176        //HAha
3177        //HAha
3178        //HAha
3179        //HAha
3180        //HAha
3181        //HAha
3182        //HAha//HAha
3183        //HAha
3184        //HAha
3185        //HAha
3186        //HAha
3187        //HAha
3188        //HAha
3189        //HAha
3190        //HAha
3191        //HAha
3192        //HAha
3193        //HAha
3194        //HAha
3195        //HAha
3196        //HAha
3197        //HAha
3198        //HAha
3199        //HAha
3200        //HAha
3201        //HAha
3202        //HAha
3203        //HAha
3204        //HAha
3205        //HAha
3206        //HAha
3207        //HAha
3208        //HAha
3209        //HAha
3210        //HAha
3211        //HAha
3212        //HAha
3213        //HAha
3214        //HAha
3215        //HAha
3216        //HAha
3217        //HAha
3218        //HAha
3219        //HAha
3220        //HAha
3221        //HAha
3222        //HAha
3223        //HAha
3224        //HAha
3225        //HAha
3226        //HAha
3227        //HAha
3228        //HAha
3229        //HAha
3230        //HAha
3231        //HAha
3232        //HAha
3233        //HAha
3234        //HAha
3235        //HAha
3236        //HAha
3237        //HAha
3238        //HAha
3239        //HAha
3240        //HAha
3241        //HAha
3242        //HAha
3243        //HAha
3244        //HAha
3245        //HAha
3246        //HAha
3247        //HAha
3248        //HAha
3249        //HAha
3250        //HAha
3251        //HAha
3252        //HAha
3253        //HAha
3254        //HAha
3255        //HAha
3256        //HAha
3257        //HAha
3258        //HAha
3259        //HAha
3260        //HAha
3261        //HAha
3262        //HAha
3263        //HAha
3264        //HAha
3265        //HAha
3266        //HAha
3267        //HAha
3268        //HAha
3269        //HAha
3270        //HAha
3271        //HAha
3272        //HAha
3273        //HAha
3274        //HAha
3275        //HAha
3276        //HAha
3277        //HAha
3278        //HAha
3279        //HAha
3280        //HAha
3281        //HAha
3282        //HAha
3283        //HAha
3284        //HAha
3285        //HAha
3286        //HAha
3287        //HAha
3288        //HAha
3289        //HAha
3290        //HAha
3291        //HAha
3292        //HAha
3293        //HAha
3294        //HAha
3295        //HAha
3296        //HAha
3297        //HAha
3298        //HAha
3299        //HAha
3300        //HAha
3301        //HAha
3302        //HAha
3303        //HAha//HAha
3304        //HAha
3305        //HAha
3306        //HAha
3307        //HAha
3308        //HAha
3309        //HAha
3310        //HAha
3311        //HAha
3312        //HAha
3313        //HAha
3314        //HAha
3315        //HAha
3316        //HAha
3317        //HAha
3318        //HAha
3319        //HAha
3320        //HAha
3321        //HAha
3322        //HAha
3323        //HAha
3324        //HAha
3325        //HAha
3326        //HAha
3327        //HAha
3328        //HAha
3329        //HAha
3330        //HAha
3331        //HAha
3332        //HAha
3333        //HAha
3334        //HAha
3335        //HAha
3336        //HAha
3337        //HAha
3338        //HAha
3339        //HAha
3340        //HAha
3341        //HAha
3342        //HAha
3343        //HAha
3344        //HAha
3345        //HAha
3346        //HAha
3347        //HAha
3348        //HAha
3349        //HAha
3350        //HAha
3351        //HAha
3352        //HAha
3353        //HAha
3354        //HAha
3355        //HAha
3356        //HAha
3357        //HAha
3358        //HAha
3359        //HAha
3360        //HAha
3361        //HAha
3362        //HAha
3363        //HAha
3364        //HAha
3365        //HAha
3366        //HAha
3367        //HAha
3368        //HAha
3369        //HAha
3370        //HAha
3371        //HAha
3372        //HAha
3373        //HAha
3374        //HAha
3375        //HAha
3376        //HAha
3377        //HAha
3378        //HAha
3379        //HAha
3380        //HAha
3381        //HAha
3382        //HAha
3383        //HAha
3384        //HAha
3385        //HAha
3386        //HAha
3387        //HAha
3388        //HAha
3389        //HAha
3390        //HAha
3391        //HAha
3392        //HAha
3393        //HAha
3394        //HAha
3395        //HAha
3396        //HAha
3397        //HAha
3398        //HAha
3399        //HAha
3400        //HAha
3401        //HAha
3402        //HAha
3403        //HAha
3404        //HAha
3405        //HAha
3406        //HAha
3407        //HAha
3408        //HAha
3409        //HAha
3410        //HAha
3411        //HAha
3412        //HAha
3413        //HAha
3414        //HAha
3415        //HAha
3416        //HAha
3417        //HAha
3418        //HAha
3419        //HAha
3420        //HAha
3421        //HAha
3422        //HAha
3423        //HAha
3424        //HAha//HAha
3425        //HAha
3426        //HAha
3427        //HAha
3428        //HAha
3429        //HAha
3430        //HAha
3431        //HAha
3432        //HAha
3433        //HAha
3434        //HAha
3435        //HAha
3436        //HAha
3437        //HAha
3438        //HAha
3439        //HAha
3440        //HAha
3441        //HAha
3442        //HAha
3443        //HAha
3444        //HAha
3445        //HAha
3446        //HAha
3447        //HAha
3448        //HAha
3449        //HAha
3450        //HAha
3451        //HAha
3452        //HAha
3453        //HAha
3454        //HAha
3455        //HAha
3456        //HAha
3457        //HAha
3458        //HAha
3459        //HAha
3460        //HAha
3461        //HAha
3462        //HAha
3463        //HAha
3464        //HAha
3465        //HAha
3466        //HAha
3467        //HAha
3468        //HAha
3469        //HAha
3470        //HAha
3471        //HAha
3472        //HAha
3473        //HAha
3474        //HAha
3475        //HAha
3476        //HAha
3477        //HAha
3478        //HAha
3479        //HAha
3480        //HAha
3481        //HAha
3482        //HAha
3483        //HAha
3484        //HAha
3485        //HAha
3486        //HAha
3487        //HAha
3488        //HAha
3489        //HAha
3490        //HAha
3491        //HAha
3492        //HAha
3493        //HAha
3494        //HAha
3495        //HAha
3496        //HAha
3497        //HAha
3498        //HAha
3499        //HAha
3500        //HAha
3501        //HAha
3502        //HAha
3503        //HAha
3504        //HAha
3505        //HAha
3506        //HAha
3507        //HAha
3508        //HAha
3509        //HAha
3510        //HAha
3511        //HAha
3512        //HAha
3513        //HAha
3514        //HAha
3515        //HAha
3516        //HAha
3517        //HAha
3518        //HAha
3519        //HAha
3520        //HAha
3521        //HAha
3522        //HAha
3523        //HAha
3524        //HAha
3525        //HAha
3526        //HAha
3527        //HAha
3528        //HAha
3529        //HAha
3530        //HAha
3531        //HAha
3532        //HAha
3533        //HAha
3534        //HAha
3535        //HAha
3536        //HAha
3537        //HAha
3538        //HAha
3539        //HAha
3540        //HAha
3541        //HAha
3542        //HAha
3543        //HAha
3544        //HAha
3545        //HAha//HAha
3546        //HAha
3547        //HAha
3548        //HAha
3549        //HAha
3550        //HAha
3551        //HAha
3552        //HAha
3553        //HAha
3554        //HAha
3555        //HAha
3556        //HAha
3557        //HAha
3558        //HAha
3559        //HAha
3560        //HAha
3561        //HAha
3562        //HAha
3563        //HAha
3564        //HAha
3565        //HAha
3566        //HAha
3567        //HAha
3568        //HAha
3569        //HAha
3570        //HAha
3571        //HAha
3572        //HAha
3573        //HAha
3574        //HAha
3575        //HAha
3576        //HAha
3577        //HAha
3578        //HAha
3579        //HAha
3580        //HAha
3581        //HAha
3582        //HAha
3583        //HAha
3584        //HAha
3585        //HAha
3586        //HAha
3587        //HAha
3588        //HAha
3589        //HAha
3590        //HAha
3591        //HAha
3592        //HAha
3593        //HAha
3594        //HAha
3595        //HAha
3596        //HAha
3597        //HAha
3598        //HAha
3599        //HAha
3600        //HAha
3601        //HAha
3602        //HAha
3603        //HAha
3604        //HAha
3605        //HAha
3606        //HAha
3607        //HAha
3608        //HAha
3609        //HAha
3610        //HAha
3611        //HAha
3612        //HAha
3613        //HAha
3614        //HAha
3615        //HAha
3616        //HAha
3617        //HAha
3618        //HAha
3619        //HAha
3620        //HAha
3621        //HAha
3622        //HAha
3623        //HAha
3624        //HAha
3625        //HAha
3626        //HAha
3627        //HAha
3628        //HAha
3629        //HAha
3630        //HAha
3631        //HAha
3632        //HAha
3633        //HAha
3634        //HAha
3635        //HAha
3636        //HAha
3637        //HAha
3638        //HAha
3639        //HAha
3640        //HAha
3641        //HAha
3642        //HAha
3643        //HAha
3644        //HAha
3645        //HAha
3646        //HAha
3647        //HAha
3648        //HAha
3649        //HAha
3650        //HAha
3651        //HAha
3652        //HAha
3653        //HAha
3654        //HAha
3655        //HAha
3656        //HAha
3657        //HAha
3658        //HAha
3659        //HAha
3660        //HAha
3661        //HAha
3662        //HAha
3663        //HAha
3664        //HAha
3665        //HAha
3666        //HAha//HAha
3667        //HAha
3668        //HAha
3669        //HAha
3670        //HAha
3671        //HAha
3672        //HAha
3673        //HAha
3674        //HAha
3675        //HAha
3676        //HAha
3677        //HAha
3678        //HAha
3679        //HAha
3680        //HAha
3681        //HAha
3682        //HAha
3683        //HAha
3684        //HAha
3685        //HAha
3686        //HAha
3687        //HAha
3688        //HAha
3689        //HAha
3690        //HAha
3691        //HAha
3692        //HAha
3693        //HAha
3694        //HAha
3695        //HAha
3696        //HAha
3697        //HAha
3698        //HAha
3699        //HAha
3700        //HAha
3701        //HAha
3702        //HAha
3703        //HAha
3704        //HAha
3705        //HAha
3706        //HAha
3707        //HAha
3708        //HAha
3709        //HAha
3710        //HAha
3711        //HAha
3712        //HAha
3713        //HAha
3714        //HAha
3715        //HAha
3716        //HAha
3717        //HAha
3718        //HAha
3719        //HAha
3720        //HAha
3721        //HAha
3722        //HAha
3723        //HAha
3724        //HAha
3725        //HAha
3726        //HAha
3727        //HAha
3728        //HAha
3729        //HAha
3730        //HAha
3731        //HAha
3732        //HAha
3733        //HAha
3734        //HAha
3735        //HAha
3736        //HAha
3737        //HAha
3738        //HAha
3739        //HAha
3740        //HAha
3741        //HAha
3742        //HAha
3743        //HAha
3744        //HAha
3745        //HAha
3746        //HAha
3747        //HAha
3748        //HAha
3749        //HAha
3750        //HAha
3751        //HAha
3752        //HAha
3753        //HAha
3754        //HAha
3755        //HAha
3756        //HAha
3757        //HAha
3758        //HAha
3759        //HAha
3760        //HAha
3761        //HAha
3762        //HAha
3763        //HAha
3764        //HAha
3765        //HAha
3766        //HAha
3767        //HAha
3768        //HAha
3769        //HAha
3770        //HAha
3771        //HAha
3772        //HAha
3773        //HAha
3774        //HAha
3775        //HAha
3776        //HAha
3777        //HAha
3778        //HAha
3779        //HAha
3780        //HAha
3781        //HAha
3782        //HAha
3783        //HAha
3784        //HAha
3785        //HAha
3786        //HAha
3787        //HAha//HAha
3788        //HAha
3789        //HAha
3790        //HAha
3791        //HAha
3792        //HAha
3793        //HAha
3794        //HAha
3795        //HAha
3796        //HAha
3797        //HAha
3798        //HAha
3799        //HAha
3800        //HAha
3801        //HAha
3802        //HAha
3803        //HAha
3804        //HAha
3805        //HAha
3806        //HAha
3807        //HAha
3808        //HAha
3809        //HAha
3810        //HAha
3811        //HAha
3812        //HAha
3813        //HAha
3814        //HAha
3815        //HAha
3816        //HAha
3817        //HAha
3818        //HAha
3819        //HAha
3820        //HAha
3821        //HAha
3822        //HAha
3823        //HAha
3824        //HAha
3825        //HAha
3826        //HAha
3827        //HAha
3828        //HAha
3829        //HAha
3830        //HAha
3831        //HAha
3832        //HAha
3833        //HAha
3834        //HAha
3835        //HAha
3836        //HAha
3837        //HAha
3838        //HAha
3839        //HAha
3840        //HAha
3841        //HAha
3842        //HAha
3843        //HAha
3844        //HAha
3845        //HAha
3846        //HAha
3847        //HAha
3848        //HAha
3849        //HAha
3850        //HAha
3851        //HAha
3852        //HAha
3853        //HAha
3854        //HAha
3855        //HAha
3856        //HAha
3857        //HAha
3858        //HAha
3859        //HAha
3860        //HAha
3861        //HAha
3862        //HAha
3863        //HAha
3864        //HAha
3865        //HAha
3866        //HAha
3867        //HAha
3868        //HAha
3869        //HAha
3870        //HAha
3871        //HAha
3872        //HAha
3873        //HAha
3874        //HAha
3875        //HAha
3876        //HAha
3877        //HAha
3878        //HAha
3879        //HAha
3880        //HAha
3881        //HAha
3882        //HAha
3883        //HAha
3884        //HAha
3885        //HAha
3886        //HAha
3887        //HAha
3888        //HAha
3889        //HAha
3890        //HAha
3891        //HAha
3892        //HAha
3893        //HAha
3894        //HAha
3895        //HAha
3896        //HAha
3897        //HAha
3898        //HAha
3899        //HAha
3900        //HAha
3901        //HAha
3902        //HAha
3903        //HAha
3904        //HAha
3905        //HAha
3906        //HAha
3907        //HAha
3908        //HAha
3909
3910    }
3911    void MeneAutoon(PhysicsObject tormaaja, PhysicsObject auto)
3912    {
3913        const double CHANCE_TO_SPAWN_ENEMIES = 20.0;
3914        const int ZOMBIEN_MAARA = 1;
3915        const double MIN_DISTANCE = 200;
3916        const double MAX_DISTANCE = 400;
3917
3918
3919
3920        /*
3921        if(BensaLaskuri.Value > 0)
3922        {
3923           
3924        }
3925        if(BensaLaskuri.Value == BensaLaskuri.MinValue)
3926        {
3927            autonOviAani.Play();
3928        } */
3929
3930
3931        if (!onkoAutoaKaytetty)
3932        {
3933            if (RandomGen.NextDouble(0, 100) <= CHANCE_TO_SPAWN_ENEMIES)
3934            {
3935                // spawnataan zombeja
3936                for (int i = 0; i < ZOMBIEN_MAARA; i++)
3937                {
3938                    LuoZombi(tormaaja.Position + RandomGen.NextVector(MIN_DISTANCE, MAX_DISTANCE), 40.0, 40.0, true);
3939                }
3940
3941                onkoAutoaKaytetty = true;
3942                return;
3943            }
3944        }
3945
3946        onkoAutoaKaytetty = true;
3947        tormaaja.IsVisible = false;
3948        tormaaja.IgnoresCollisionResponse = true;
3949        tormaaja.Position = new Vector(-4000, 0);
3950        if (kuski == null)
3951        {
3952            kuski = tormaaja;
3953            Camera.StopFollowing();
3954            Camera.Follow(auto);
3955            ensimainenPelaajaAutoon.Play();
3956        }
3957        else if (epaKuski == null)
3958        {
3959            epaKuski = tormaaja;
3960            autonOviAani.Play();
3961        }
3962        if (tormaaja.Tag.Equals("pelaaja2"))
3963        {
3964            ControllerOne.Listen(Button.X, ButtonState.Pressed,
3965          UlosAutosta, null, pelaaja2);
3966        }
3967        if (tormaaja.Tag.Equals("pelaaja"))
3968        {
3969            Keyboard.Listen(Key.F, ButtonState.Pressed, UlosAutosta, null, pelaaja);
3970        }
3971
3972
3973
3974
3975    }
3976    void UlosAutosta(PhysicsObject ajaja)
3977    {
3978        ajaja.IsVisible = true;
3979        ajaja.IgnoresCollisionResponse = false;
3980        ajaja.Position = auto.Position + new Vector(200, 0);
3981
3982        autonOviAani.Play();
3983
3984        if (ajaja.Tag.Equals("pelaaja2"))
3985        {
3986            ControllerOne.Disable(Button.X);
3987        }
3988        if (ajaja.Tag.Equals("pelaaja"))
3989        {
3990            Keyboard.Disable(Key.F);
3991        }
3992        if (ajaja == kuski)
3993        {
3994            kuski = null;
3995            BensaAjastin.Stop();
3996            Camera.Follow(ajaja, auto);
3997            //Camera.Follow(pelaaja, pelaaja2);
3998        }
3999
4000        if (ajaja == epaKuski)
4001        {
4002            epaKuski = null;
4003            Camera.Follow(ajaja, auto);
4004            //Camera.Follow(pelaaja, pelaaja2);
4005        }
4006        if (epaKuski == null && kuski == null)
4007        {
4008            Camera.Follow(pelaaja, pelaaja2);
4009        }
4010    }
4011
4012    void LuoKorisKentta(Vector paikka, double leveys, double korkeus)
4013    {
4014        koriskentta = PhysicsObject.CreateStaticObject(500, 700);
4015        koriskentta.Position = paikka;
4016        koriskentta.Image = koriskentanKuva;
4017        koriskentta.IgnoresCollisionResponse = true;
4018        //koriskentta.IgnoresPhysicsLogics = true;
4019        Add(koriskentta, -1);
4020
4021        PhysicsObject magicpalikka = PhysicsObject.CreateStaticObject(80, 80);
4022        magicpalikka.Position = paikka + new Vector(15, koriskentta.Height / 2 - 25);
4023        magicpalikka.IsVisible = false;
4024        Add(magicpalikka);
4025        PhysicsObject magicpalikka2 = PhysicsObject.CreateStaticObject(80, 80);
4026        magicpalikka2.Position = paikka + new Vector(13, -koriskentta.Height / 2 + 25);
4027        magicpalikka2.IsVisible = false;
4028        Add(magicpalikka2);
4029
4030    }
4031
4032    void LuoPuuPalikka()
4033    {
4034        if (kamaMittarit[0].Määrä.Value > 0)
4035        {
4036            PhysicsObject PuuPalikka = PhysicsObject.CreateStaticObject(40, 40);
4037            PuuPalikka.Position = cursor2.Position;
4038            PuuPalikka.Tag = "penkki";
4039            //PuuPalikka.Image = penkinKuva;
4040            PuuPalikka.Color = Color.Brown;
4041            Add(PuuPalikka);
4042            kamaMittarit[0].Lisaa(-1);
4043        }
4044
4045    }
4046
4047    void LuoKoriPallo(Vector paikka, double leveys, double korkeus)
4048    {
4049        koripallo = new PhysicsObject(leveys, korkeus);
4050        koripallo.Image = koripallonKuva;
4051        koripallo.Position = koriskentta.Position;
4052        Add(koripallo);
4053    }
4054    void SpawnausPaikka(Vector paikka, double leveys, double korkeus)
4055    {
4056        Spawnauspaikat.Add(paikka);
4057    }
4058
4059    void LuoLoottiSpawniLattia(Vector paikka, double leveys, double korkeus)
4060    {
4061        loottilista.Add(paikka);
4062
4063        PhysicsObject Lattia1 = PhysicsObject.CreateStaticObject(80, 80);
4064        Lattia1.Image = creepylattia;
4065        Lattia1.Position = paikka;
4066        Add(Lattia1, -1);
4067        Lattia1.IgnoresCollisionResponse = true;
4068    }
4069
4070    void LuoLoottiSpawniMetsa(Vector paikka, double leveys, double korkeus)
4071    {
4072        loottilista.Add(paikka);
4073    }
4074
4075    void LisaaLootti()
4076    {
4077
4078        Vector tulevapaikka = RandomGen.SelectOne<Vector>(loottilista);
4079        if (GetObjectsAt(tulevapaikka, "lootti", 100).Count == 0)
4080        {
4081            PhysicsObject lootti = new PhysicsObject(10, 10);
4082            lootti.Position = tulevapaikka;
4083            lootti.Image = loottikuvat[RandomGen.NextInt(2, loottikuvat.Length)];
4084            lootti.Tag = "lootti";
4085            lootti.Size *= 2;
4086            Add(lootti);
4087
4088
4089        }
4090        if (GetObjectsAt(tulevapaikka, "lootti", 100).Count == 1)
4091        {
4092
4093        }
4094
4095    }
4096    void KeraaLootti(PhysicsObject pelaaja2, PhysicsObject lootti)
4097    {
4098        for (int i = 0; i < loottikuvat.Length; i++)
4099        {
4100            if (lootti.Image == loottikuvat[i])
4101            {
4102                kamaMittarit[i].Lisaa(1);
4103                lootti.Destroy();
4104                break;
4105            }
4106        }
4107    }
4108
4109    void ParkkiPaikka(Vector paikka, double leveys, double korkeus)
4110    {
4111        PhysicsObject parkkipaikka = PhysicsObject.CreateStaticObject(650, 850);
4112        parkkipaikka.Position = paikka + new Vector(170, 0);
4113        parkkipaikka.Image = parkkipaikanKuva;
4114        parkkipaikka.IgnoresCollisionResponse = true;
4115        Add(parkkipaikka, -2);
4116    }
4117
4118    void LuoMagicPalikka(Vector paikka, double leveys, double korkeus)
4119    {
4120        GameObject magicpalikka3 = new GameObject(80, 80);
4121        magicpalikka3.Position = paikka;
4122        magicpalikka3.Color = Color.Transparent;
4123        Add(magicpalikka3);
4124    }
4125
4126    void StartGaem()
4127    {
4128        MultiSelectWindow alkuValikko = new MultiSelectWindow("GameModes",
4129        "SingleSlayer", "Multiplayer", "Back");
4130        Add(alkuValikko);
4131        alkuValikko.SelectionColor = Color.Transparent;
4132        alkuValikko.Color = Color.Transparent;
4133        alkuValikko.AddItemHandler(0, SingleSlayer);
4134        alkuValikko.AddItemHandler(1, MultiPlayer);
4135        alkuValikko.AddItemHandler(2, Jee);
4136        Level.Background.Image = taustaKuva1;
4137        Level.Background.Width = Window.Width;
4138        Level.Background.Height = Window.Height;
4139    }
4140
4141    void MultiPlayer()
4142    {
4143        goLaskuri = new Label("");
4144        Add(goLaskuri);
4145        IsFullScreen = false;
4146
4147        LuoKentta();
4148
4149        LuoElamaLaskuri();
4150        LuoBensaLaskuri();
4151        LuoElamaLaskuri2();
4152        LuoPelaajan2Ase();
4153
4154        Ammukset();
4155        LuoCursor();
4156        LuoCursor2(new Vector(pelaaja2.Position.X + 20, pelaaja2.Position.Y + 20));
4157        LisaaNappaimet();
4158
4159        for (int i = 0; i < loottikuvat.Length; i++)
4160        {
4161            kamaMittarit[i] = new KamaMittari(maxLoot[i], loottikuvat[i], new Vector(Screen.Right - 150, Screen.Top - 100 - 50 * i), this);
4162        }
4163
4164        AddCollisionHandler(pelaaja, auto, MeneAutoon);
4165
4166        AddCollisionHandler(pelaaja2, auto, MeneAutoon);
4167        AddCollisionHandler(pelaaja, "Ammoboxi", SaaAmmoBoxi);
4168        AddCollisionHandler(pelaaja2, "lootti", KeraaLootti);
4169
4170        AddCollisionHandler(pelaaja, "hela", SaaHela);
4171        AddCollisionHandler(pelaaja2, "hela", SaaHelaa);
4172        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
4173        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
4174    }
4175    void LuoKauppa(Vector paikka, double leveys, double korkeus)
4176    {
4177        kauppa = PhysicsObject.CreateStaticObject(100, 100);
4178        kauppa.Position = paikka;
4179        Add(kauppa);
4180        AddCollisionHandler(kauppa, "pelaaja", MeneKauppaan);
4181    }
4182    void SingleSlayer()
4183    {
4184
4185        goLaskuri = new Label("");
4186        Add(goLaskuri);
4187        IsFullScreen = false;
4188
4189        LuoKentta2();
4190
4191
4192        LuoElamaLaskuri();
4193        LuoBensaLaskuri();
4194
4195
4196
4197        Ammukset();
4198        LuoCursor();
4199        LisaaNappaimet();
4200
4201        //for (int i = 0; i < loottikuvat.Length; i++)
4202        //{
4203        //    kamaMittarit[i] = new KamaMittari(maxLoot[i], loottikuvat[i], new Vector(Screen.Right - 150, Screen.Top - 100 - 50 * i), this);
4204        //}
4205
4206        //AddCollisionHandler(pelaaja, auto, MeneAutoon);
4207
4208
4209        AddCollisionHandler(pelaaja, "Ammoboxi", SaaAmmoBoxi);
4210
4211
4212        AddCollisionHandler(pelaaja, "hela", SaaHela);
4213        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
4214        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
4215    }
4216
4217    void LuoKentta2()
4218    {
4219        TileMap level = TileMap.FromLevelAsset("singleslayermap");
4220        pelaaja = new PhysicsObject(70, 70);
4221        level.SetTileMethod('P', delegate (Vector pos, double w, double h) { LuoPelaaja(pos, w, h, pelaaja); });
4222        level.SetTileMethod('*', LuoKauppa);
4223        level.SetTileMethod('S', SpawnausPaikka);
4224        level.SetTileMethod('O', LuoPelaaja2);
4225        level.SetTileMethod('G', LuoPalikka);
4226        level.SetTileMethod('H', LuoHela);
4227        level.SetTileMethod('X', LuoKorisKentta);
4228        level.SetTileMethod('T', LuoAmmoBoxi);
4229        level.SetTileMethod('#', LuoLattia);
4230        level.SetTileMethod('W', LuoPenkki);
4231        level.SetTileMethod('Q', LuoPuu);
4232        level.SetTileMethod('I', ParkkiPaikka);
4233        level.SetTileMethod('N', LuoLoottiSpawniLattia);
4234        level.SetTileMethod('J', LuoLoottiSpawniMetsa);
4235        level.SetTileMethod('C', LuoKoriPallo);
4236        level.SetTileMethod('L', LuoAuto);
4237        level.SetTileMethod('Z', delegate (Vector pos, double w, double h) { LuoSlayerZombi(pos, w, h, false); });
4238        level.SetTileMethod('M', LuoMagicPalikka);
4239        level.SetTileMethod('A', LuoKiviBlock);
4240        level.SetTileMethod('K', LuoAutoTieFlipped);
4241        level.Optimize('M', 'G', 'K', 'A');
4242        level.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
4243        Camera.Follow(pelaaja);
4244        Level.Background.Image = taustaKuva;
4245        Level.Background.TileToLevel();
4246        Camera.StayInLevel = true;
4247        LuoRaheLaskuri();
4248    }
4249
4250    void Jee()
4251    {
4252        MultiSelectWindow alkuValikko = new MultiSelectWindow("ZombieLand ",
4253        "Start Gaem", "Quit");
4254        Add(alkuValikko);
4255
4256        alkuValikko.AddItemHandler(0, StartGaem);
4257        alkuValikko.AddItemHandler(1, Exit);
4258        alkuValikko.SelectionColor = Color.Transparent;
4259        alkuValikko.Color = Color.Transparent;
4260        Level.Background.Image = taustaKuva1;
4261        Level.Background.Width = Window.Width;
4262        Level.Background.Height = Window.Height;
4263    }
4264
4265
4266
4267    void MeneKauppaan(PhysicsObject tormaaja, PhysicsObject kohde)
4268    {
4269        MultiSelectWindow alkuValikko4 = new MultiSelectWindow("Store",
4270        "Rifles", "Other Stuff", "OP STUFF");
4271        Add(alkuValikko4);
4272        alkuValikko4.AddItemHandler(0, Rifles);
4273        alkuValikko4.AddItemHandler(1, OtherStuff);
4274        alkuValikko4.AddItemHandler(2, Ebinks);
4275    }
4276
4277    void Rifles()
4278    {
4279        if (raheLaskuri.Value >= 20)
4280        {
4281           
4282            pelaajanase.FireRate = 20;
4283            pelaajanase.Ammo.Value += 300;
4284            pelaaja.Image = pelaajanKuvaAK;
4285            aseNimi = "ak";
4286        }
4287    }
4288
4289    void OtherStuff()
4290    {
4291
4292    }
4293
4294    void Ebinks()
4295    {
4296        //+alkuValikko4.Destroy();
4297    }
4298
4299    void LuoSlayerZombi(Vector paikka, double leveys, double korkeus, bool forceCreation)
4300    {
4301        if (!forceCreation)
4302        {
4303            if (zombilaskuri >= MAX_ZOMBIEN_MAARA)
4304            {
4305                return;
4306            }
4307        }
4308
4309        Vihu zombis = new Vihu(70, 70);
4310        zombis.Image = zombinkuva;
4311        zombis.Position = paikka;
4312        zombis.CanRotate = false;
4313        zombis.Tag = "slayerzombi";
4314        Add(zombis);
4315        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
4316        satunnaisAivot.ChangeMovementSeconds = 3;
4317        satunnaisAivot.TurnWhileMoving = true;
4318
4319        AddCollisionHandler(zombis, "pelaaja", PelaajatTormaavat);
4320
4321
4322        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja);
4323        seuraajanAivot.Speed = 300;                 // Millä nopeudella kohdetta seurataan
4324        seuraajanAivot.DistanceFar = 600;           // Etäisyys jolla aletaan seurata kohdetta
4325        seuraajanAivot.DistanceClose = 10;         // Etäisyys jolloin ollaan lähellä kohdetta
4326        seuraajanAivot.StopWhenTargetClose = true;  // Pysähdytään kun ollaan lähellä kohdetta
4327        seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana
4328        seuraajanAivot.TurnWhileMoving = true;
4329        zombis.Brain = seuraajanAivot;
4330        zombilaskuri++;
4331    }
4332
4333    void LuoRaheLaskuri()
4334    {
4335        raheLaskuri = new IntMeter(0);
4336
4337        Label pisteNaytto = new Label();
4338        pisteNaytto.X = Screen.Left + 200;
4339        pisteNaytto.Y = Screen.Top - 100;
4340        pisteNaytto.TextColor = Color.Black;
4341        pisteNaytto.Color = Color.White;
4342       
4343        pisteNaytto.BindTo(raheLaskuri);
4344        Add(pisteNaytto);
4345
4346    }
4347}
4348
4349
4350
Note: See TracBrowser for help on using the repository browser.