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

Revision 9368, 20.1 KB checked in by nupeohje, 20 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(100, 0, 100);
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            return;
348
349        if (pommilaskuri.Value > 0)
350        {
351            pommilaskuri.Value -= 1;
352
353            Grenade kranu = new Grenade(180.0);
354            kranu.ExplosionRadius = 4000;
355            kranu.Image = LoadImage("iluminadi");
356            pelaaja1.Throw(kranu, Angle.FromDegrees(50), 1000);
357
358            kranu.Explosion.AddShockwaveHandler("A", KranaattiOsui);
359
360            kranu.Explosion.AddShockwaveHandler("p", KranaattiOsui);
361        }
362       
363    }
364    void LisaaTaso(Vector paikka, double leveys, double korkeus)
365    {
366        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
367        taso.Position = paikka;
368        taso.Color = Color.Green;
369        Add(taso);
370        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
371    }
372
373    void LisaaMuuri(Vector paikka, double leveys, double korkeus)
374    {
375        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
376        taso.Position = paikka;
377        taso.Color = Color.Green;
378        Add(taso);
379
380        taso.Image = LoadImage("muuri");
381    }
382
383
384
385    void Lisaaweed(Vector paikka, double leveys, double korkeus)
386    {
387        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
388        taso.Position = paikka;
389        taso.Color = Color.Green;
390        Add(taso);
391
392        taso.Image = LoadImage("weed");
393    }
394
395
396    void Lisaatupakka(Vector paikka, double leveys, double korkeus)
397    {
398        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
399        taso.Position = paikka;
400        taso.Color = Color.Green;
401        Add(taso);
402
403        taso.Image = LoadImage("tupakka");
404    }
405
406
407    void Lisaailuminadi(Vector paikka, double leveys, double korkeus)
408    {
409        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
410        taso.Position = paikka;
411        taso.Color = Color.Green;
412        Add(taso);
413
414        taso.Image = LoadImage("iluminadi");
415    }
416
417
418
419    void Lisaahiekka(Vector paikka, double leveys, double korkeus)
420    {
421        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
422        taso.Position = paikka;
423
424        Add(taso);
425        taso.Color = Color.Green;
426        taso.Image = LoadImage("hiekka");
427        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
428        Add(taso);
429    }
430
431    void LisaaTalo(Vector paikka, double leveys, double korkeus)
432    {
433        Talo taso = new Talo(leveys, korkeus);
434        taso.Position = paikka;
435        taso.Color = Color.Green;
436        taso.Tag = "talo";
437        Add(taso);
438        taso.MakeStatic();
439
440        taso.Image = LoadImage("talo");
441
442    }
443
444
445    void LisaaRuoho(Vector paikka, double leveys, double korkeus)
446    {
447        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
448        taso.Position = paikka;
449
450        Add(taso);
451        taso.Color = Color.Green;
452        taso.Image = LoadImage("ruoho");
453        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
454    }
455
456
457
458    void Lisaamd(Vector paikka, double leveys, double korkeus)
459    {
460        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys*2, korkeus*3);
461        taso.Position = paikka;
462        taso.Bottom = paikka.Y - RUUDUN_KOKO / 2;
463
464        Add(taso);
465        taso.Color = Color.Green;
466        taso.Image = LoadImage("md");
467        taso.TextureWrapSize = new Vector(leveys / RUUDUN_KOKO, korkeus / RUUDUN_KOKO);
468    }
469
470
471
472
473
474
475    void Lisaacaktus(Vector paikka, double leveys, double korkeus)
476    {
477        Caktus taso = new Caktus(leveys, korkeus * 3);
478       
479        taso.MakeStatic();
480        taso.Position = paikka;
481        taso.Y = paikka.Y + RUUDUN_KOKO / 2;
482
483        Add(taso);
484        taso.Color = Color.Green;
485        taso.Image = LoadImage("caktus");
486    }
487
488
489
490
491    void Lisaadollar(Vector paikka, double leveys, double korkeus)
492    {
493        PhysicsObject dollar = PhysicsObject.CreateStaticObject(leveys, korkeus);
494        dollar.IgnoresCollisionResponse = true;
495        dollar.Position = paikka;
496        dollar.Image = tahtiKuva;
497        dollar.Tag = "dollar";
498        Add(dollar);
499    }
500
501    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
502    {
503        pelaaja1 = new Pelihahmo(leveys, korkeus * 2.0);
504        pelaaja1.Position = paikka;
505        pelaaja1.Mass = 2.0;
506        pelaaja1.Image = pelaajanKuva;
507        pelaaja1.Tag = "pelaaja";
508        AddCollisionHandler(pelaaja1, "dollar", Tormaadollar);
509        AddCollisionHandler(pelaaja1, "jetpack", Tormaajetpack);
510        Add(pelaaja1);
511        AddCollisionHandler(pelaaja1, "p", CollisionHandler.ExplodeBoth(5110, true));
512        AddCollisionHandler(pelaaja1, "maali", paasiMaalin);
513        AddCollisionHandler(pelaaja1, "y", CollisionHandler.ExplodeBoth(9999999, true));
514   
515        pelaaja1.Weapon = new AssaultRifle(30, 10);
516        pelaaja1.Weapon.ProjectileCollision = AmmusOsui;
517        pelaaja1.Weapon.InfiniteAmmo = false;
518        pelaaja1.Weapon.Ammo.Value = 1000;
519        pelaaja1.Weapon.Power.DefaultValue = 400;
520        pelaaja1.Weapon.AmmoIgnoresGravity = true;
521        pelaaja1.Weapon.AmmoIgnoresExplosions = true;
522        pelaaja1.Weapon.CanHitOwner = false;
523        pelaaja1.Weapon.Image = LoadImage("machine gun");
524        pelaaja1.Weapon.Y = 5;
525        pelaaja1.Weapon.FireRate = 200;
526
527        ProgressBar jetpackpalkki = new ProgressBar(150, 20);
528        jetpackpalkki.X = Screen.Right - 150;
529        jetpackpalkki.Y = Screen.Top - 20;
530        jetpackpalkki.BindTo(jetpacklaskuri);
531        jetpackpalkki.BarColor = Color.SkyBlue;
532        Add(jetpackpalkki);
533
534        ProgressBar elamaPalkki = new ProgressBar(150, 20);
535        elamaPalkki.X = Screen.Left + 150;
536        elamaPalkki.Y = Screen.Top - 20;
537        elamaPalkki.BindTo(pelaaja1.ElamaLaskuri);
538        Add(elamaPalkki); 
539    }
540
541    void LisaaNappaimet()
542    {
543        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
544        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
545        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Lopeta peli", pelaaja1);
546
547        Keyboard.Listen(Key.E, ButtonState.Pressed, HeitaKranaatti, "heitä kranaatti", pelaaja1);
548        Keyboard.Listen(Key.Q, ButtonState.Down, Heitaydinpommi, "heitä ydinpommi", pelaaja1);
549        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
550        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
551        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
552        Keyboard.Listen(Key.Space, ButtonState.Down, fly, "pelaaja lentää", pelaaja1, flynopeus);
553        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
554        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1);
555
556        //ControllerOne.Listen(Button.A, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
557        //ControllerOne.Listen(Button.D, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
558        //ControllerOne.Listen(Button.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
559
560        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
561    }
562
563    void Liikuta(PlatformCharacter hahmo, double nopeus)
564    {
565        hahmo.Walk(nopeus);
566    }
567
568    void Hyppaa(PlatformCharacter hahmo, double nopeus)
569    {
570        hahmo.Jump(nopeus);
571    }
572    void VihuAmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
573    {
574        ammus.Destroy();
575        if (kohde.Tag.ToString() == "pelaaja")
576        {
577            (kohde as Pelihahmo).ElamaLaskuri.Value--;
578        }
579
580        if (kohde is Wife)
581        {
582            (kohde as Wife).ElamaLaskuri.Value--;
583        }
584    }
585    void asevihuOsui(PhysicsObject ammus, PhysicsObject kohde)
586    {
587        ammus.Destroy();
588        if (kohde.Tag == "pelaaja1")
589        {
590            kohde.Destroy();
591        }
592    }
593    void Lisaaasevihu(Vector paikka, double leveys, double korkeus)
594    {
595        Asevihu asevihu = new Asevihu(leveys * 2.0, korkeus * 2.0);
596        asevihu.Position = paikka;
597        asevihu.Image = meksikolainen;
598        Add(asevihu);
599        asevihu.Tag = "A";
600
601        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
602        tasoAivot.Speed = 100;
603
604        tasoAivot.FallsOffPlatforms = true;
605        tasoAivot.TriesToJump = true;
606
607        asevihu.Brain = tasoAivot;
608
609        asevihu.Weapon = new AssaultRifle(30, 10);
610        asevihu.Weapon.ProjectileCollision = VihuAmmusOsui;
611
612        Timer aikaLaskuri = new Timer();
613        aikaLaskuri.Interval = 0.06;
614        aikaLaskuri.Timeout += () => VihuAmmuAseella(asevihu);
615        aikaLaskuri.Start();
616    }
617
618    void LisaaTacoVihu(Vector paikka, double leveys, double korkeus)
619    {
620        Asevihu tacovihu = new Asevihu(leveys * 2.0, korkeus * 2.0);
621        tacovihu.Position = paikka;
622        tacovihu.Image = LoadImage("mexivotacoduude");
623        Add(tacovihu);
624        tacovihu.Tag = "A";
625
626        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
627        tasoAivot.Speed = 100;
628
629        tasoAivot.FallsOffPlatforms = true;
630        tasoAivot.TriesToJump = true;
631
632        tacovihu.Brain = tasoAivot;
633
634        //tacovihu.Weapon = new AssaultRifle(30, 10);
635        //tacovihu.Weapon.ProjectileCollision = VihuAmmusOsui;
636
637        Timer aikaLaskuri = new Timer();
638        aikaLaskuri.Interval = 5.2;
639        aikaLaskuri.Timeout += delegate
640        {
641            Grenade kranu = new Grenade(7.2);
642            kranu.Image = LoadImage("tacobom");
643            tacovihu.Throw(kranu, Angle.FromDegrees(300), 1000);
644
645        };
646        aikaLaskuri.Start();
647
648        tacovihu.Destroyed += aikaLaskuri.Stop;
649    }
650
651    void Tormaadollar(PhysicsObject hahmo, PhysicsObject dollar)
652    {
653        maaliAani.Play();
654        MessageDisplay.Add("Keräsit dollarin!");
655        dollar.Destroy();
656    }
657
658    void Tormaajetpack(PhysicsObject hahmo, PhysicsObject jetpack)
659    {
660        maaliAani.Play();
661        MessageDisplay.Add("Keräsit jetpack!");
662        jetpack.Destroy();
663
664        jetpacklaskuri.Value = 100;
665    }
666    void fly(PlatformCharacter hahmo, double nopeus)
667    {
668        if (jetpacklaskuri.Value > 0)
669        {
670            hahmo.Push(new Vector(0, nopeus));
671            jetpacklaskuri.Value -= 0.1;
672        }
673
674    }
675    void wife(Vector paikka, double leveys, double korkeus)
676    {
677        Wife p = new Wife(leveys * 0.7, korkeus * 2.0);
678        p.Position = paikka;
679        p.Image = wifekuva;
680        Add(p);
681        p.Tag = "Q";
682
683
684
685        PlatformWandererBrain tasoAivot = new PlatformWandererBrain();
686        tasoAivot.Speed = 100;
687
688        tasoAivot.FallsOffPlatforms = true;
689        tasoAivot.TriesToJump = true;
690
691        p.Brain = tasoAivot;
692
693    }
694       
695
696
697}
Note: See TracBrowser for help on using the repository browser.