source: 2016/24/JimiR/MultiFuse/MultiFuse/MultiFuse/MultiFuse.cs @ 7324

Revision 7324, 20.6 KB checked in by jijaolri, 7 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
9public class MultiFuse : PhysicsGame
10{
11
12
13
14    [Save]
15    int level = 5;
16    [Save]
17    string nimi;
18
19    DoubleMeter nopeus = new DoubleMeter(100, 100, 200);
20
21
22    PhysicsObject palikka;
23    PhysicsObject wiseguy;
24    PhysicsObject kauppias;
25    PhysicsObject pelaaja;
26    PhysicsObject teleporter;
27
28
29    DoubleMeter attacklvl = new DoubleMeter(1);
30    DoubleMeter healthlvl = new DoubleMeter(10, 0, 10);
31    DoubleMeter ranged = new DoubleMeter(1);
32    DoubleMeter tuliskillimittari = new DoubleMeter(100, 0, 100);
33    GameObject cursor;
34    Image alkuvalikonKuva = LoadImage("grass");
35    Image cursorinKuva = LoadImage("cursor");
36    Image puunKuva = LoadImage("tree");
37    Image tuliskillinKuva = LoadImage("ultikuva");
38    Image miekanKuva = LoadImage("miekka");
39    Image healthinKuva = LoadImage("sydän");
40    Image paperinKuva = LoadImage("paper");
41    Image marketinKuva = LoadImage("lattia");
42    Image dungeoninlattia = LoadImage("dungeonladdi");
43    Image fireballinKuva = LoadImage("fireball");
44    private Image[] destroyerinKavely = LoadImages("anim1", "anim2", "anim3", "anim4", "anim5");
45    private Image[] pelaajaWalk = LoadImages("walk1", "walk2", "walk3", "walk4", "walk5", "walk6", "walk4", "walk3", "walk2", "walk1", "walk7", "walk8", "walk9", "walk10", "walk11", "walk12", "walk11", "walk10", "walk9", "walk8", "walk7");
46
47    public override void Begin()
48    {
49
50        LuoAlkuValikko();
51        // TODO: Kirjoita ohjelmakoodisi tähän
52
53        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
54        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
55    }
56   
57    void AloitaPeli()
58    {
59        TileMap level = TileMap.FromLevelAsset("test");
60        level.SetTileMethod('#', LuoPalikka);
61        level.SetTileMethod('P', LuoPelaaja);
62        level.SetTileMethod('W', LuoWiseGuy);
63        level.SetTileMethod('T', LuoTeleporter);
64        level.Execute(50, 50);
65        IsMouseVisible = false;
66        IsFullScreen = true;
67        LuoCursor();
68    }
69
70    void Options()
71    {
72
73        //Healthit pelaaja = new Healthit(50, 50);
74        //pelaaja.Attack.Value = 2;
75
76    }
77
78    void LuoAlkuValikko()
79    {
80        MultiSelectWindow alkuValikko = new MultiSelectWindow("MultiFuse",
81"Start", "Options", "Quit");
82        Add(alkuValikko);
83        alkuValikko.AddItemHandler(0, KysyNimi);
84        alkuValikko.AddItemHandler(1, Options);
85        alkuValikko.AddItemHandler(2, Exit);
86        alkuValikko.Color = Color.Transparent;
87        Level.Background.Image = alkuvalikonKuva;
88        Level.Background.TileToLevel();
89        Camera.ZoomToLevel();
90    }
91
92    void LuoPuu(Vector paikka, double leveys, double korkeus)
93    {
94        PhysicsObject puu = PhysicsObject.CreateStaticObject(100, 100);
95        puu.Position = paikka; puu.Image = puunKuva;
96    }
97
98    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
99    {
100        pelaaja = new PhysicsObject(50, 75);
101        pelaaja.Position = paikka;
102        pelaaja.CanRotate = false;
103        pelaaja.AngularDamping = 0.95;
104        pelaaja.LinearDamping = 0.7;
105        pelaaja.Animation = new Animation(pelaajaWalk);
106        Add(pelaaja);
107
108        Label nimilabel = new Label(nimi + " ");
109
110
111        PushButton juoksupainike = new PushButton("EsJuoksu");
112        Add(juoksupainike);
113        juoksupainike.Clicked += Juoksee;
114        juoksupainike.X = Screen.Right - 150;
115        juoksupainike.Y = Screen.Bottom + 800;
116
117        ProgressBar elamaPalkki = new ProgressBar(200, 40);
118        elamaPalkki.X = Screen.Right - 150;
119        elamaPalkki.Y = Screen.Top - 100;
120        elamaPalkki.BindTo(healthlvl);
121        Add(elamaPalkki);
122
123        LuoPaper();
124
125        LuoSkill(miekanKuva, attacklvl, new Vector(Screen.Right - 200, Screen.Bottom + 750));
126        Label healthLabel = LuoSkill(healthinKuva, null, new Vector(Screen.Right - 200, Screen.Bottom + 700));
127
128        Label tuliskilll = new Label();
129        tuliskilll.Image = tuliskillinKuva;
130        tuliskilll.Size = new Vector(30, 30);
131        tuliskilll.Position = new Vector(Screen.Right - 200, Screen.Bottom + 600);
132        Add(tuliskilll);
133        ProgressBar tulipalkki = new ProgressBar(100, 20);
134        tulipalkki.X = Screen.Right - 120;
135        tulipalkki.Y = Screen.Bottom + 600;
136        tulipalkki.BindTo(tuliskillimittari);
137        Add(tulipalkki);
138
139        Timer ajastin = new Timer();
140        ajastin.Interval = 0.01;
141        ajastin.Timeout += () =>
142        {
143            nimilabel.Position = Camera.WorldToScreen(pelaaja.Position + new Vector(0, 50));
144            healthLabel.Text = "" + healthlvl.MaxValue;
145            tuliskillimittari.Value += 0.1;
146        };
147        ajastin.Start();
148        Add(nimilabel);
149
150        //Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
151        //Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
152        //Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
153        //Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
154
155        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Lyo, "Lyö");
156        Mouse.Listen(MouseButton.Middle, ButtonState.Pressed, FireBall, "Ultimate");
157        Mouse.Listen(MouseButton.Right, ButtonState.Pressed, Liiku, "Liikkuu");
158        Keyboard.Listen(Key.Q, ButtonState.Pressed, Heal, "Healaa pelaajaa");
159
160        AddCollisionHandler(pelaaja, "wiseguy", Luowiseguyvalikko);
161        AddCollisionHandler(pelaaja, "kauppias", Luokauppa);
162        AddCollisionHandler(pelaaja, "teleporter", LuoTeleporttausvalikko);
163    }
164    void Juoksee()
165    {
166        if (nopeus.Value == nopeus.MinValue)
167        {
168            nopeus.Value = nopeus.MaxValue;
169        }
170        else
171        {
172            nopeus.Value = nopeus.MinValue;
173        }
174
175    }
176    void Liiku()
177    {
178        pelaaja.MoveTo(Mouse.PositionOnWorld, nopeus.Value, pelaaja.Animation.Stop);
179        pelaaja.Animation.Start();
180    }
181
182    void LuoPalikka(Vector paikka, double leveys, double korkeus)
183    {
184        palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
185        palikka.Position = paikka;
186        palikka.Color = Color.Black;
187        Add(palikka);
188
189    }
190
191
192    void KysyNimi()
193    {
194        InputWindow kysymysIkkuna = new InputWindow("This tale of");
195        kysymysIkkuna.TextEntered += ProcessInput;
196        Add(kysymysIkkuna);
197
198    }
199
200    void ProcessInput(InputWindow ikkuna)
201    {
202        string vastaus = ikkuna.InputBox.Text;
203        MessageDisplay.Add(vastaus);
204        nimi = vastaus;
205        AloitaPeli();
206    }
207
208    void LiikutaPelaajaa(Vector vektori)
209    {
210        pelaaja.Push(vektori);
211    }
212
213    void LuoWiseGuy(Vector paikka, double leveys, double korkeus)
214    {
215        wiseguy = new PhysicsObject(50, 50);
216        wiseguy.Position = paikka;
217        wiseguy.AngularDamping = 0.95;
218        wiseguy.LinearDamping = 0.7;
219        wiseguy.Tag = "wiseguy";
220        Add(wiseguy);
221    }
222
223    void LuoCursor()
224    {
225        cursor = new GameObject(15, 15);
226        cursor.Image = cursorinKuva;
227        //cursor.Position = Mouse.PositionOnScreen;
228        Mouse.ListenMovement(0.1, KuunteleLiiketta, null);
229        Add(cursor);
230    }
231
232    Label LuoSkill(Image kuva, DoubleMeter mittari, Vector Position)
233    {
234        Label label = new Label();
235        label.Image = kuva;
236        label.Size = new Vector(30, 30);
237        label.Position = Position;
238        Add(label);
239
240        Label numero = new Label();
241        if (mittari != null)
242        {
243            numero.BindTo(mittari);
244        }
245        numero.Position = Position + new Vector(60, 0);
246        numero.DoubleFormatString = "{0:0}";
247        Add(numero);
248        return numero;
249    }
250
251    void Luowiseguyvalikko(PhysicsObject tormaaja, PhysicsObject kohde)
252    {
253        wiseguyvalikko();
254    }
255
256    void KuunteleLiiketta(AnalogState hiirenTila)
257    {
258        cursor.X = Mouse.PositionOnWorld.X;
259        cursor.Y = Mouse.PositionOnWorld.Y;
260
261        pelaaja.Angle = (cursor.Position - pelaaja.Position).Angle;
262
263        Vector hiirenLiike = hiirenTila.MouseMovement;
264    }
265
266    void TeleportValikko()
267    {
268        MultiSelectWindow teleportvalikko = new MultiSelectWindow("Where do you want to teleport?",
269        "Markeplace", "asdasdasd", "Back");
270        teleportvalikko.AddItemHandler(0, MarketPlace);
271        teleportvalikko.AddItemHandler(1, TeleportValikko);
272        teleportvalikko.AddItemHandler(2, wiseguyvalikko);
273        Add(teleportvalikko);
274    }
275
276    void wiseguyvalikko()
277    {
278        MessageDisplay.Add("Bump!");
279        MultiSelectWindow wiseguyvalikko = new MultiSelectWindow("What do you want?",
280        "Have you got anything for me?", "Where can i teleport?", "See you again!");
281        Add(wiseguyvalikko);
282        wiseguyvalikko.AddItemHandler(0, AloitaPeli);
283        wiseguyvalikko.AddItemHandler(1, TeleportValikko);
284        wiseguyvalikko.AddItemHandler(2, Exit);
285    }
286
287    void MarketPlace()
288    {
289        ClearAll();
290        TileMap marketplace = TileMap.FromLevelAsset("marketplace");
291        marketplace.SetTileMethod('#', LuoPalikka);
292        marketplace.SetTileMethod('P', LuoPelaaja);
293        marketplace.SetTileMethod('W', LuoWiseGuy);
294        marketplace.SetTileMethod('T', LuoTeleporter);
295        marketplace.SetTileMethod('K', LuoKauppias);
296        marketplace.Execute(50, 50);
297        IsMouseVisible = false;
298        IsFullScreen = true;
299        LuoCursor();
300        Camera.ZoomToLevel();
301        Level.Background.Image = marketinKuva;
302        Level.Background.TileToLevel();
303        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
304        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
305    }
306
307    void LuoKauppias(Vector paikka, double leveys, double korkeus)
308    {
309        kauppias = PhysicsObject.CreateStaticObject(50, 50);
310        kauppias.Shape = Shape.Circle;
311        kauppias.Tag = "kauppias";
312        kauppias.Position = paikka;
313        Add(kauppias);
314    }
315
316    void Luokauppa(PhysicsObject tormaaja, PhysicsObject kohde)
317    {
318        MultiSelectWindow kauppavalikko = new MultiSelectWindow("S Market",
319       "Food", "arrow", "exit");
320        Add(kauppavalikko);
321    }
322
323    void LuoTeleporter(Vector paikka, double leveys, double korkeus)
324    {
325        teleporter = PhysicsObject.CreateStaticObject(100, 100);
326        teleporter.Position = paikka;
327        teleporter.Shape = Shape.Circle;
328        teleporter.Color = Color.Violet;
329        teleporter.Tag = "teleporter";
330        Add(teleporter);
331    }
332
333    void LuoTeleporttausvalikko(PhysicsObject tormaaja, PhysicsObject kohde)
334    {
335        MultiSelectWindow teleportaatioValikko = new MultiSelectWindow("Where would you like to go?",
336        "Dungeons", "Bosses", "TutorialPlace");
337        Add(teleportaatioValikko);
338
339        teleportaatioValikko.AddItemHandler(0, Dungeons);
340        teleportaatioValikko.AddItemHandler(1, Bosses);
341        teleportaatioValikko.AddItemHandler(2, TutorialPlace);
342    }
343
344    void Dungeons()
345
346    {
347        MultiSelectWindow dungeonsValikko = new MultiSelectWindow("Dungeons",
348        "Dungeon lvl 1-100", "Dungeon lvl 100-1000", "Dungeon lvl 1000-10000");
349        Add(dungeonsValikko);
350        dungeonsValikko.AddItemHandler(0, Dungeon1);
351        dungeonsValikko.AddItemHandler(1, Dungeon2);
352        dungeonsValikko.AddItemHandler(2, Dungeon3);
353    }
354    void Bosses()
355
356    {
357        MultiSelectWindow bossesValikko = new MultiSelectWindow("Dungeons",
358        "Bosses lvl 1-100", "Bosses lvl 100-1000", "Bosses lvl 1000-10000");
359        Add(bossesValikko);
360        bossesValikko.AddItemHandler(0, Bosses1);
361        bossesValikko.AddItemHandler(1, Bosses2);
362        bossesValikko.AddItemHandler(2, Bosses3);
363    }
364    void TutorialPlace()
365
366    {
367        ClearAll();
368        AloitaPeli();
369    }
370
371    void Dungeon1()
372    {
373        ClearAll();
374        TileMap dungeon1 = TileMap.FromLevelAsset("dungeon1");
375        dungeon1.SetTileMethod('#', LuoPalikka);
376        dungeon1.SetTileMethod('P', LuoPelaaja);
377        dungeon1.SetTileMethod('W', LuoWiseGuy);
378        dungeon1.SetTileMethod('S', LuoSkeleton);
379        dungeon1.SetTileMethod('T', LuoTeleporter);
380        dungeon1.SetTileMethod('K', LuoKauppias);
381        dungeon1.Execute(50, 50);
382        IsMouseVisible = false;
383        IsFullScreen = true;
384        LuoCursor();
385        Camera.ZoomToLevel();
386        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
387        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
388    }
389    void Dungeon2()
390    {
391        ClearAll();
392        TileMap dungeon2 = TileMap.FromLevelAsset("marketplace");
393        dungeon2.SetTileMethod('#', LuoPalikka);
394        dungeon2.SetTileMethod('P', LuoPelaaja);
395        dungeon2.SetTileMethod('W', LuoWiseGuy);
396        dungeon2.SetTileMethod('T', LuoTeleporter);
397        dungeon2.SetTileMethod('K', LuoKauppias);
398        dungeon2.Execute(50, 50);
399        IsMouseVisible = false;
400        IsFullScreen = true;
401        LuoCursor();
402        Camera.ZoomToLevel();
403        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
404        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
405    }
406    void Dungeon3()
407    {
408        ClearAll();
409        TileMap dungeon3 = TileMap.FromLevelAsset("marketplace");
410        dungeon3.SetTileMethod('#', LuoPalikka);
411        dungeon3.SetTileMethod('P', LuoPelaaja);
412        dungeon3.SetTileMethod('W', LuoWiseGuy);
413        dungeon3.SetTileMethod('T', LuoTeleporter);
414        dungeon3.SetTileMethod('K', LuoKauppias);
415        dungeon3.Execute(50, 50);
416        IsMouseVisible = false;
417        IsFullScreen = true;
418        LuoCursor();
419        Camera.ZoomToLevel();
420        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
421        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
422    }
423
424    void Bosses1()
425    {
426        ClearAll();
427        TileMap bosses1 = TileMap.FromLevelAsset("bosses1");
428        bosses1.SetTileMethod('#', LuoPalikka);
429        bosses1.SetTileMethod('P', LuoPelaaja);
430        bosses1.SetTileMethod('W', LuoWiseGuy);
431        bosses1.SetTileMethod('S', LuoSkeleton);
432        bosses1.SetTileMethod('T', LuoTeleporter);
433        bosses1.SetTileMethod('K', LuoKauppias);
434        bosses1.SetTileMethod('B', LuoDestroyer);
435        bosses1.Execute(50, 50);
436        IsMouseVisible = false;
437        IsFullScreen = true;
438        Level.Background.Image = dungeoninlattia;
439        Level.Background.TileToLevel();
440        LuoCursor();
441        Camera.ZoomToLevel();
442        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
443        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
444    }
445    void Bosses2()
446    {
447
448    }
449    void Bosses3()
450    {
451
452    }
453
454    void LuoSkeleton(Vector paikka, double leveys, double korkeus)
455    {
456        Vihu skeleton = new Vihu(50, 50);
457        skeleton.Position = paikka;
458        skeleton.Shape = Shape.Circle;
459        skeleton.Tag = "skeleton";
460        skeleton.CanRotate = false;
461        //skeleton.AngularDamping = 0.95;
462        //skeleton.LinearDamping = 0.7;
463        Add(skeleton);
464
465        ProgressBar elamaPalkki = new ProgressBar(75, 15);
466        //elamaPalkki.X = Screen.Right - 150;
467        elamaPalkki.Y = 50;
468        elamaPalkki.BindTo(skeleton.ElamaLaskuri);
469        skeleton.Add(elamaPalkki);
470
471        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(50);
472        // satunnaisAivot.ChangeMovementSeconds = 3;//Ominaisuuksien muokkaaminen
473
474        //AddCollisionHandler(skeleton, pelaaja, LyoPelaajaa);
475
476        FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja);
477        seuraajanAivot.Speed = 100;                 // Millä nopeudella kohdetta seurataan
478        seuraajanAivot.DistanceFar = 200;           // Etäisyys jolla aletaan seurata kohdetta
479        seuraajanAivot.DistanceClose = 50;         // Etäisyys jolloin ollaan lähellä kohdetta
480        seuraajanAivot.StopWhenTargetClose = false;  // Pysähdytään kun ollaan lähellä kohdetta
481        seuraajanAivot.FarBrain = satunnaisAivot;   // Käytetään satunnaisaivoja kun ollaan kaukana
482        skeleton.Brain = seuraajanAivot;
483
484        //seuraajanAivot.TargetClose += LyoPelaajaa;
485
486        Timer lyontiajastin = new Timer();
487        lyontiajastin.Interval = 2.0;
488        lyontiajastin.Timeout += delegate
489        {
490            if (Vector.Distance(skeleton.Position, pelaaja.Position) < 70)
491            {
492                LyoPelaajaa();
493            }
494        };
495        lyontiajastin.Start();
496        skeleton.Destroyed += lyontiajastin.Stop;
497
498        AddCollisionHandler(skeleton, "ase", VihuOttaaDamagea);
499        AddCollisionHandler(skeleton, "ase1", VihuOttaaDamagea1);
500
501    }
502
503    void Lyo()
504    {
505        PhysicsObject ase = new PhysicsObject(60, 20);
506        Vector suunta = (cursor.Position - pelaaja.Position).Normalize();
507        ase.Position = pelaaja.Position + suunta * 50;
508        ase.LifetimeLeft = TimeSpan.FromSeconds(0.1);
509        ase.Angle = pelaaja.Angle;
510        ase.Tag = "ase";
511        Add(ase);
512    }
513
514    //void LyoPelaajaa(PhysicsObject tormaaja, PhysicsObject kohde)
515    void LyoPelaajaa()
516    {
517        healthlvl.Value -= 1;
518
519        healthlvl.MaxValue += 1;
520    }
521
522    void FireBall()
523    {
524        if (tuliskillimittari.Value == tuliskillimittari.MaxValue)
525        {
526        PhysicsObject fireball = new PhysicsObject(500, 100);
527        Vector suunta = (cursor.Position - pelaaja.Position).Normalize();
528        fireball.Position = pelaaja.Position + suunta * 350;
529        fireball.LifetimeLeft = TimeSpan.FromSeconds(1.0);
530        fireball.Image = fireballinKuva;
531        fireball.Angle = pelaaja.Angle;
532        fireball.Tag = "ase1";
533        Add(fireball);
534
535            tuliskillimittari.Value = 0;
536
537        }
538    }
539    //void ElectricBolt()
540    //{
541    //    PhysicsObject electricbolt = new PhysicsObject(60, 20);
542    //    Vector suunta = (pelaaja.Position - destroyer.Position).Normalize();
543    //    electricbolt.Position = pelaaja.Position + suunta * 50;
544    //    electricbolt.LifetimeLeft = TimeSpan.FromSeconds(0.1);
545    //    electricbolt.Angle = pelaaja.Angle;
546    //    electricbolt.Tag = "ase";
547    //    Add(electricbolt);
548    //}
549
550
551
552    void VihuOttaaDamagea(PhysicsObject tormaaja, PhysicsObject kohde)
553    {
554        Vihu vihu = tormaaja as Vihu;
555
556        vihu.ElamaLaskuri.Value -= (int)attacklvl.Value;
557        attacklvl.Value += 1;
558    }
559
560    void VihuOttaaDamagea1(PhysicsObject tormaaja, PhysicsObject kohde)
561    {
562        Vihu vihu = tormaaja as Vihu;
563
564        vihu.ElamaLaskuri.Value -= (int)attacklvl.Value * 5;
565    }
566
567    void LuoDestroyer(Vector paikka, double leveys, double korkeus)
568    {
569        PhysicsObject destroyer = new PhysicsObject(80, 80);
570        destroyer.Position = paikka;
571        destroyer.Shape = Shape.Circle;
572        destroyer.Animation = new Animation(destroyerinKavely);
573        destroyer.Animation.Start();
574        Add(destroyer);
575
576        AddCollisionHandler(destroyer, pelaaja, Destroyertekeedamagia);
577
578        RandomMoverBrain satunnaisAivotboss = new RandomMoverBrain(200);
579
580        //Ominaisuuksien muokkaaminen
581        satunnaisAivotboss.ChangeMovementSeconds = 0.5;
582
583        //Aivot käyttöön oliolle
584        destroyer.Brain = satunnaisAivotboss;
585
586        satunnaisAivotboss.Speed = 800;
587
588        satunnaisAivotboss.Active = true;
589
590       
591    }
592
593    void Heal()
594    {
595        healthlvl.Value += 1;
596    }
597
598    void Destroyertekeedamagia(PhysicsObject tormaaja, PhysicsObject kohde)
599    {
600        healthlvl.Value -= 1;
601    }
602
603    void LuoPaper()
604    {
605        GameObject paperi = new GameObject(245,400);
606        paperi.Position = new Vector(Screen.Right - 335, Screen.Bottom + 680);
607        paperi.Image = paperinKuva;
608        Add(paperi);
609    }
610}
611class Skills : PhysicsObject
612{
613    public DoubleMeter Attack { get; set; }
614
615    //public DoubleMeter Ranged { get; set; }
616
617    public Skills(double leveys, double korkeus)
618        : base(leveys, korkeus)
619    {
620        Attack = new DoubleMeter(1);
621    }
622}
623
624class Vihu : PhysicsObject
625{
626    private IntMeter elamaLaskuri = new IntMeter(20, 0, 20);
627    public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }
628
629    public Vihu(double leveys, double korkeus)
630        : base(leveys, korkeus)
631    {
632        elamaLaskuri.LowerLimit += delegate { this.Destroy(); };
633    }
634}
Note: See TracBrowser for help on using the repository browser.