source: 2014/23/LauriH/Peli 2/Peli 2/Peli 2/Peli_2.cs @ 4879

Revision 4879, 22.0 KB checked in by jotapoti, 9 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 Peli_2 : PhysicsGame
10{
11    #region Alustus
12    PlatformCharacter pelaaja;
13    PlatformCharacter agentti;
14    PhysicsObject seuraaja;
15    PhysicsObject palikka;
16    PhysicsObject tappavaPalikka;
17    string kenttaTiedostonNimi;
18
19    Image pelaajanKuva = LoadImage("PelaajanKuva");
20    Image agentinKuva = LoadImage("AgentinKuva");
21    Image saatananKuva = LoadImage("SaatananKuva");
22    Image jalkojenKuva = LoadImage("Jalat");
23    Image DemoninKuva = LoadImage("Demoni");
24    Image PuolueettomanKuva = LoadImage("Puolueeton");
25    Image SyntisenKuva = LoadImage("Syntinen");
26
27    const double Nopeus = 500;
28    const double HyppyNopeus = 1500;
29
30    int kenttaNro = 1;
31    bool porttiinOnTormatty = false;
32    DoubleMeter ElamaLaskuri;
33    DoubleMeter saatananElamaLaskuri;
34    IntMeter valineLaskuri;
35    #endregion
36
37    public override void Begin()
38    {
39        LuoKentta("Taso_1");
40    }
41
42    #region Yleiset
43
44    // TODO tekstien lisäys
45    // TODO Grafiikka: Taustakuva, Suurinosa kuvista(demoni, käärme saatana opas syntinen...) ja animaatiot
46
47    void AsetaOhjaimet()
48    {
49        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
50        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
51        Keyboard.Listen(Key.Up, ButtonState.Pressed, PelaajaHyppaa, "Pelaaja hyppää", pelaaja, HyppyNopeus);
52        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku oikealle", pelaaja, Nopeus);
53        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "Pelaaja liiku vasemmalle", pelaaja, -Nopeus);
54        Keyboard.Listen(Key.X, ButtonState.Pressed, Valikko, null);
55
56        if (kenttaNro > 2) 
57        {
58            Keyboard.Listen(Key.L, ButtonState.Pressed, Lyo, "Pelaaja lyo miekalla", pelaaja);
59        }
60    }
61
62    void LuoKentta(string kenttaTiedostonNimi)
63    {
64        ClearAll();
65        pelaaja = new PlatformCharacter(50, 50);
66        TileMap ruudut = TileMap.FromLevelAsset(kenttaTiedostonNimi);
67        ruudut.SetTileMethod('P', LuoPelaaja);
68        ruudut.SetTileMethod('g', LuoPortti1);
69        ruudut.SetTileMethod('G', LuoPortti);
70        ruudut.SetTileMethod('#', LuoPalikka);
71        ruudut.SetTileMethod('A', LuoAgentti);
72        ruudut.SetTileMethod('S', LuoSeuraaja);
73        ruudut.SetTileMethod('Y', LuoSyntinen);
74        ruudut.SetTileMethod('O', LuoPuolueeton);
75        ruudut.SetTileMethod('j', LuoJalat);
76        ruudut.SetTileMethod('M', LuoMunkki);
77        ruudut.SetTileMethod('L', LuoSaatana);
78        ruudut.SetTileMethod('F', LuoPalavaSyntinen);
79        ruudut.SetTileMethod('K', LuoKaarme);
80        ruudut.SetTileMethod('D', LuoDemoni);
81        ruudut.SetTileMethod('R', LuoRaja);
82        ruudut.SetTileMethod('v', LuoValine);
83        ruudut.SetTileMethod('X', LuoLiikkuvaPalikka);
84        ruudut.SetTileMethod('Z', LuoTappavaPalikka);
85        ruudut.SetTileMethod('W', LuoVesi);
86        ruudut.SetTileMethod('E', LuoPaskaJarvi);
87        ruudut.Execute(50, 50);
88
89        AsetaOhjaimet();
90        LuoElamaLaskuri(100, 10);
91
92        if (kenttaNro == 4)
93        {
94            LuoSaatananElämäLaskuri(100, 10);
95        }
96
97        if (kenttaNro == 2)
98        {
99            LuoValineLaskuri(10, 10);
100        }
101
102        Gravity = new Vector(0, -1000);
103
104        Level.CreateBorders();
105
106        Camera.StayInLevel = true;
107        Camera.ZoomFactor = 0.5;
108        Camera.Follow(pelaaja);
109
110
111    }
112
113    void SeuraavaKentta()
114    {
115        porttiinOnTormatty = false;
116        if (kenttaNro == 1)
117        { LuoKentta("Taso_1"); }
118        else if (kenttaNro == 2)
119        { LuoKentta("Taso_2"); }
120        else if (kenttaNro == 3)
121        { LuoKentta("Taso_6"); }
122        else if (kenttaNro == 4)
123        { LuoKentta("Taso_8"); }
124        /*else if (kenttaNro == 4)
125        { LuoKentta("Taso_4"); }
126        else if (kenttaNro == 5)
127        { LuoKentta("Taso_5"); }
128        else if (kenttaNro == 6)
129        { LuoKentta("Taso_6"); }
130        else if (kenttaNro == 7)
131        { LuoKentta("Taso_7"); }
132
133         
134         */
135        else if (kenttaNro > 4)
136        { Exit(); }
137    }
138
139    void ElamaLoppui()
140    {
141        ClearAll();
142        SeuraavaKentta();
143    }
144
145    void Valikko()
146    {
147
148        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Taso 1", "Taso 2", "Taso 6", "Taso 8", "Jatka", "Lopeta");
149        Add(alkuValikko);
150
151        alkuValikko.AddItemHandler(0, delegate { kenttaNro = 1; SeuraavaKentta(); });
152        alkuValikko.AddItemHandler(1, delegate { kenttaNro = 2; SeuraavaKentta(); });
153        alkuValikko.AddItemHandler(2, delegate { kenttaNro = 3; SeuraavaKentta(); });
154        alkuValikko.AddItemHandler(3, delegate { kenttaNro = 4; SeuraavaKentta(); });
155        /*alkuValikko.AddItemHandler(4, delegate { kenttaNro = 5; SeuraavaKentta(); });*/
156        alkuValikko.AddItemHandler(4, delegate
157        {
158            alkuValikko.Destroy();
159            Pause();
160            if (pelaaja == null)
161                kenttaNro = 1; SeuraavaKentta();
162        });
163        alkuValikko.AddItemHandler(5, Exit);
164    }
165
166
167
168    #endregion
169
170    #region Luomiseen liittyvää
171    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
172    {
173        pelaaja.Width = leveys;
174        pelaaja.Height = korkeus;
175        pelaaja.Position = paikka;
176        pelaaja.Image = pelaajanKuva;
177        pelaaja.Tag = "pelaaja";
178
179        AddCollisionHandler(pelaaja, "Portti", TormaaPorttiin2);
180        AddCollisionHandler(pelaaja, "Portti1", TormaaPorttiin1);
181        AddCollisionHandler(pelaaja, "Ammus", AgentinAmmusOsuu);
182        AddCollisionHandler(pelaaja, "Jalat", TormaaJalkoihin);
183        AddCollisionHandler(pelaaja, "Puolueeton", TormaaPuolueettomaan);
184        AddCollisionHandler(pelaaja, "Palava", TormaaPalavaanSyntiseen);
185        AddCollisionHandler(pelaaja, "Kaarme", TormaaKaarmeeseen);
186        AddCollisionHandler(pelaaja, "Saatana", TormaaSaatanaan);
187        AddCollisionHandler(pelaaja, "Demoni", TormaaDemoniin);
188        AddCollisionHandler(pelaaja, "Syntinen", CollisionHandler.ShowMessage("IIK"));
189        AddCollisionHandler(pelaaja, "Valine", TormaaValineeseen);
190        AddCollisionHandler(pelaaja, "TappavaPalikka", TormaaTappavaanPalikkaan);
191        AddCollisionHandler(pelaaja, "Liekki", TormaaLiekkiin);
192        Add(pelaaja);
193    }
194
195    void LuoSeuraaja(Vector paikka, double leveys, double korkeus)
196    {
197        seuraaja = new PhysicsObject(50, 50);
198        //Seuraaja.Image = ;
199        seuraaja.Color = Color.Green;
200        seuraaja.Position = paikka;
201
202        Add(seuraaja);
203
204    }
205    /*
206    Timer seuraus = new Timer();
207    seuraus.Interval = 0.1;
208    seuraus.Timeout += KytkeAivot;
209    seuraus.Start();
210     *
211         
212}
213
214void KytkeAivot()
215{
216    if (Vector.Distance(pelaaja.Position, seuraaja.Position) < 300)
217    {
218        seuraaja.Brain.Active = true;
219    }
220    else
221    {
222        seuraaja.Brain.Active = false;
223    }
224       
225} */
226
227    void LuoAgentti(Vector paikka, double leveys, double korkeus)
228    {
229        agentti = new PlatformCharacter(leveys, korkeus);
230        agentti.Position = paikka;
231        agentti.Image = agentinKuva;
232        Add(agentti);
233
234        FollowerBrain jahtausAivot = new FollowerBrain(pelaaja);
235        jahtausAivot.Speed = 300;
236
237        agentti.Brain = jahtausAivot;
238
239
240        agentti.Weapon = new LaserGun(10, 10);
241        agentti.Weapon.FireRate = 2.0;
242        agentti.Weapon.ProjectileCollision += AgentinAmmusOsuu;
243        agentti.Weapon.CanHitOwner = false;
244        Timer ajastin = new Timer();
245        ajastin.Interval = 2;
246        ajastin.Timeout += delegate
247        {
248            PhysicsObject ammus = agentti.Weapon.Shoot();
249            if (ammus != null)
250            {
251                ammus.Color = Color.Violet;
252                ammus.Tag = "Ammus";
253            }
254        };
255        ajastin.Start();
256
257    }
258
259    void LuoSyntinen(Vector paikka, double leveys, double korkeus)
260    {
261        PlatformCharacter Syntinen = new PlatformCharacter(50, 50);
262        Syntinen.Position = paikka;
263        Syntinen.Color = Color.Blue;
264        Syntinen.Image = SyntisenKuva;
265        Syntinen.Tag = "Syntinen";
266        AddCollisionHandler(Syntinen, "Kaarme", SyntinenTormaaKaarmeeseen);
267        AddCollisionHandler(Syntinen, "Demoni", SyntinenTormaaDemoniin);
268        //AddCollisionHandler(Syntinen, "Demoni", CollisionHandler.DestroyObject);
269        Add(Syntinen);
270    }
271
272    void LuoPuolueeton(Vector paikka, double leveys, double korkeus)
273    {
274        PlatformCharacter puolueeton = new PlatformCharacter(50, 50);
275        puolueeton.Position = paikka;
276        puolueeton.Image = PuolueettomanKuva;
277        puolueeton.Tag = "Puolueeton";
278        Add(puolueeton);
279
280        AddCollisionHandler(puolueeton, "Raja", CollisionHandler.DestroyObject);
281
282        FollowerBrain seurausAivot = new FollowerBrain(pelaaja);
283        seurausAivot.Speed = 350;
284        seurausAivot.Active = true;
285        puolueeton.Brain = seurausAivot;
286    }
287
288    void LuoJalat(Vector paikka, double leveys, double korkeus)
289    {
290        PhysicsObject Jalat = new PhysicsObject(100, 100);
291        Jalat.Position = paikka;
292        Jalat.Color = Color.Yellow;
293        Jalat.MakeStatic();
294        Jalat.Image = jalkojenKuva;
295        Jalat.Tag = "Jalat";
296        Add(Jalat);
297    }
298
299    void LuoDemoni(Vector paikka, double leveys, double korkeus)
300    {
301        PhysicsObject Demoni = new PhysicsObject(50, 50);
302        Demoni.Position = paikka;
303        Demoni.IgnoresGravity = true;
304        Demoni.IgnoresPhysicsLogics = true;
305        Demoni.Image = DemoninKuva;
306        Demoni.Color = Color.Red;
307        Demoni.Tag = "Demoni";
308        Add(Demoni);
309
310        RandomMoverBrain LiihotteluAivot = new RandomMoverBrain();
311        LiihotteluAivot.WanderRadius = 200;
312        LiihotteluAivot.Speed = 300;
313        Demoni.Brain = LiihotteluAivot;
314
315    }
316
317    void LuoKaarme(Vector paikka, double leveys, double korkeus)
318    {
319        PlatformCharacter Kaarme = new PlatformCharacter(50, 50);
320        Kaarme.Position = paikka;
321        Kaarme.Color = Color.Green;
322        //Kaarme.Image = ;
323        Kaarme.Tag = "Kaarme";
324        Add(Kaarme);
325
326        PlatformWandererBrain hyokkaysAivot = new PlatformWandererBrain();
327        hyokkaysAivot.Speed = 300;
328        Kaarme.Brain = hyokkaysAivot;
329    }
330
331    void LuoMunkki(Vector paikka, double leveys, double korkeus)
332    {
333        PlatformCharacter munkki = new PlatformCharacter(50, 50);
334        munkki.Position = paikka;
335        munkki.Color = Color.Gold;
336        //Munkki.Image = ;
337        munkki.Tag = "Munkki";
338        Add(munkki);
339
340        PlatformWandererBrain laahustusAivot = new PlatformWandererBrain();
341        laahustusAivot.Speed = 50;
342        munkki.Brain = laahustusAivot;
343    }
344
345    void LuoPalavaSyntinen(Vector paikka, double leveys, double korkeus)
346    {
347        PhysicsObject PalavaSyntinen = new PhysicsObject(100, 100);
348        PalavaSyntinen.Position = paikka;
349        PalavaSyntinen.Color = Color.Orange;
350        //PalavaSyntinen.Image = ;
351        PalavaSyntinen.Tag = "Palava";
352        Add(PalavaSyntinen);
353    }
354
355    void LuoSaatana(Vector paikka, double leveys, double korkeus)
356    {
357        PlatformCharacter saatana = new PlatformCharacter(900, 800);
358        saatana.Position = paikka;
359        saatana.Image = saatananKuva;
360        saatana.Tag = "Saatana";
361        Add(saatana, -1);
362
363        AddCollisionHandler(saatana, "Ase", SaatanaTormaaAseeseen);
364
365        saatana.Weapon = new AssaultRifle(10, 10);
366        saatana.Weapon.FireRate = 0.5;
367        saatana.Weapon.ProjectileCollision += TormaaLiekkiin;
368        saatana.Weapon.CanHitOwner = false;
369        saatana.Weapon.IsVisible = false;
370       
371        Timer ajastin = new Timer();
372        ajastin.Interval = 1.00;
373        ajastin.Timeout += delegate
374        {
375            //saatana.Weapon.AbsoluteAngle = (pelaaja.Position - saatana.Weapon.Position).no;
376            PhysicsObject ammus = saatana.Weapon.Shoot();
377            if (ammus != null)
378            {
379                Vector suunta = pelaaja.Position - saatana.Position;
380                suunta.Normalize();
381                ammus.Velocity = suunta * 1;
382
383                ammus.Image = null;
384                ammus.Color = Color.Red;
385                ammus.Tag = "Liekki";
386                ammus.Size *= 5;
387                ammus.Position = saatana.Position;
388            }
389        };
390        ajastin.Start();
391
392    }
393
394    void LuoElamaLaskuri(double x, double y)
395    {
396        ElamaLaskuri = new DoubleMeter(100);
397        ElamaLaskuri.MaxValue = 10;
398        ElamaLaskuri.LowerLimit += ElamaLoppui;
399
400        ProgressBar elamaPalkki = new ProgressBar(100, 20);
401        elamaPalkki.BindTo(ElamaLaskuri);
402        elamaPalkki.X = Screen.Left + 100;
403        elamaPalkki.Y = Screen.Top - 100;
404        elamaPalkki.BorderColor = Color.Black;
405        Add(elamaPalkki);
406    }
407
408    void LuoSaatananElämäLaskuri(double x, double y)
409    {
410        saatananElamaLaskuri = new DoubleMeter(100);
411        saatananElamaLaskuri.MaxValue = 10;
412        saatananElamaLaskuri.LowerLimit += SaatanaKuoli;
413
414        ProgressBar elamaPalkki2 = new ProgressBar(100, 20);
415        elamaPalkki2.BindTo(saatananElamaLaskuri);
416        elamaPalkki2.X = Screen.Right - 100;
417        elamaPalkki2.Y = Screen.Top - 100;
418        elamaPalkki2.BorderColor = Color.Black;
419        Add(elamaPalkki2);
420    }
421
422    void LuoValineLaskuri(double x, double y)
423    {
424        valineLaskuri = new IntMeter(0);
425        valineLaskuri.MaxValue = 3;
426
427        Label naytto = new Label();
428        naytto.BindTo(valineLaskuri);
429        naytto.X = Screen.Left + 100;
430        naytto.Y = Screen.Top - 200;
431        naytto.TextColor = Color.White;
432        Add(naytto);
433    }
434
435    void LuoPortti(Vector paikka, double leveys, double korkeus)
436    {
437        PhysicsObject Portti = new PhysicsObject(leveys, korkeus);
438        Portti.Color = Color.Gray;
439        Portti.IgnoresGravity = true;
440        Portti.Position = paikka;
441        Portti.MakeStatic();
442        Portti.Tag = "Portti";
443        Add(Portti);
444    }
445
446    void LuoPortti1(Vector paikka, double leveys, double korkeus)
447    {
448        PhysicsObject Portti1 = new PhysicsObject(leveys, korkeus);
449        Portti1.Color = Color.Gray;
450        Portti1.IgnoresGravity = true;
451        Portti1.Position = paikka;
452        Portti1.MakeStatic();
453        Portti1.Tag = "Portti1";
454        Add(Portti1);
455    }
456
457    void LuoRaja(Vector paikka, double leveys, double korkeus)
458    {
459        PhysicsObject Raja = new PhysicsObject(50, 50);
460        Raja.Position = paikka;
461        Raja.Color = Color.Gray;
462        Raja.MakeStatic();
463        Raja.Tag = "Raja";
464        Add(Raja);
465    }
466
467    void LuoPalikka(Vector paikka, double leveys, double korkeus)
468    {
469        palikka = new PhysicsObject(leveys, korkeus);
470        palikka.Color = Color.Gray;
471        palikka.IgnoresGravity = true;
472        palikka.IsVisible = true;
473        palikka.Position = paikka;
474        palikka.MakeStatic();
475        Add(palikka);
476    }
477
478    void LuoLiikkuvaPalikka(Vector paikka, double leveys, double korkeus)
479    {
480        PlatformCharacter LiikkuvaPalikka = new PlatformCharacter(100, 50);
481        LiikkuvaPalikka.Position = paikka;
482        LiikkuvaPalikka.Color = Color.Orange;
483        LiikkuvaPalikka.IgnoresGravity = true;
484        LiikkuvaPalikka.IsVisible = true;
485        //LiikkuvaPalikka.MakeStatic();
486        Add(LiikkuvaPalikka);
487
488        PlatformWandererBrain veneAivot = new PlatformWandererBrain();
489        veneAivot.Speed = 200;
490        LiikkuvaPalikka.Brain = veneAivot;
491
492
493    }
494
495    void LuoTappavaPalikka(Vector paikka, double leveys, double korkeus)
496    {
497        tappavaPalikka = new PhysicsObject(leveys, korkeus);
498        tappavaPalikka.Color = Color.White;
499        tappavaPalikka.IgnoresGravity = true;
500        tappavaPalikka.IsVisible = true;
501        tappavaPalikka.Position = paikka;
502        tappavaPalikka.MakeStatic();
503        tappavaPalikka.Tag = "TappavaPalikka";
504        Add(tappavaPalikka);
505    }
506
507    void LuoValine(Vector paikka, double leveys, double korkeus)
508    {
509        PhysicsObject valine = new PhysicsObject(20, 20);
510        valine.Position = paikka;
511        valine.Color = Color.Brown;
512        valine.Tag = "Valine";
513        Add(valine);
514
515    }
516
517    void LuoVesi(Vector paikka, double leveys, double korkeus)
518    {
519        PhysicsObject vesi = new PhysicsObject(50*32, 32);
520        vesi.Position = paikka;
521        vesi.Left = paikka.X - 25;
522        vesi.Bottom = paikka.Y - 25;
523        vesi.Color = Color.Blue;
524        vesi.IgnoresCollisionResponse = true;
525        vesi.MakeStatic();
526        Add(vesi, 1);
527    }
528
529    void LuoPaskaJarvi(Vector paikka, double leveys, double korkeus)
530    {
531        PhysicsObject paska = new PhysicsObject(50 * 43, 30);
532        paska.Position = paikka;
533        paska.Left = paikka.X - 25;
534        paska.Bottom = paikka.Y - 25;
535        paska.Color = Color.Brown;
536        paska.IgnoresCollisionResponse = true;
537        paska.MakeStatic();
538        Add(paska, 1);
539    }
540
541    #endregion
542
543    #region Liikkumiseen liittyvää
544
545    void PelaajaHyppaa(PlatformCharacter pelaaja, double nopeus)
546    {
547        pelaaja.Jump(nopeus);
548    }
549
550    void Lyo(PlatformCharacter pelaaja)
551    {
552        PhysicsObject ase = new PhysicsObject(20, 20);
553        ase.MaximumLifetime = TimeSpan.FromSeconds(0.1);
554        ase.Image = agentinKuva;
555        ase.IgnoresCollisionResponse = true;
556        ase.Tag = "Ase";
557        ase.Position = pelaaja.Position + pelaaja.FacingDirection.GetVector() * 30;
558        Add(ase);
559    }
560
561    void LiikutaPelaajaa(PlatformCharacter pelaaja, double nopeus)
562    {
563        pelaaja.Walk(nopeus);
564    }
565
566    #endregion
567
568    #region Törmäyksiä
569
570    void AgentinAmmusOsuu(PhysicsObject ammus, PhysicsObject kohde)
571    {
572        ammus.Destroy();
573        if (kohde.Tag.Equals("pelaaja"))
574        {
575            MessageDisplay.Add("AU!! Voitte ampua mutta ette saa kiinni");
576            ElamaLaskuri.Value -= 1;
577        }
578
579    }
580
581    void TormaaPorttiin(PhysicsObject pelaaja, PhysicsObject Portti1, string teksti)
582    {
583        if (porttiinOnTormatty == false)
584        {
585            porttiinOnTormatty = true;
586            MessageDisplay.Add(teksti);
587            kenttaNro++;
588
589            Timer ajastin = new Timer();
590            ajastin.Interval = 2.00;
591            ajastin.Timeout += SeuraavaKentta;
592            ajastin.Start();
593        }
594    }
595
596    void TormaaPorttiin1(PhysicsObject pelaaja, PhysicsObject Portti1)
597    {
598        TormaaPorttiin(pelaaja, Portti1, "Ken tästä käy saa kaiken toivon heittää");
599    }
600
601    void TormaaPorttiin2(PhysicsObject pelaaja, PhysicsObject Portti1)
602    {
603        if (kenttaNro == 2)
604        {
605            if (valineLaskuri < 3)
606            {
607                MessageDisplay.Add("Et ole vielä valmis");
608            }
609            else
610            {
611                TormaaPorttiin(pelaaja, Portti1, "Hyvä, voit jatkaa toivotonta matkaasi");
612            }
613        }
614        else
615        {
616            TormaaPorttiin(pelaaja, Portti1, "Hyvä, voit jatkaa toivotonta matkaasi");
617        }
618    }
619
620    void TormaaJalkoihin(PhysicsObject pelaaja, PhysicsObject Syntinen)
621    {
622        MessageDisplay.Add("IIK");
623        ElamaLaskuri.Value -= 2;
624    }
625
626    void TormaaPalavaanSyntiseen(PhysicsObject pelaaja, PhysicsObject PalavaSyntinen)
627    {
628        MessageDisplay.Add("Kuolit");
629        Timer ajastin = new Timer();
630        ajastin.Interval = 2.00;
631        ajastin.Timeout += delegate { pelaaja.Destroy(); };
632        ajastin.Start();
633        SeuraavaKentta();
634
635    }
636
637    void TormaaKaarmeeseen(PhysicsObject pelaaja, PhysicsObject Kaarme)
638    {
639        MessageDisplay.Add("IIK");
640        ElamaLaskuri.Value -= 2;
641    }
642
643    void TormaaDemoniin(PhysicsObject pelaaja, PhysicsObject Demoni)
644    {
645        MessageDisplay.Add("Mitä Piruja te kuvittelette olevanne");
646        ElamaLaskuri.Value -= 0.5;
647    }
648
649    void TormaaTappavaanPalikkaan(PhysicsObject pelaaja, PhysicsObject tappavaPalikka)
650    {
651        pelaaja.Destroy();
652        SeuraavaKentta();
653    }
654
655    void TormaaPuolueettomaan(PhysicsObject pelaaja, PhysicsObject puolueeton)
656    {
657        MessageDisplay.Add("Mitä Helvettiä, ainiin, tätäpä Helvettiä hyvinkin");
658        ElamaLaskuri.Value -= 0.5;
659    }
660
661    void TormaaValineeseen(PhysicsObject pelaaja, PhysicsObject valine)
662    {
663        valine.Destroy();
664        MessageDisplay.Add("Löysit apuvälineen, LOISTAVAA");
665        valineLaskuri.Value++;
666
667    }
668
669    void SyntinenTormaaKaarmeeseen(PhysicsObject syntinen, PhysicsObject kaarme)
670    {
671        syntinen.Destroy();
672        Timer.SingleShot(2, delegate { LuoKaarme(new Vector(kaarme.Position.X, Level.Top - 50), kaarme.Width, kaarme.Height); });
673
674
675    }
676
677    void SyntinenTormaaDemoniin(PhysicsObject syntinen, PhysicsObject demoni)
678    {
679        syntinen.Destroy();
680        Timer.SingleShot(2, delegate { LuoSyntinen(new Vector(syntinen.Position.X, Level.Top-50), syntinen.Width, syntinen.Height); });
681
682        /*Timer palauttaja = new Timer();
683        palauttaja.Interval = 2.00;
684        palauttaja.Timeout += LuoSyntinen;
685        palauttaja.Start();
686        */
687    }
688
689    void TormaaSaatanaan(PhysicsObject pelaaja, PhysicsObject Saatana)
690    {
691        MessageDisplay.Add("HERRAN TÄHDEN!!!!");
692        ElamaLaskuri.Value -= 3;
693    }
694
695    void TormaaLiekkiin(PhysicsObject ammus, PhysicsObject kohde)
696    {
697        ammus.Destroy();
698        if (kohde.Tag.Equals("pelaaja"))
699        {
700            MessageDisplay.Add("AU!!");
701            ElamaLaskuri.Value -= 4;
702        }
703    }
704
705    void SaatanaTormaaAseeseen(PhysicsObject saatana, PhysicsObject ase) 
706    {
707        saatananElamaLaskuri.Value -= 1;
708    }
709
710    void SaatanaKuoli()
711    {
712
713    }
714
715    #endregion
716}
717
718
719
Note: See TracBrowser for help on using the repository browser.