source: 2013/27/AkiP/Kirkle/Kirkle/Abilly.cs @ 4373

Revision 4373, 22.6 KB checked in by akeepylv, 8 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 Pelaaja : PlatformCharacter
10{
11    public double Liikkumisnopeus { get; set; }
12    public double Hyppynopeus { get; set; }
13    public Pelaaja(double leveys, double korkeus)
14        : base(leveys, korkeus)
15    {
16
17    }
18
19}
20
21public class Abilly : PhysicsGame
22{
23    const int RUUDUN_KOKO = 40;
24
25    Pelaaja pelaaja1;
26
27    DoubleMeter elamaLaskuri;
28    IntMeter kolikkoLaskuri;
29
30    Image pelaajanKuva = LoadImage("AbillyIdle");
31
32    private Image[] AbillyKavely = LoadImages("AbillyWalking-1", "AbillyWalking-2", "AbillyWalking-3", "AbillyWalking-4");
33    private Image[] AbillyHyppy = LoadImages("AbillyJump-1", "AbillyJump-2");
34    private Image[] AbillyPudotus = LoadImages("AbillyFall-1", "AbillyFall-2");
35    private Image[] AbillyIdle = LoadImages("AbillyIdle");
36    private Image[] AbillyKyyristys = LoadImages("AbillyCrouch");
37    private Image[] kirkleKipu = LoadImages("KirkleKipu2", "KirkleKipu1", "KirkleKipu2", "KirkleKipu1", "KirkleKipu2", "KirkleKipu1", "KirkleKipu2");
38    private Image[] HuiviPropelliLiike = LoadImages("ScarfPropeller-1", "ScarfPropeller-2");
39
40    private Image[] kasviVihuWalk = LoadImages("KasviVihuKavely1", "KasviVihuKavely2", "KasviVihuKavely1", "KasviVihuKavely3");
41    private Image[] pahaKirkleWalk = LoadImages("PahaKirkleKavely1", "PahaKirkleKavely2", "PahaKirkleKavely1", "PahaKirkleKavely3");
42    //private Image[] henkiAnimaatio = LoadImages("Henki1", "Henki2");
43    //private Image[] lepakkoAnimaatio = LoadImages("Lepakko1", "Lepakko2", "Lepakko3", "Lepakko2");
44    //private Image[] lepakkoKipu = LoadImages("LepakkoKipu2", "LepakkoKipu1", "LepakkoKipu2", "LepakkoKipu1", "LepakkoKipu2", "LepakkoKipu1", "LepakkoKipu2");
45    //private Image[] toteemiAnimaatio = LoadImages("Toteemi1", "Toteemi2");
46    //private Image[] toteemiKipu = LoadImages("ToteemiKipu", "Toteemi1", "ToteemiKipu", "Toteemi1", "ToteemiKipu", "Toteemi1", "ToteemiKipu");
47
48    private Image[] kynttilanvalo = LoadImages("Kynttilanvalo1", "kynttilanvalo2");
49    //private Image[] laavaPintaKuplii = LoadImages("Laava1", "Laava2", "Laava3", "Laava4", "Laava5", "Laava6", "Laava7", "Laava8", "Laava9", "Laava10");
50    //private Image[] laavaKuplii = LoadImages("LaavaKeski1", "LaavaKeski2", "LaavaKeski3", "LaavaKeski4", "LaavaKeski5", "LaavaKeski6", "LaavaKeski7", "LaavaKeski8", "LaavaKeski9", "LaavaKeski10");
51    private Image[] maalianimaatio = LoadImages("Maali1", "Maali2", "Maali3");
52
53    Image hyokkaysKuva = LoadImage("AbillyAttack");
54    Image huivinKuva = LoadImage("ScarfWhip");
55
56    Image tahtiKuva = LoadImage("Fruit");
57    Image sydanKuva = LoadImage("");
58    //Image palikkaKuva = LoadImage("Palikka");
59    //Image kytkinKuva = LoadImage("Kytkin");
60
61    Image ruohoKuva = LoadImage("Ruoho2");
62    Image ruohoOikeaYlaKuva = LoadImage("RuohoOikeaYla");
63    Image ruohoVasenYlaKuva = LoadImage("RuohoVasenYla");
64    Image ruohoKattoKuva = LoadImage("RuohoKatto");
65    Image ruohoKattoVasenKuva = LoadImage("RuohoKattoVasen");
66    Image ruohoKattoOikeaKuva = LoadImage("RuohoKattoOikea");
67    Image ruohoSeinaKuva = LoadImage("RuohoSeina");
68    //Image ruohoKuva = LoadImage("Ruoho2");
69
70    Image maaKuva = LoadImage("Maa2");
71    Image maaVasenReunaKuva = LoadImage("MaaVasenReuna");
72    Image maaOikeaReunaKuva = LoadImage("MaaOikeaReuna");
73    Image maaVasenAlaKulmaKuva = LoadImage("MaaVasenAlaKulma");
74    Image maaOikeaAlaKulmaKuva = LoadImage("MaaOikeaAlaKulma");
75    Image maaAlaReunaKuva = LoadImage("MaaAlaReuna");
76    Image maaSeinaKuva = LoadImage("MaaSeina");
77
78    Image tiiliRuskeaKuva = LoadImage("TiiliRuskea");
79    Image tiiliHarmaaKuva = LoadImage("TiiliHarmaa");
80    Image tiiliSininenKuva = LoadImage("TiiliSininen");
81    Image secretTiiliKuva = LoadImage("SecretTiili");
82
83    //Image laavaKuva = LoadImage("Laava");
84    //Image laavaKeskiKuva = LoadImage("LaavaKeski");
85
86    Image puuYlaKuva = LoadImage("PuuYla");
87    Image puuKeskiKuva = LoadImage("PuuKeski");
88    Image puuAlaKuva = LoadImage("PuuAla");
89
90    SoundEffect maaliAani = LoadSoundEffect("maali");
91
92    int kenttaNro = 1;
93
94    public override void Begin()
95    {
96        SeuraavaKentta();
97    }
98
99    void SeuraavaKentta()
100    {
101        ClearAll();
102
103        Gravity = new Vector(0, -1500);
104        if (kenttaNro == 1) LuoKentta("kentta1");
105        else if (kenttaNro == 2) LuoKentta("kentta2");
106        else if (kenttaNro > 2) Exit();
107
108        Camera.Follow(pelaaja1);
109        Camera.Zoom(2.1);
110        Camera.StayInLevel = true;
111
112        LisaaElamaLaskuri();
113        LisaaNappaimet();
114    }
115
116    void LuoKentta(String kentanNimi)
117    {
118        TileMap kentta = TileMap.FromLevelAsset(kentanNimi);
119        kentta.SetTileMethod('/', LisaaTaso, ruohoKuva);
120        kentta.SetTileMethod('J', LisaaTaso, ruohoOikeaYlaKuva);
121        kentta.SetTileMethod('E', LisaaTaso, ruohoVasenYlaKuva);
122        kentta.SetTileMethod('T', LisaaTaso, ruohoKattoKuva);
123        kentta.SetTileMethod('I', LisaaTaso, ruohoKattoOikeaKuva);
124        kentta.SetTileMethod('P', LisaaTaso, ruohoKattoVasenKuva);
125        kentta.SetTileMethod('L', LisaaTaso, ruohoSeinaKuva);
126
127        kentta.SetTileMethod('#', LisaaMaa, maaKuva);
128        kentta.SetTileMethod('Q', LisaaMaa, maaVasenReunaKuva);
129        kentta.SetTileMethod('A', LisaaMaa, maaOikeaReunaKuva);
130        kentta.SetTileMethod('Z', LisaaMaa, maaVasenAlaKulmaKuva);
131        kentta.SetTileMethod('X', LisaaMaa, maaOikeaAlaKulmaKuva);
132        kentta.SetTileMethod('V', LisaaMaa, maaAlaReunaKuva);
133        kentta.SetTileMethod('O', LisaaMaa, maaSeinaKuva);
134
135        kentta.SetTileMethod('%', LisaaTiili);
136        kentta.SetTileMethod('(', LisaaRuskeaTiili);
137        kentta.SetTileMethod('>', LisaaVanishTiili);
138        kentta.SetTileMethod('U', LisaaSecretTiili);
139        //kentta.SetTileMethod('!', LisaaPalikka);
140        //kentta.SetTileMethod('S', LisaaKytkin);
141
142        //kentta.SetTileMethod('@', LisaaLaava);
143        //kentta.SetTileMethod('&', LisaaLaavaKeski);
144        kentta.SetTileMethod('*', LisaaTahti);
145
146        kentta.SetTileMethod('G', LisaaMaali);
147        kentta.SetTileMethod('H', LisaaTaustaobjekti, puuYlaKuva);
148        kentta.SetTileMethod('C', LisaaTaustaobjekti, puuKeskiKuva);
149        kentta.SetTileMethod('D', LisaaTaustaobjekti, puuAlaKuva);
150        kentta.SetTileMethod('K', LisaaKynttila);
151
152        kentta.SetTileMethod('N', LisaaPelaaja);
153        kentta.SetTileMethod('1', LisaaKasviVihu);
154        kentta.SetTileMethod('2', LisaaEvilKirkle);
155        //kentta.SetTileMethod('3', LisaaHenki);
156        //kentta.SetTileMethod('4', LisaaLepakko);
157        //kentta.SetTileMethod('5', LisaaToteemi);
158        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
159        Level.CreateBorders();
160        if (kentanNimi.Equals("kentta1"))
161            Level.Background.Color = Color.LightBlue;
162        if (kentanNimi.Equals("kentta2"))
163            Level.Background.Color = Color.Black;
164    }
165
166    void LisaaTaso(Vector paikka, double leveys, double korkeus, Image lisattavaKuva)
167    {
168        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
169        taso.Position = paikka;
170        taso.Color = Color.Green;
171        taso.Image = lisattavaKuva;
172        taso.CollisionIgnoreGroup = 1;
173        Add(taso);
174    }
175
176    void LisaaMaa(Vector paikka, double leveys, double korkeus, Image lisattavaKuva)
177    {
178        PhysicsObject maa = PhysicsObject.CreateStaticObject(leveys, korkeus);
179        maa.Position = paikka;
180        maa.Color = Color.DarkBrown;
181        maa.Image = lisattavaKuva;
182        maa.CollisionIgnoreGroup = 1;
183        Add(maa);
184    }
185
186    void LisaaTiili(Vector paikka, double leveys, double korkeus)
187    {
188        PhysicsObject tiili = PhysicsObject.CreateStaticObject(leveys, korkeus);
189        tiili.Position = paikka;
190        tiili.CollisionIgnoreGroup = 1;
191        tiili.Color = Color.Brown;
192        tiili.Image = tiiliHarmaaKuva;
193        Add(tiili);
194    }
195
196    void LisaaRuskeaTiili(Vector paikka, double leveys, double korkeus)
197    {
198        PhysicsObject ruskeaTiili = PhysicsObject.CreateStaticObject(leveys, korkeus);
199        ruskeaTiili.Position = paikka;
200        ruskeaTiili.CollisionIgnoreGroup = 1;
201        ruskeaTiili.Color = Color.Brown;
202        ruskeaTiili.Image = tiiliRuskeaKuva;
203        Add(ruskeaTiili);
204    }
205    void LisaaVanishTiili(Vector paikka, double leveys, double korkeus)
206    {
207        PhysicsObject vanishtiili = PhysicsObject.CreateStaticObject(leveys, korkeus);
208        vanishtiili.Position = paikka;
209        vanishtiili.CollisionIgnoreGroup = 1;
210        vanishtiili.Color = Color.Crimson;
211        vanishtiili.Image = tiiliSininenKuva;
212        vanishtiili.IsVisible = false;
213        Add(vanishtiili);
214    }
215
216    void LisaaSecretTiili(Vector paikka, double leveys, double korkeus)
217    {
218        PhysicsObject secretTiili = PhysicsObject.CreateStaticObject(leveys, korkeus);
219        secretTiili.Position = paikka;
220        secretTiili.CollisionIgnoreGroup = 2;
221        secretTiili.IgnoresGravity = true;
222        secretTiili.IgnoresPhysicsLogics = true;
223        secretTiili.IgnoresCollisionResponse = true;
224        secretTiili.Color = Color.Brown;
225        secretTiili.Image = secretTiiliKuva;
226        Add(secretTiili, 1);
227    }
228
229    /*void LisaaPalikka(Vector paikka, double leveys, double korkeus)
230    {
231        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
232        palikka.Position = paikka;
233        palikka.CollisionIgnoreGroup = 1;
234        palikka.Color = Color.Yellow;
235        palikka.Image = palikkaKuva;
236        Add(palikka);
237    }
238
239    void LisaaKytkin(Vector paikka, double leveys, double korkeus)
240    {
241        PhysicsObject kytkin = PhysicsObject.CreateStaticObject(leveys, korkeus);
242        kytkin.Position = paikka;
243        kytkin.CollisionIgnoreGroup = 1;
244        kytkin.Color = Color.Red;
245        kytkin.Image = kytkinKuva;
246        Add(kytkin);
247    }*/
248
249    /*void LisaaLaava(Vector paikka, double leveys, double korkeus)
250    {
251        PhysicsObject laava = PhysicsObject.CreateStaticObject(leveys, korkeus);
252        laava.Position = paikka;
253        laava.Color = Color.Red;
254        laava.Animation = new Animation(laavaPintaKuplii);
255        laava.Animation.Start();
256        laava.Animation.FPS = 10;
257        laava.CollisionIgnoreGroup = 1;
258        laava.Tag = "laava";
259        Add(laava);
260    }
261
262    void LisaaLaavaKeski(Vector paikka, double leveys, double korkeus)
263    {
264        PhysicsObject laavaKeski = PhysicsObject.CreateStaticObject(leveys, korkeus);
265        laavaKeski.Position = paikka;
266        laavaKeski.Color = Color.Red;
267        laavaKeski.Animation = new Animation(laavaKuplii);
268        laavaKeski.Animation.Start();
269        laavaKeski.Animation.FPS = 10;
270        laavaKeski.CollisionIgnoreGroup = 1;
271        Add(laavaKeski);
272    }*/
273
274    void LisaaTahti(Vector paikka, double leveys, double korkeus)
275    {
276        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys * 0.55, korkeus * 0.9);
277        tahti.IgnoresCollisionResponse = true;
278        tahti.Position = paikka;
279        tahti.Image = tahtiKuva;
280        tahti.Tag = "tahti";
281        Add(tahti);
282    }
283
284    void LisaaMaali(Vector paikka, double leveys, double korkeus)
285    {
286        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
287        maali.Position = paikka;
288        maali.Color = Color.Magenta;
289        maali.Animation = new Animation(maalianimaatio);
290        maali.Animation.Start();
291        maali.Animation.FPS = 5;
292        maali.CollisionIgnoreGroup = 1;
293        maali.Tag = "maali";
294        Add(maali);
295    }
296
297    void LisaaTaustaobjekti(Vector paikka, double leveys, double korkeus, Image lisattavaKuva)
298    {
299        PhysicsObject taustaobjekti = PhysicsObject.CreateStaticObject(leveys, korkeus);
300        taustaobjekti.Position = paikka;
301        taustaobjekti.Color = Color.JungleGreen;
302        taustaobjekti.CollisionIgnoreGroup = 2;
303        taustaobjekti.IgnoresGravity = true;
304        taustaobjekti.IgnoresPhysicsLogics = true;
305        taustaobjekti.IgnoresCollisionResponse = true;
306        taustaobjekti.Image = lisattavaKuva;
307        Add(taustaobjekti, -1);
308    }
309
310    void LisaaKynttila(Vector paikka, double leveys, double korkeus)
311    {
312        PhysicsObject kynttila = PhysicsObject.CreateStaticObject(leveys, korkeus);
313        kynttila.Position = paikka;
314        kynttila.Color = Color.Orange;
315        kynttila.CollisionIgnoreGroup = 2;
316        kynttila.IgnoresGravity = true;
317        kynttila.IgnoresPhysicsLogics = true;
318        kynttila.IgnoresCollisionResponse = true;
319        kynttila.Animation = new Animation(kynttilanvalo);
320        kynttila.Animation.Start();
321        kynttila.Animation.FPS = 8;
322        Add(kynttila, -1);
323
324    }
325
326    void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
327    {
328        pelaaja1 = new Pelaaja(leveys * 0.9, korkeus * 2);
329        pelaaja1.Liikkumisnopeus = 250;
330        pelaaja1.Hyppynopeus = 1100;
331        pelaaja1.AnimWalk = new Animation(AbillyKavely);
332        pelaaja1.AnimJump = new Animation(AbillyHyppy);
333        pelaaja1.AnimFall = new Animation(AbillyPudotus);
334        pelaaja1.AnimIdle = new Animation(AbillyIdle);
335        //pelaaja1.Animation.Start();
336        //pelaaja1.Animation.Stop();
337        pelaaja1.AnimWalk.FPS = 7;
338        pelaaja1.AnimJump.FPS = 10;
339        pelaaja1.AnimFall.FPS = 10;
340        pelaaja1.Position = paikka;
341        pelaaja1.Mass = 4.0;
342        pelaaja1.Restitution = 0.1;
343        pelaaja1.Image = pelaajanKuva;
344        //pelaaja1.CollisionIgnoreGroup = 2;
345        AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen);
346        AddCollisionHandler(pelaaja1, "vihollinen", TormaaVihuun);
347        //AddCollisionHandler(pelaaja1, "laava", TormaaLaavaan);
348        AddCollisionHandler(pelaaja1, "maali", delegate(PhysicsObject p, PhysicsObject p2)
349        {
350            kenttaNro++;
351            SeuraavaKentta();
352        });
353        Add(pelaaja1);
354
355        //LisaaHuiviRuoska(Vector.Zero, leveys, korkeus);
356    }
357
358    void LisaaHuiviRuoska(double leveys, double korkeus)
359    {
360        PhysicsObject huiviRuoska = new PhysicsObject(leveys * 2, korkeus * 0.55);
361        huiviRuoska.X = pelaaja1.X + pelaaja1.Width / 2 + huiviRuoska.Width / 2;
362        huiviRuoska.Y = pelaaja1.Y + 7;
363        huiviRuoska.Image = huivinKuva;
364        huiviRuoska.Color = Color.Yellow;
365        huiviRuoska.LifetimeLeft = TimeSpan.FromMilliseconds(250);
366        huiviRuoska.IgnoresGravity = true;
367        huiviRuoska.IgnoresCollisionResponse = true;
368        Add(huiviRuoska);
369    }
370
371    /*void LisaaHuiviPropelli(double leveys, double korkeus)
372    {
373        PhysicsObject huiviPropelli = new PhysicsObject(leveys * 2, korkeus * 0.65);
374        huiviPropelli.Color = Color.DarkYellow;
375        huiviPropelli.IgnoresGravity = true;
376        huiviPropelli.IgnoresCollisionResponse = true;
377        Add(huiviPropelli);
378    }*/
379
380    void LisaaKasviVihu(Vector paikka, double leveys, double korkeus)
381    {
382        Vihu kasviVihu = new Vihu(leveys, korkeus);
383        kasviVihu.Position = paikka;
384        kasviVihu.Color = Color.Green;
385        kasviVihu.Animation = new Animation(kasviVihuWalk);
386        kasviVihu.Animation.Start();
387        kasviVihu.Animation.FPS = 7;
388        kasviVihu.CollisionIgnoreGroup = 2;
389        kasviVihu.Tag = "vihollinen";
390        Add(kasviVihu);
391
392        PlatformWandererBrain tasoAivot1 = new PlatformWandererBrain();
393        tasoAivot1.Speed = 75;
394        tasoAivot1.FallsOffPlatforms = false;
395        //tasoAivot1.TurnWhileMoving = false;
396
397        kasviVihu.Brain = tasoAivot1;
398    }
399
400    void LisaaEvilKirkle(Vector paikka, double leveys, double korkeus)
401    {
402        Vihu evilKirkle = new Vihu(leveys * 1.1, korkeus * 0.85);
403        evilKirkle.Position = paikka;
404        evilKirkle.Color = Color.Purple;
405        evilKirkle.Animation = new Animation(pahaKirkleWalk);
406        evilKirkle.Animation.Start();
407        evilKirkle.Animation.FPS = 7;
408        evilKirkle.Tag = "vihollinen";
409        Add(evilKirkle);
410
411        PlatformWandererBrain tasoAivot2 = new PlatformWandererBrain();
412        tasoAivot2.Speed = 100;
413        tasoAivot2.FallsOffPlatforms = false;
414        //tasoAivot2.TurnWhileMoving = false;
415
416        evilKirkle.Brain = tasoAivot2;
417    }
418
419    /*void LisaaHenki(Vector paikka, double leveys, double korkeus)
420    {
421        Vihu henki = new Vihu(leveys, korkeus);
422        henki.Position = paikka;
423        henki.Color = Color.Rose;
424        henki.Animation = new Animation(henkiAnimaatio);
425        henki.Animation.Start();
426        henki.Animation.FPS = 10;
427        henki.Tag = "vihollinen";
428        //henki.IgnoresGravity = true;
429        henki.IgnoresPhysicsLogics = true;
430        Add(henki);
431    }*/
432
433    /*void LisaaLepakko(Vector paikka, double leveys, double korkeus)
434    {
435        Vihu lepakko = new Vihu(leveys * 2, korkeus);
436        lepakko.Position = paikka;
437        lepakko.Color = Color.DarkAzure;
438        lepakko.Animation = new Animation(lepakkoAnimaatio);
439        lepakko.Animation.Start();
440        lepakko.Animation.FPS = 7;
441        lepakko.Tag = "vihollinen";
442        lepakko.IgnoresGravity = true;
443        Add(lepakko);
444
445        FollowerBrain seuraajanAivot2 = new FollowerBrain("pelaaja1");
446        seuraajanAivot2.Speed = 300;
447        seuraajanAivot2.DistanceFar = 600;
448        seuraajanAivot2.Active = true;
449
450        lepakko.Brain = seuraajanAivot2;
451    }*/
452
453    /*void LisaaToteemi(Vector paikka, double leveys, double korkeus)
454    {
455        Vihu toteemi = new Vihu(leveys * 2, korkeus * 3);
456        toteemi.Position = paikka;
457        toteemi.Color = Color.DarkAzure;
458        toteemi.Animation = new Animation(toteemiAnimaatio);
459        toteemi.Animation.Start();
460        toteemi.Animation.FPS = 5;
461        toteemi.Tag = "vihollinen";
462        Add(toteemi);
463
464        PlatformWandererBrain tasoAivot3 = new PlatformWandererBrain();
465        tasoAivot3.Speed = 120;
466        tasoAivot3.FallsOffPlatforms = false;
467
468        toteemi.Brain = tasoAivot3;
469
470        Timer ajastin = new Timer();
471        ajastin.Interval = 5;
472        ajastin.Timeout += delegate { ToteemiHyppaa(toteemi, 900); };
473        ajastin.Start();
474    }*/
475
476    void LisaaElamaLaskuri()
477    {
478        elamaLaskuri = new DoubleMeter(5);
479        elamaLaskuri.MaxValue = 5;
480        //elamaLaskuri.LowerLimit += ElamaLoppui;
481
482        ProgressBar elamaPalkki = new ProgressBar(150, 30);
483        elamaPalkki.X = Screen.Left + 20;
484        elamaPalkki.Y = Screen.Top - 20;
485        elamaPalkki.Angle = Angle.RightAngle;
486        elamaPalkki.Color = Color.Black;
487        elamaPalkki.BarColor = Color.Red;
488        elamaPalkki.BindTo(elamaLaskuri);
489        Add(elamaPalkki, 3);
490    }
491
492    void LisaaKolikkoLaskuri()
493    {
494        kolikkoLaskuri = new IntMeter(0);
495
496        Label kolikkoNaytto = new Label();
497        kolikkoNaytto.Title = "Coin";
498        //kolikkoNaytto.InFormatString = "Coin: {0:D2}";
499        kolikkoNaytto.X = Screen.Right - 80;
500        kolikkoNaytto.Y = Screen.Top - 20;
501        kolikkoNaytto.TextColor = Color.White;
502        kolikkoNaytto.Color = Color.Transparent;
503
504        kolikkoNaytto.BindTo(kolikkoLaskuri);
505        Add(kolikkoNaytto);
506    }
507
508    void LisaaNappaimet()
509    {
510        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
511        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
512
513        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -1);
514        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, 1);
515        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1);
516        //Keyboard.Listen(Key.Up, ButtonState.Down, Liitele, "Liitelee huivipropellilla", pelaaja1);
517        Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyokkaa, "Iskee huiviruoskalla", pelaaja1);
518        //Keyboard.Listen(Key.Space, ButtonState.Released, RuoskaKatoaa, null, pelaaja1);
519        Keyboard.Listen(Key.Down, ButtonState.Pressed, Kyyristy, "Pelaaja kyyristyy", pelaaja1);
520        Keyboard.Listen(Key.Down, ButtonState.Released, Nouse, "Pelaaja kyyristyy", pelaaja1);
521        //Keyboard.Listen(Key.Down + Key.Left, ButtonState.Down, Ryomi, "Ryömii vasemmalle", pelaaja1, -nopeus);
522
523
524        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
525
526        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -1);
527        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, 1);
528        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1);
529        //ControllerOne.Listen(Button.A, ButtonState.Down, Liitele, "Liitelee huivipropellilla", pelaaja1);
530        ControllerOne.Listen(Button.Y, ButtonState.Pressed, Hyokkaa, "Iskee huiviruoskalla", pelaaja1);
531        ControllerOne.Listen(Button.DPadDown, ButtonState.Pressed, Kyyristy, "Pelaaja kyyristyy", pelaaja1);
532        ControllerOne.Listen(Button.DPadDown, ButtonState.Released, Nouse, "Pelaaja kyyristyy", pelaaja1);
533        //ControllerOne.Listen();
534
535        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
536    }
537
538    void Liikuta(Pelaaja hahmo, int suunta)
539    {
540        hahmo.Walk(suunta * hahmo.Liikkumisnopeus);
541    }
542
543    void Hyppaa(Pelaaja hahmo)
544    {
545        hahmo.Jump(hahmo.Hyppynopeus);
546    }
547
548    void Hyokkaa(Pelaaja hahmo)
549    {
550        LisaaHuiviRuoska(RUUDUN_KOKO, RUUDUN_KOKO);
551        //pelaaja1.Image = hyokkaysKuva;
552    }
553
554    void Kyyristy(Pelaaja hahmo)
555    {
556        hahmo.Liikkumisnopeus /= 1.5;
557        hahmo.Size = new Vector(hahmo.Width * 1.7, hahmo.Height * 0.5);
558        hahmo.Animation = new Animation(AbillyKyyristys);
559        //hahmo.Animation.Start();
560    }
561    void Nouse(Pelaaja hahmo)
562    {
563        hahmo.Liikkumisnopeus *= 1.5;
564        hahmo.Size = new Vector(hahmo.Width / 1.7, hahmo.Height / 0.5);
565    }
566
567    /*void Liitele(PlatformCharacter hahmo)
568    {
569    }*/
570
571    /*void ToteemiHyppaa(Vihu toteemi, double nopeus)
572    {
573        toteemi.Jump(nopeus);
574    }*/
575
576    void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)
577    {
578        maaliAani.Play();
579        MessageDisplay.Add("Keräsit hedelmän!");
580        tahti.Destroy();
581    }
582
583    void TormaaVihuun(PhysicsObject hahmo, PhysicsObject Vihu)
584    {
585        //pelaaja1.Animation.FPS = 7;
586        //pelaaja1.PlayAnimation(new Animation(kirkleKipu));
587    }
588
589    /*void TormaaLaavaan(PhysicsObject hahmo, PhysicsObject laava)
590    {
591
592    }*/
593}
Note: See TracBrowser for help on using the repository browser.