source: 2015/26/RonjaT/Myohassa/Myohassa/Myohassa/Myohassa.cs @ 6380

Revision 6380, 6.9 KB checked in by rokatuov, 5 years ago (diff)

ukot liikkuu, pahikset ei...

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Myohassa : PhysicsGame
10{
11    const double nopeus = 200;
12    const double hyppyNopeus = 750;
13    const int RUUDUN_KOKO = 40;
14
15    PlatformCharacter pelaaja1;
16    PlatformCharacter pelaaja2;
17
18    Image pelaajanKuva = LoadImage("norsu");
19    Image tahtiKuva = LoadImage("tahti");
20    Image EmmaKuva = LoadImage("Emma");
21    Image JeremiKuva = LoadImage("Jeremi");
22    Image Haakimppukuva = LoadImage("Haakimppu");
23    Image Kakku = LoadImage("kakku");
24    Image LukaKuva = LoadImage("Luka");
25    Image etanaKuva = LoadImage("Etana");
26    Image kakkaKuva = LoadImage("kakka");
27   
28    SoundEffect maaliAani = LoadSoundEffect("maali");
29
30    public override void Begin()
31    {
32        Gravity = new Vector(0, -1000);
33
34        LuoKentta();
35        LisaaNappaimet();
36
37        Camera.Follow(pelaaja1, pelaaja2);
38        Camera.ZoomFactor =1.7;
39        Camera.StayInLevel = true;
40    }
41
42    void LuoKentta()
43    {
44        TileMap kentta = TileMap.FromLevelAsset("kentta1");
45        kentta.SetTileMethod('#', LisaaTaso);
46        kentta.SetTileMethod('E', LisaaPelaaja1, EmmaKuva);
47        kentta.SetTileMethod('J', LisaaPelaaja2, JeremiKuva);
48        kentta.SetTileMethod('H', LisaaHaakimppu);
49        kentta.SetTileMethod('K', LisaaKakku);
50        kentta.SetTileMethod('L', LisaaLuka);
51        kentta.SetTileMethod('&', LisaaEtana);
52        kentta.SetTileMethod('<', LisaaKakka);
53       
54
55       
56        kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO);
57        Level.CreateBorders();
58        Level.Background.CreateGradient(Color.Red, Color.Black);
59    }
60
61    void LisaaTaso(Vector paikka, double leveys, double korkeus)
62    {
63        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
64        taso.Position = paikka;
65        taso.Color = Color.Green;
66        Add(taso);
67    }
68
69   
70
71    void LisaaHaakimppu(Vector paikka, double leveys, double korkeus)
72    {
73        PhysicsObject haakimppu = PhysicsObject.CreateStaticObject(leveys, korkeus);
74        haakimppu.IgnoresCollisionResponse = true;
75        haakimppu.Position = paikka;
76        haakimppu.Image = Haakimppukuva;
77        haakimppu.Tag = "Haakimppu";
78        Add(haakimppu);
79    }
80
81    void LisaaKakku(Vector paikka, double leveys, double korkeus)
82    {
83        PhysicsObject kakku = PhysicsObject.CreateStaticObject(leveys, korkeus);
84        kakku.IgnoresCollisionResponse = true;
85        kakku.Position = paikka;
86        kakku.Image = Kakku;
87        kakku.Tag = "kakku";
88        Add(kakku);
89    }
90   
91   
92    void LisaaLuka(Vector paikka, double leveys, double korkeus)
93    {
94        PhysicsObject Luka = PhysicsObject.CreateStaticObject(leveys, korkeus);
95        Luka.IgnoresCollisionResponse = true;
96        Luka.Position = paikka;
97        Luka.Image = LukaKuva;
98        Luka.Tag = "Luka";
99        Add(Luka);
100    }
101    void LisaaEtana(Vector paikka, double leveys, double korkeus)
102    {
103        LisaaPahis(paikka, leveys, korkeus, etanaKuva, "Etana");
104       
105    }
106
107    void LisaaKakka(Vector paikka, double leveys, double korkeus)
108    {
109        LisaaPahis(paikka, leveys, korkeus, kakkaKuva, "kakka");
110    }
111
112   
113    void LisaaPahis(Vector paikka, double leveys, double korkeus, Image hahmonKuva, String tag)
114    {
115        PhysicsObject pahis = PhysicsObject.CreateStaticObject(leveys, korkeus);
116        pahis.IgnoresCollisionResponse = true;
117        pahis.Position = paikka;
118        pahis.Image = hahmonKuva;
119        pahis.Tag = tag;
120        Add(pahis);
121    }
122    void LisaaPelaaja1(Vector paikka, double leveys, double korkeus, Image hahmonKuva)
123    {
124        pelaaja1 = new PlatformCharacter(leveys*0.5, korkeus);
125        pelaaja1.Position = paikka;
126        pelaaja1.Mass = 4.0;
127        pelaaja1.Image = EmmaKuva;
128        AddCollisionHandler(pelaaja1,"Haakimppu",TormaaEsineeseen);
129        AddCollisionHandler(pelaaja1, "kakku", TormaaEsineeseen);
130        AddCollisionHandler(pelaaja1, "Etana", TormaaPahikseen);
131        AddCollisionHandler(pelaaja1, "kakka", TormaaPahikseen);
132        AddCollisionHandler(pelaaja1, "Silma",TormaaPahikseen);
133
134        Add(pelaaja1);
135
136
137    }
138    void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde)
139    {
140        MessageDisplay.Add("Keräsit Hääkimpun");
141    }
142   
143    void LisaaPelaaja2(Vector paikka, double leveys, double korkeus, Image hahmonKuva)
144    {
145        pelaaja2 = new PlatformCharacter(leveys * 0.5, korkeus);
146        pelaaja2.Position = paikka;
147        pelaaja2.Mass = 4.0;
148        pelaaja2.Image = JeremiKuva;
149        AddCollisionHandler(pelaaja2, "Haakimppu", TormaaEsineeseen);
150        AddCollisionHandler(pelaaja2, "kakku", TormaaEsineeseen);
151        AddCollisionHandler(pelaaja2, "Etana", TormaaPahikseen);
152        AddCollisionHandler(pelaaja2, "kakka", TormaaPahikseen);
153        AddCollisionHandler(pelaaja2, "Silma", TormaaPahikseen);
154
155        Add(pelaaja2);
156
157
158    }
159
160    void LisaaNappaimet()
161    {
162        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
163        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
164
165        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
166        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja1, nopeus);
167        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
168
169        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus);
170        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu oikealle", pelaaja2, nopeus);
171        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus);
172
173        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
174
175        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);
176        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);
177        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);
178
179        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
180    }
181
182    void Liikuta(PlatformCharacter hahmo, double nopeus)
183    {
184        hahmo.Walk(nopeus);
185    }
186
187    void Hyppaa(PlatformCharacter hahmo, double nopeus)
188    {
189        hahmo.Jump(600);
190    }
191
192    void TormaaEsineeseen(PhysicsObject hahmo, PhysicsObject esine)
193    {
194        maaliAani.Play();
195        MessageDisplay.Add("Keräsit esineen!");
196        esine.Destroy();
197    }
198
199    void TormaaPahikseen(PhysicsObject hahmo, PhysicsObject pahis)
200    {
201        maaliAani.Play();
202        MessageDisplay.Add("Voi ei- Kuolit!!");
203        hahmo.Destroy();
204    }
205
206   
207}
Note: See TracBrowser for help on using the repository browser.