source: 2017/31/TaavettiV/Trumpsimulator/Trumpsimulator/Trumpsimulator/Trumpsimulator.cs @ 9354

Revision 9354, 20.1 KB checked in by npo17_69, 21 months 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 Pelihahmo : PlatformCharacter
10{
11    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10);
12    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
13
14    public Pelihahmo(double leveys, double korkeus)
15        : base(leveys, korkeus)
16    {
17        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
18    }
19
20}
21
22class Caktus : PhysicsObject
23{
24    private IntMeter elamaLaskuri = new IntMeter(5, 0, 5);
25    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
26
27    public Caktus(double leveys, double korkeus)
28        : base(leveys, korkeus)
29    {
30        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
31    }
32
33}
34
35
36class Wife : PlatformCharacter
37{
38    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10);
39    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
40    public Timer Ajastin;
41    public Wife(double leveys, double korkeus)
42        : base(leveys, korkeus)
43    {
44        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
45    }
46
47    public bool AloitaAjastin()
48    {
49        return true;
50    }
51}
52
53
54class Asevihu : PlatformCharacter
55{
56    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3);
57    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
58    public Timer Ajastin;
59    public Asevihu(double leveys, double korkeus)
60        : base(leveys, korkeus)
61    {
62        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
63    }
64
65    public bool AloitaAjastin()
66    {
67        return true;
68    }
69}
70
71
72
73
74class Bombi : PlatformCharacter
75{
76    private IntMeter elamaLaskuri = new IntMeter(3, 0, 3);
77    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
78
79    public Bombi(double leveys, double korkeus)
80        : base(leveys, korkeus)
81    {
82        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
83    }
84
85}
86
87
88
89
90class Talo : PlatformCharacter
91{
92    private IntMeter elamaLaskuri = new IntMeter(10, 0, 10);
93    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
94
95    public Talo(double leveys, double korkeus)
96        : base(leveys, korkeus)
97    {
98        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
99    }
100
101}
102
103
104
105public class Trumpsimulator : PhysicsGame
106{
107    const double nopeus = 300;
108    const double hyppyNopeus = 750;
109    const int RUUDUN_KOKO = 40;
110    const double flynopeus = 3000;
111    IntMeter pommilaskuri = new IntMeter(1000, 0, 1000);
112
113    Image meksikolainen = LoadImage("meksikolainen");
114    Pelihahmo pelaaja1;
115
116    DoubleMeter jetpacklaskuri;
117
118    int kenttaNumero = 1;
119    Image bombiKuva = LoadImage("Bombi");
120    Image pelaajanKuva = LoadImage("trumphahmo");
121    Image tahtiKuva = LoadImage("one dollar");
122    Image wifekuva = LoadImage("untitled");
123
124    SoundEffect maaliAani = LoadSoundEffect("maali");
125    Image olio6Kuva = LoadImage("tumbleweed");
126
127    public override void Begin()
128    {
129        Gravity = new Vector(0, -1000);
130
131        jetpacklaskuri = new DoubleMeter(0, 0, 100);
132
133        LuoKentta();
134        LisaaNappaimet();
135
136        Camera.Follow(pelaaja1);
137        Camera.ZoomFactor = 1.2;
138        Camera.StayInLevel = true;
139    }
140    void Rajayta(PhysicsObject tormaaja, PhysicsObject Kohde)
141    {
142        int pMaxMaara = 3;
143        // Alustetaan räjähdysjärjestelmä
144        // Parametrit:
145        // * kuva: mitä tekstuuria räjähdyksen
146        //   hiukkasten halutaan käyttävän
147        // * pMaxMaara: räjähdyksen käyttämien
148        //   hiukkasten eli partikkeleiden maksimimäärä
149        ExplosionSystem rajahdys =
150        new ExplosionSystem(LoadImage("tomasräjähdys"), pMaxMaara);
151        rajahdys.MaxScale = 100;
152
153
154        // Lisätään järjestelmä peliin
155        Add(rajahdys);
156
157        int pMaara = 50;
158        // "Käynnistetään" räjähdys
159        rajahdys.AddEffect(tormaaja.X, Kohde.Y, pMaara);
160        tormaaja.Destroy();
161    }
162    void tomas(Vector paikka, double leveys, double korkeus)
163    {
164        PlatformCharacter y = new PlatformCharacter(leveys * 0.8, korkeus * 1.0);
165        y.Position = paikka;
166
167
168
169
170        Add(y);
171        y.Tag = "y";
172        y.Image = LoadImage("tumbleweed");
173        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
174        tasoAivot.Speed = 200;
175
176        tasoAivot.FallsOffPlatforms = true;
177        tasoAivot.TriesToJump = true;
178
179        y.Brain = tasoAivot;
180
181    }
182
183    void bombi(Vector paikka, double leveys, double korkeus)
184    {
185        PlatformCharacter p = new PlatformCharacter(leveys * 2.0, korkeus * 2.0);
186        p.Position = paikka;
187        p.Image = bombiKuva;
188        Add(p);
189        p.Tag = "p";
190
191
192
193        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
194        tasoAivot.Speed = 100;
195
196        tasoAivot.FallsOffPlatforms = true;
197        tasoAivot.TriesToJump = true;
198
199        p.Brain = tasoAivot;
200
201    }
202    void paasiMaalin(PhysicsObject pelaaja, PhysicsObject maali)
203    {
204        kenttaNumero++;
205
206        ClearAll();
207        Begin();
208
209
210    }
211    void lisaaMaali(Vector paikka, double leveys, double korkeus)
212    {
213        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
214        maali.Tag = "maali";
215        maali.Position = paikka;
216        Add(maali);
217    }
218
219    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
220    {
221        ammus.Destroy();
222        if (kohde.Tag.Equals("A"))
223        {
224            (kohde as Asevihu).ElamaLaskuri.Value--;
225        }
226
227        if (kohde is Caktus)
228        {
229            (kohde as Caktus).ElamaLaskuri.Value--;
230        }
231
232        if (kohde is Talo)
233        {
234            (kohde as Talo).ElamaLaskuri.Value--;
235        }
236    }
237
238    void AmmuAseella(PlatformCharacter ampuja)
239    {
240        if (pelaaja1.IsDestroyed) return;
241
242        PhysicsObject ammus = ampuja.Weapon.Shoot();
243
244        if (ammus != null)
245        {
246            //ammus.Size *= 0.10;
247            ammus.Width = 20;
248            ammus.Height = 1;
249            //ammus.Image = ...
250            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
251        }
252
253    }
254
255    void VihuAmmuAseella(PlatformCharacter ampuja)
256    {
257        if (ampuja.IsDestroyed) return;
258
259        PhysicsObject ammus = ampuja.Weapon.Shoot();
260
261        if (ammus != null)
262        {
263            //ammus.Size *= 0.10;
264            ammus.Width = 20;
265            ammus.Height = 1;
266            //ammus.Image = ...
267            ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
268            AddCollisionHandler(ammus, "talo", Tormaataloon);
269        }
270
271    }
272
273    void Tormaataloon(PhysicsObject tormaa, PhysicsObject kohde)
274    {
275        (kohde as Talo).ElamaLaskuri.AddValue(-1);
276    }
277    void LuoKentta()
278    {
279
280        TileMap kentta = TileMap.FromLevelAsset("kentta" + kenttaNumero);
281        kentta.SetTileMethod('#', LisaaTaso);
282        kentta.SetTileMethod('*', Lisaadollar);
283        kentta.SetTileMethod('N', LisaaPelaaja);
284        kentta.SetTileMethod('K', lisaaMaali);
285        kentta.SetTileMethod('y', tomas);
286        kentta.SetTileMethod('A', Lisaaasevihu);
287        kentta.SetTileMethod('Q', wife);
288        kentta.SetTileMethod('H', Lisaahiekka);
289        kentta.SetTileMethod('R', LisaaRuoho);
290        kentta.SetTileMethod('Z', LisaaTalo);
291        kentta.SetTileMethod('M', LisaaMuuri);
292        kentta.SetTileMethod('G', LisaaTacoVihu);
293        kentta.SetTileMethod('W', Lisaaweed);
294        kentta.SetTileMethod('p', bombi);
295        kentta.SetTileMethod('C', Lisaacaktus);
296        kentta.SetTileMethod('I', Lisaailuminadi);
297        kentta.SetTileMethod('J', lisaajetpack);
298        kentta.SetTileMethod('X', Lisaamd);
299        kentta.SetTileMethod('t', Lisaatupakka);
300        kentta.Optimize('H');
301        kentta.Optimize('R');
302        kentta.Optimize('#');
303
304        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
305
306
307        Level.CreateBorders();
308        Level.Background.CreateGradient(Color.White, Color.SeaGreen);
309        Level.Background.Image = LoadImage("taustakuvanewyork");
310    }
311
312    void lisaajetpack(Vector paikka, double leveys, double korkeus)
313    {
314        PhysicsObject jetpack = PhysicsObject.CreateStaticObject(leveys, korkeus);
315        jetpack.Position = paikka;
316        jetpack.Image = LoadImage("jetpack picture");
317        jetpack.IgnoresCollisionResponse = true;
318        jetpack.Tag = "jetpack";
319       
320        Add(jetpack);
321
322    }
323
324    void HeitaKranaatti(PlatformCharacter pelaaja)
325    {
326        if (pelaaja.IsDestroyed) return;
327
328        Grenade kranu = new Grenade(3.0);
329        pelaaja1.Throw(kranu, Angle.FromDegrees(50), 10000);
330
331        kranu.Explosion.AddShockwaveHandler("A", KranaattiOsui);
332
333        kranu.Explosion.AddShockwaveHandler("p", KranaattiOsui);
334    }
335    void KranaattiOsui(IPhysicsObject rajahdyksenKohde, Vector v)
336    {
337        rajahdyksenKohde.Destroy();
338    }
339    void ydinpommi(IPhysicsObject rajahdyksenKohde, Vector v)
340    {
341        rajahdyksenKohde.Destroy();
342 
343    }
344    void Heitaydinpommi(PlatformCharacter pelaaja)
345    {
346        if (pelaaja.IsDestroyed)
347        if (pommilaskuri.Value > 0)
348        {
349            pommilaskuri.Value -= 1;
350
351            Grenade kranu = new Grenade(180.0);
352            kranu.ExplosionRadius = 4000;
353            kranu.Image = LoadImage("iluminadi");
354            pelaaja1.Throw(kranu, Angle.FromDegrees(50), 1000);
355
356            kranu.Explosion.AddShockwaveHandler("A", KranaattiOsui);
357
358            kranu.Explosion.AddShockwaveHandler("p", KranaattiOsui);
359        }
360       
361    }
362    void LisaaTaso(Vector paikka, double leveys, double korkeus)
363    {
364        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
365        taso.Position = paikka;
366        taso.Color = Color.Green;
367        Add(taso);
368        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
369    }
370
371    void LisaaMuuri(Vector paikka, double leveys, double korkeus)
372    {
373        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
374        taso.Position = paikka;
375        taso.Color = Color.Green;
376        Add(taso);
377
378        taso.Image = LoadImage("muuri");
379    }
380
381
382
383    void Lisaaweed(Vector paikka, double leveys, double korkeus)
384    {
385        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
386        taso.Position = paikka;
387        taso.Color = Color.Green;
388        Add(taso);
389
390        taso.Image = LoadImage("weed");
391    }
392
393
394    void Lisaatupakka(Vector paikka, double leveys, double korkeus)
395    {
396        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
397        taso.Position = paikka;
398        taso.Color = Color.Green;
399        Add(taso);
400
401        taso.Image = LoadImage("tupakka");
402    }
403
404
405    void Lisaailuminadi(Vector paikka, double leveys, double korkeus)
406    {
407        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
408        taso.Position = paikka;
409        taso.Color = Color.Green;
410        Add(taso);
411
412        taso.Image = LoadImage("iluminadi");
413    }
414
415
416
417    void Lisaahiekka(Vector paikka, double leveys, double korkeus)
418    {
419        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
420        taso.Position = paikka;
421
422        Add(taso);
423        taso.Color = Color.Green;
424        taso.Image = LoadImage("hiekka");
425        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
426        Add(taso);
427    }
428
429    void LisaaTalo(Vector paikka, double leveys, double korkeus)
430    {
431        Talo taso = new Talo(leveys, korkeus);
432        taso.Position = paikka;
433        taso.Color = Color.Green;
434        taso.Tag = "talo";
435        Add(taso);
436        taso.MakeStatic();
437
438        taso.Image = LoadImage("talo");
439
440    }
441
442
443    void LisaaRuoho(Vector paikka, double leveys, double korkeus)
444    {
445        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
446        taso.Position = paikka;
447
448        Add(taso);
449        taso.Color = Color.Green;
450        taso.Image = LoadImage("ruoho");
451        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
452    }
453
454
455
456    void Lisaamd(Vector paikka, double leveys, double korkeus)
457    {
458        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys*2, korkeus*3);
459        taso.Position = paikka;
460        taso.Bottom = paikka.Y - RUUDUN_KOKO / 2;
461
462        Add(taso);
463        taso.Color = Color.Green;
464        taso.Image = LoadImage("md");
465        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
466    }
467
468
469
470
471
472
473    void Lisaacaktus(Vector paikka, double leveys, double korkeus)
474    {
475        Caktus taso = new Caktus(leveys, korkeus * 3);
476       
477        taso.MakeStatic();
478        taso.Position = paikka;
479        taso.Y = paikka.Y + RUUDUN_KOKO / 2;
480
481        Add(taso);
482        taso.Color = Color.Green;
483        taso.Image = LoadImage("caktus");
484    }
485
486
487
488
489    void Lisaadollar(Vector paikka, double leveys, double korkeus)
490    {
491        PhysicsObject dollar = PhysicsObject.CreateStaticObject(leveys, korkeus);
492        dollar.IgnoresCollisionResponse = true;
493        dollar.Position = paikka;
494        dollar.Image = tahtiKuva;
495        dollar.Tag = "dollar";
496        Add(dollar);
497    }
498
499    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
500    {
501        pelaaja1 = new Pelihahmo(leveys, korkeus * 2.0);
502        pelaaja1.Position = paikka;
503        pelaaja1.Mass = 2.0;
504        pelaaja1.Image = pelaajanKuva;
505        pelaaja1.Tag = "pelaaja";
506        AddCollisionHandler(pelaaja1, "dollar", Tormaadollar);
507        AddCollisionHandler(pelaaja1, "jetpack", Tormaajetpack);
508        Add(pelaaja1);
509        AddCollisionHandler(pelaaja1, "p", CollisionHandler.ExplodeBoth(5110, true));
510        AddCollisionHandler(pelaaja1, "maali", paasiMaalin);
511        AddCollisionHandler(pelaaja1, "y", CollisionHandler.ExplodeBoth(9999999, true));
512   
513        pelaaja1.Weapon = new AssaultRifle(30, 10);
514        pelaaja1.Weapon.ProjectileCollision = AmmusOsui;
515        pelaaja1.Weapon.InfiniteAmmo = false;
516        pelaaja1.Weapon.Ammo.Value = 1000;
517        pelaaja1.Weapon.Power.DefaultValue = 400;
518        pelaaja1.Weapon.AmmoIgnoresGravity = true;
519        pelaaja1.Weapon.AmmoIgnoresExplosions = true;
520        pelaaja1.Weapon.CanHitOwner = false;
521        pelaaja1.Weapon.Image = LoadImage("machine gun");
522        pelaaja1.Weapon.Y = 5;
523        pelaaja1.Weapon.FireRate = 200;
524
525        ProgressBar jetpackpalkki = new ProgressBar(150, 20);
526        jetpackpalkki.X = Screen.Right - 150;
527        jetpackpalkki.Y = Screen.Top - 20;
528        jetpackpalkki.BindTo(jetpacklaskuri);
529        jetpackpalkki.BarColor = Color.SkyBlue;
530        Add(jetpackpalkki);
531
532        ProgressBar elamaPalkki = new ProgressBar(150, 20);
533        elamaPalkki.X = Screen.Left + 150;
534        elamaPalkki.Y = Screen.Top - 20;
535        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri);
536        Add(elamaPalkki); 
537    }
538
539    void LisaaNappaimet()
540    {
541        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
542        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
543        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Lopeta peli", pelaaja1);
544
545        Keyboard.Listen(Key.E, ButtonState.Pressed, HeitaKranaatti, "heitä kranaatti", pelaaja1);
546        Keyboard.Listen(Key.Q, ButtonState.Pressed, Heitaydinpommi, "heitä ydinpommi", pelaaja1);
547        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
548        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
549        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
550        Keyboard.Listen(Key.Space, ButtonState.Down, fly, "pelaaja lentää", pelaaja1, flynopeus);
551        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
552        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1);
553
554        //ControllerOne.Listen(Button.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
555        //ControllerOne.Listen(Button.D, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
556        //ControllerOne.Listen(Button.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
557
558        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
559    }
560
561    void Liikuta(PlatformCharacter hahmo, double nopeus)
562    {
563        hahmo.Walk(nopeus);
564    }
565
566    void Hyppaa(PlatformCharacter hahmo, double nopeus)
567    {
568        hahmo.Jump(nopeus);
569    }
570    void VihuAmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
571    {
572        ammus.Destroy();
573        if (kohde.Tag.ToString() == "pelaaja")
574        {
575            (kohde as Pelihahmo).ElamaLaskuri.Value--;
576        }
577
578        if (kohde is Wife)
579        {
580            (kohde as Wife).ElamaLaskuri.Value--;
581        }
582    }
583    void asevihuOsui(PhysicsObject ammus, PhysicsObject kohde)
584    {
585        ammus.Destroy();
586        if (kohde.Tag == "pelaaja1")
587        {
588            kohde.Destroy();
589        }
590    }
591    void Lisaaasevihu(Vector paikka, double leveys, double korkeus)
592    {
593        Asevihu asevihu = new Asevihu(leveys * 2.0, korkeus * 2.0);
594        asevihu.Position = paikka;
595        asevihu.Image = meksikolainen;
596        Add(asevihu);
597        asevihu.Tag = "A";
598
599        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
600        tasoAivot.Speed = 100;
601
602        tasoAivot.FallsOffPlatforms = true;
603        tasoAivot.TriesToJump = true;
604
605        asevihu.Brain = tasoAivot;
606
607        asevihu.Weapon = new AssaultRifle(30, 10);
608        asevihu.Weapon.ProjectileCollision = VihuAmmusOsui;
609
610        Timer aikaLaskuri = new Timer();
611        aikaLaskuri.Interval = 0.06;
612        aikaLaskuri.Timeout += () => VihuAmmuAseella(asevihu);
613        aikaLaskuri.Start();
614    }
615
616    void LisaaTacoVihu(Vector paikka, double leveys, double korkeus)
617    {
618        Asevihu tacovihu = new Asevihu(leveys * 2.0, korkeus * 2.0);
619        tacovihu.Position = paikka;
620        tacovihu.Image = LoadImage("mexivotacoduude");
621        Add(tacovihu);
622        tacovihu.Tag = "A";
623
624        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
625        tasoAivot.Speed = 100;
626
627        tasoAivot.FallsOffPlatforms = true;
628        tasoAivot.TriesToJump = true;
629
630        tacovihu.Brain = tasoAivot;
631
632        //tacovihu.Weapon = new AssaultRifle(30, 10);
633        //tacovihu.Weapon.ProjectileCollision = VihuAmmusOsui;
634
635        Timer aikaLaskuri = new Timer();
636        aikaLaskuri.Interval = 5.2;
637        aikaLaskuri.Timeout += delegate
638        {
639            Grenade kranu = new Grenade(7.2);
640            kranu.Image = LoadImage("tacobom");
641            tacovihu.Throw(kranu, Angle.FromDegrees(300), 1000);
642
643        };
644        aikaLaskuri.Start();
645
646        tacovihu.Destroyed += aikaLaskuri.Stop;
647    }
648
649    void Tormaadollar(PhysicsObject hahmo, PhysicsObject dollar)
650    {
651        maaliAani.Play();
652        MessageDisplay.Add("Keräsit dollarin!");
653        dollar.Destroy();
654    }
655
656    void Tormaajetpack(PhysicsObject hahmo, PhysicsObject jetpack)
657    {
658        maaliAani.Play();
659        MessageDisplay.Add("Keräsit jetpack!");
660        jetpack.Destroy();
661
662        jetpacklaskuri.Value = 100;
663    }
664    void fly(PlatformCharacter hahmo, double nopeus)
665    {
666        if (jetpacklaskuri.Value > 0)
667        {
668            hahmo.Push(new Vector(0, nopeus));
669            jetpacklaskuri.Value -= 0.1;
670        }
671
672    }
673    void wife(Vector paikka, double leveys, double korkeus)
674    {
675        Wife p = new Wife(leveys * 0.7, korkeus * 2.0);
676        p.Position = paikka;
677        p.Image = wifekuva;
678        Add(p);
679        p.Tag = "Q";
680
681
682
683        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
684        tasoAivot.Speed = 100;
685
686        tasoAivot.FallsOffPlatforms = true;
687        tasoAivot.TriesToJump = true;
688
689        p.Brain = tasoAivot;
690
691    }
692       
693
694
695}
Note: See TracBrowser for help on using the repository browser.