source: 2013/26/AleksiP/tasohyppely/tasohyppely/tasohyppely/tasohyppely/tasohyppely.cs @ 4299

Revision 4299, 9.1 KB checked in by alpynnon, 7 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class tasohyppely : PhysicsGame
10{
11
12    Image kukelinKuva = LoadImage("kukeli");
13
14
15    PlatformCharacter kukeli;
16
17
18
19
20    public override void Begin()
21    {
22
23        LuoKentta();
24        AsetaOhjaimet();
25
26
27
28
29    }
30
31    void LuoKentta()
32    {
33        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("pelikentta");
34
35        ruudut.SetTileMethod("B200FF", Luokukeli);
36        ruudut.SetTileMethod(Color.Black, LuoTaso);
37        ruudut.SetTileMethod(Color.Green, LuoOlio);
38        ruudut.SetTileMethod(Color.Red, LuoLaava);
39        ruudut.SetTileMethod("0026FF", LuoTahti);
40        ruudut.SetTileMethod("FFFF00", LuoMaali);
41
42        ruudut.Execute(20, 20);
43
44        Gravity = new Vector(0, -600);
45
46        Camera.Follow(kukeli);
47
48        Camera.StayInLevel = true;
49    }
50
51
52
53
54    void Luokukeli(Vector Paikka, double leveys, double korkeus)
55    {
56        kukeli = new PlatformCharacter(20, 20);
57        kukeli.Position = Paikka;
58        Add(kukeli);
59        AddCollisionHandler(kukeli, "Tahti", TormaaTahteen);
60        AddCollisionHandler(kukeli, "Laava", TormaaLaavaan);
61        AddCollisionHandler(kukeli, "Maali", TormaaMaaliin);
62        kukeli.Image = kukelinKuva;
63        AddCollisionHandler(kukeli, "Laava2", TormaaLaavaan2);
64        AddCollisionHandler(kukeli, "Tahti2", TormaaTahteen);
65        AddCollisionHandler(kukeli, "Maali2", TormaaMaaliin2);
66        AddCollisionHandler(kukeli, "Laava3", TormaaLaavaan3);
67        AddCollisionHandler(kukeli, "Tahti3", TormaaTahteen);
68        AddCollisionHandler(kukeli, "Maali3", TormaaMaaliin3);
69    }
70
71
72
73
74
75
76
77
78
79
80
81
82    void LuoLaava(Vector paikka, double leveys, double korkeus)
83    {
84        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
85        pelikentta.Position = paikka;
86        pelikentta.Color = Color.Red;
87        pelikentta.CollisionIgnoreGroup = 1;
88        Add(pelikentta);
89        pelikentta.Tag = "Laava";
90    }
91
92
93
94    void TormaaLaavaan(PhysicsObject Pelaaja, PhysicsObject Laava)
95    {
96        Pelaaja.Destroy();
97        AloitaAlusta();
98    }
99
100    void TormaaLaavaan2(PhysicsObject Pelaaja, PhysicsObject Laava2)
101    {
102        Pelaaja.Destroy();
103        AloitaAlusta2();
104
105    }
106    void TormaaMaaliin(PhysicsObject Pelaaja, PhysicsObject Maali)
107    {
108        SeuraavaKentta();
109
110    }
111
112
113
114
115
116
117
118    void AloitaAlusta()
119    {
120        ClearAll();
121        LuoKentta();
122        AsetaOhjaimet();
123
124    }
125
126    void TormaaTahteen(PhysicsObject pelaaja, PhysicsObject Tahti)
127    {
128        Tahti.Destroy();
129
130    }
131
132    void LuoTahti(Vector paikka, double leveys, double korkeus)
133    {
134        PhysicsObject olio = PhysicsObject.CreateStaticObject(leveys, korkeus);
135        olio.Position = paikka;
136        olio.Color = Color.Yellow;
137        olio.Shape = Shape.Star;
138        Add(olio);
139        olio.IgnoresCollisionResponse = true;
140        olio.Tag = "Tahti";
141    }
142
143    void LuoMaali(Vector paikka, double leveys, double korkeus)
144    {
145        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
146        pelikentta.Position = paikka;
147        pelikentta.Color = Color.Blue;
148        pelikentta.CollisionIgnoreGroup = 1;
149        Add(pelikentta);
150        pelikentta.Tag = "Maali";
151        pelikentta.Shape = Shape.Diamond;
152    }
153
154    void LuoTaso(Vector paikka, double leveys, double korkeus)
155    {
156        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
157        pelikentta.Position = paikka;
158        pelikentta.Color = Color.Black;
159        pelikentta.CollisionIgnoreGroup = 1;
160        Add(pelikentta);
161    }
162
163    void LuoOlio(Vector paikka, double leveys, double korkeus)
164    {
165        PhysicsObject Olio = new PhysicsObject(5, 5);
166        Olio.IgnoresCollisionResponse = true;
167        Olio.Position = paikka;
168
169        Olio.Tag = "olio";
170
171    }
172
173    void AsetaOhjaimet()
174    {
175        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "kukeli liikkuu vasemmalle", -200.0);
176        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "kukeli liikkuu vasemmalle", 200.0);
177        Keyboard.Listen(Key.Up, ButtonState.Down, Hyppaa, "kukeli liikkuu vasemmalle", 650.0);
178        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
179        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
180    }
181
182    void Liikuta(double nopeus)
183    {
184        kukeli.Walk(nopeus);
185    }
186
187    void Hyppaa(double nopeus)
188    {
189        kukeli.Jump(nopeus);
190    }
191
192    void SeuraavaKentta()
193    {
194        ClearAll();
195        AsetaOhjaimet();
196        Luokentta2();
197
198
199    }
200
201    void Luokentta2()
202    {
203        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("pelikentta2");
204
205        ruudut.SetTileMethod(Color.Red, LuoLaava2);
206        ruudut.SetTileMethod(Color.Black, LuoTaso);
207        ruudut.SetTileMethod("B200F0", Luokukeli);
208        ruudut.SetTileMethod("0026FF", LuoTahti2);
209        ruudut.SetTileMethod("FFF31E", LuoMaali2);
210
211        ruudut.Execute(20, 20);
212
213        Gravity = new Vector(0, -600);
214
215        Camera.Follow(kukeli);
216
217        Camera.StayInLevel = true;
218    }
219
220    void LuoLaava2(Vector paikka, double leveys, double korkeus)
221    {
222
223        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
224        pelikentta.Position = paikka;
225        pelikentta.Color = Color.Red;
226        pelikentta.CollisionIgnoreGroup = 1;
227        Add(pelikentta);
228        pelikentta.Tag = "Laava2";
229
230
231    }
232
233    void LuoTahti2(Vector paikka, double leveys, double korkeus)
234    {
235        PhysicsObject olio = PhysicsObject.CreateStaticObject(leveys, korkeus);
236        olio.Position = paikka;
237        olio.Color = Color.Yellow;
238        olio.Shape = Shape.Star;
239        Add(olio);
240        olio.IgnoresCollisionResponse = true;
241        olio.Tag = "Tahti2";
242    }
243
244    void AloitaAlusta2()
245    {
246        ClearAll();
247        AsetaOhjaimet();
248        Luokentta2();
249    }
250
251
252
253
254    void LuoMaali2(Vector paikka, double leveys, double korkeus)
255    {
256        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
257        pelikentta.Position = paikka;
258        pelikentta.Color = Color.Green;
259        pelikentta.CollisionIgnoreGroup = 1;
260        Add(pelikentta);
261        pelikentta.Tag = "Maali2";
262        pelikentta.Shape = Shape.Rectangle;
263
264    }
265
266    void TormaaMaaliin2(PhysicsObject Pelaaja, PhysicsObject Maali)
267    {
268        SeuraavaKentta2();
269
270    }
271
272    void SeuraavaKentta2()
273    {
274        ClearAll();
275        AsetaOhjaimet();
276        LuoKentta3();
277    }
278
279    void LuoKentta3()
280    {
281        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("pelikentta3");
282
283        ruudut.SetTileMethod("FF00DC", Luokukeli);
284        ruudut.SetTileMethod(Color.Black, LuoTaso3);
285        ruudut.SetTileMethod("FFD800", LuoTahti3);
286        ruudut.SetTileMethod(Color.Red, LuoLaava3);
287        ruudut.SetTileMethod("0094FF", LuoMaali3);
288        ruudut.Optimize(Color.Red);
289        ruudut.Optimize(Color.Black);
290        ruudut.Execute(20, 20);
291
292        Gravity = new Vector(0, -600);
293
294        Camera.Follow(kukeli);
295
296        Camera.StayInLevel = true;
297
298    }
299
300    void LuoMaali3(Vector paikka, double leveys, double korkeus)
301    {
302        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
303        pelikentta.Position = paikka;
304        pelikentta.Color = Color.Blue;
305        pelikentta.CollisionIgnoreGroup = 1;
306        Add(pelikentta);
307        pelikentta.Tag = "Maali3";
308        pelikentta.Shape = Shape.Diamond;
309
310
311    }
312    void TormaaMaaliin3(PhysicsObject Pelaaja, PhysicsObject Maali3)
313    {
314        ConfirmExit();
315
316
317
318    }
319    void LuoLaava3(Vector paikka, double leveys, double korkeus)
320    {
321        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
322        pelikentta.Position = paikka;
323        pelikentta.Color = Color.Red;
324        pelikentta.CollisionIgnoreGroup = 1;
325        Add(pelikentta);
326        pelikentta.Tag = "Laava3";
327
328    }
329    void TormaaLaavaan3(PhysicsObject Pelaaja, PhysicsObject Laava3)
330    {
331        Pelaaja.Destroy();
332        AloitaAlusta3();
333    }
334    void AloitaAlusta3()
335    {
336        ClearAll();
337        AsetaOhjaimet();
338        LuoKentta3();
339    }
340    void LuoTaso3(Vector paikka, double leveys, double korkeus)
341    {
342        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
343        pelikentta.Position = paikka;
344        pelikentta.Color = Color.Black;
345        pelikentta.CollisionIgnoreGroup = 1;
346        Add(pelikentta);
347
348
349
350    }
351    void LuoTahti3(Vector paikka, double leveys, double korkeus)
352    {
353        PhysicsObject olio = PhysicsObject.CreateStaticObject(leveys, korkeus);
354        olio.Position = paikka;
355        olio.Color = Color.Yellow;
356        olio.Shape = Shape.Star;
357        Add(olio);
358        olio.IgnoresCollisionResponse = true;
359        olio.Tag = "Tahti3";
360    }
361
362}
Note: See TracBrowser for help on using the repository browser.