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

Revision 4265, 8.4 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    }
69
70    void LuoLaava(Vector paikka, double leveys, double korkeus)
71    {
72        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
73        pelikentta.Position = paikka;
74        pelikentta.Color = Color.Red;
75        pelikentta.CollisionIgnoreGroup = 1;
76        Add(pelikentta);
77        pelikentta.Tag = "Laava";
78    }
79
80   
81
82    void TormaaLaavaan(PhysicsObject Pelaaja, PhysicsObject Laava)
83    {
84        Pelaaja.Destroy();
85        AloitaAlusta();
86    }
87
88    void TormaaLaavaan2(PhysicsObject Pelaaja, PhysicsObject Laava2)
89    {
90        Pelaaja.Destroy();
91        AloitaAlusta2();
92
93    }
94    void TormaaMaaliin(PhysicsObject Pelaaja, PhysicsObject Maali)
95    {
96        SeuraavaKentta();
97
98    }
99
100 
101
102
103
104
105
106    void AloitaAlusta()
107    {
108        ClearAll();
109        LuoKentta();
110        AsetaOhjaimet();
111       
112    }
113
114    void TormaaTahteen(PhysicsObject pelaaja, PhysicsObject Tahti)
115    {
116        Tahti.Destroy();
117
118    }
119
120    void LuoTahti(Vector paikka, double leveys, double korkeus)
121    {
122        PhysicsObject olio = PhysicsObject.CreateStaticObject(leveys, korkeus);
123        olio.Position = paikka;
124        olio.Color = Color.Yellow;
125        olio.Shape = Shape.Star;
126        Add(olio);
127        olio.IgnoresCollisionResponse = true;
128        olio.Tag = "Tahti";
129    }
130
131    void LuoMaali(Vector paikka, double leveys, double korkeus)
132    {
133        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
134        pelikentta.Position = paikka;
135        pelikentta.Color = Color.Blue;
136        pelikentta.CollisionIgnoreGroup = 1;
137        Add(pelikentta);
138        pelikentta.Tag = "Maali";
139        pelikentta.Shape = Shape.Diamond;
140    }
141
142    void LuoTaso(Vector paikka, double leveys, double korkeus)
143    {
144        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
145        pelikentta.Position = paikka;
146        pelikentta.Color = Color.Black;
147        pelikentta.CollisionIgnoreGroup = 1;
148        Add(pelikentta);
149    }
150
151    void LuoOlio(Vector paikka, double leveys, double korkeus)
152    {
153        PhysicsObject Olio = new PhysicsObject(5, 5);
154        Olio.IgnoresCollisionResponse = true;
155        Olio.Position = paikka;
156
157        Olio.Tag = "olio";
158
159    }
160
161    void AsetaOhjaimet()
162    {
163        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "kukeli liikkuu vasemmalle", -200.0);
164        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "kukeli liikkuu vasemmalle", 200.0);
165        Keyboard.Listen(Key.W, ButtonState.Down, Hyppaa, "kukeli liikkuu vasemmalle", 650.0);
166        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
167        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
168    }
169
170    void Liikuta(double nopeus)
171    {
172        kukeli.Walk(nopeus);
173    }
174
175    void Hyppaa(double nopeus)
176    {
177        kukeli.Jump(nopeus);
178    }
179
180    void SeuraavaKentta()
181{
182    ClearAll();
183    AsetaOhjaimet();
184    Luokentta2();
185
186
187}
188
189    void Luokentta2()
190    {
191        ColorTileMap ruudut = ColorTileMap.FromLevelAsset("pelikentta2");
192
193        ruudut.SetTileMethod(Color.Red, LuoLaava2);
194        ruudut.SetTileMethod(Color.Black, LuoTaso);
195        ruudut.SetTileMethod("B200F0", Luokukeli);
196        ruudut.SetTileMethod("0026FF", LuoTahti2);
197        ruudut.SetTileMethod("FFF31E", LuoMaali2);
198
199        ruudut.Execute(20, 20);
200
201        Gravity = new Vector(0, -600);
202
203        Camera.Follow(kukeli);
204
205        Camera.StayInLevel = true;
206    }
207
208    void LuoLaava2(Vector paikka, double leveys, double korkeus)
209    {
210
211        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
212        pelikentta.Position = paikka;
213        pelikentta.Color = Color.Red;
214        pelikentta.CollisionIgnoreGroup = 1;
215        Add(pelikentta);
216        pelikentta.Tag = "Laava2";
217
218
219    }
220
221    void LuoTahti2(Vector paikka, double leveys, double korkeus)
222    {
223        PhysicsObject olio = PhysicsObject.CreateStaticObject(leveys, korkeus);
224        olio.Position = paikka;
225        olio.Color = Color.Yellow;
226        olio.Shape = Shape.Star;
227        Add(olio);
228        olio.IgnoresCollisionResponse = true;
229        olio.Tag = "Tahti2";
230    }
231
232    void AloitaAlusta2()
233    {
234        ClearAll();
235        AsetaOhjaimet();
236        Luokentta2();
237    }
238
239
240
241
242    void LuoMaali2(Vector paikka, double leveys, double korkeus)
243    {
244        PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
245        pelikentta.Position = paikka;
246        pelikentta.Color = Color.Green;
247        pelikentta.CollisionIgnoreGroup = 1;
248        Add(pelikentta);
249        pelikentta.Tag = "Maali2";
250        pelikentta.Shape = Shape.Rectangle;
251
252    }
253
254    void TormaaMaaliin2(PhysicsObject Pelaaja, PhysicsObject Maali)
255    {
256        SeuraavaKentta2();
257
258    }
259
260    void SeuraavaKentta2()
261    {
262        ClearAll();
263        AsetaOhjaimet();
264        LuoKentta3();
265    }
266
267       void LuoKentta3()
268{
269   ColorTileMap ruudut = ColorTileMap.FromLevelAsset("pelikentta3");
270
271   ruudut.SetTileMethod("FF00DC", Luokukeli);
272    ruudut.SetTileMethod(Color.Black, LuoTaso3);
273    ruudut.SetTileMethod("FFD800", LuoTahti3);
274    ruudut.SetTileMethod(Color.Red, LuoLaava3);
275
276    ruudut.Execute(20, 20);
277
278    Gravity = new Vector(0, -600);
279
280    Camera.Follow(kukeli);
281
282    Camera.StayInLevel = true;
283
284
285
286}
287
288       void LuoLaava3(Vector paikka, double leveys, double korkeus)
289       {
290           PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
291           pelikentta.Position = paikka;
292           pelikentta.Color = Color.Red;
293           pelikentta.CollisionIgnoreGroup = 1;
294           Add(pelikentta);
295           pelikentta.Tag = "Laava3";
296
297       }
298       void TormaaLaavaan3(PhysicsObject Pelaaja, PhysicsObject Laava3)
299       {
300           Pelaaja.Destroy();
301           AloitaAlusta3();
302       }
303       void AloitaAlusta3()
304       {
305           ClearAll();
306           AsetaOhjaimet();
307           LuoKentta3();
308       }
309       void LuoTaso3(Vector paikka, double leveys, double korkeus)
310{
311    PhysicsObject pelikentta = PhysicsObject.CreateStaticObject(leveys, korkeus);
312    pelikentta.Position = paikka;
313    pelikentta.Color = Color.Black;
314    pelikentta.CollisionIgnoreGroup = 1;
315    Add(pelikentta);
316
317
318
319}
320       void LuoTahti3(Vector paikka, double leveys, double korkeus)
321       {
322           PhysicsObject olio = PhysicsObject.CreateStaticObject(leveys, korkeus);
323           olio.Position = paikka;
324           olio.Color = Color.Yellow;
325           olio.Shape = Shape.Star;
326           Add(olio);
327           olio.IgnoresCollisionResponse = true;
328           olio.Tag = "Tahti3"; 
329       }
330
331}
Note: See TracBrowser for help on using the repository browser.