source: 2010/30/jyniinin/SeppoPeli/Peli.cs @ 1434

Revision 1434, 9.3 KB checked in by jyniinin, 9 years ago (diff)
Line 
1using System;
2using Jypeli;
3using Jypeli.Widgets;
4using Jypeli.Assets;
5
6
7class Tasohyppely : PhysicsGame
8{
9
10
11    const double nopeus = 200;
12    const double hyppyVoima =3000;
13
14    PlatformCharacter Seppo;
15    PlatformCharacter AntiSeppo;
16
17
18    protected override void Begin()
19
20    {
21        Gravity = new Vector(0, -1000);
22
23
24
25        luoKentta();
26        lisaaNappaimet();
27
28        Camera.Follow(Seppo);
29       
30        Camera.StayInLevel = true;
31       
32    }
33
34    void luoKentta()
35    {
36        Level.Background.CreateGradient(Color.White, Color.SkyBlue);
37        PhysicsObject vasenReuna = Level.CreateLeftBorder();
38        vasenReuna.StaticFriction = 0;
39        PhysicsObject OikeaReuna = Level.CreateRightBorder();
40        OikeaReuna.StaticFriction = 0;
41        PhysicsObject Pohja = Level.CreateBottomBorder();
42        Pohja.StaticFriction = 0;
43
44
45
46
47        lisaaTaso(-200, -200);
48        lisaaTaso(100, -200);
49        lisaaTaso(100, 200);
50        lisaaTaso(-200, 200);
51        lisaaTaso(-50,  0);
52 
53
54        lisaaPelaajat();
55 
56    }
57
58
59    void lisaaTaso(double x, double y)
60    {
61        PhysicsObject taso = PhysicsObject.CreateStaticObject(100, 30);
62        taso.Color = Color.Green;
63        taso.X = x;
64        taso.Y = y;
65        Add(taso);
66    }
67
68    void lisaaPelaajat()
69    {
70        Seppo = new PlatformCharacter(30,60);
71        Seppo.Mass = 4.0;
72        Seppo.Image = LoadImage("Seppo");
73        Seppo.X = -200;
74        Seppo.Y = 120;
75
76
77        Add(Seppo);
78
79   
80
81        AntiSeppo = new PlatformCharacter(30,60);
82        AntiSeppo.Mass = 4.0;
83        AntiSeppo.Image = LoadImage("Seppo 2");
84        AntiSeppo.X = 100;
85        AntiSeppo.Y = 120;
86
87        Add(AntiSeppo);
88
89
90    }
91   
92       
93
94
95    void lisaaNappaimet()
96    {
97        Keyboard.Listen(Key.CapsLock, ButtonState.Pressed, Begin, "");
98        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä");
99        ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
100        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", Seppo, -nopeus);
101        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", Seppo, nopeus);
102        ControllerOne.Listen(Button.A, ButtonState.Down, rajahdys3, "");
103        ControllerOne.Listen(Button.DPadUp, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", Seppo, hyppyVoima);
104        ControllerOne.Listen(Button.X, ButtonState.Pressed, rajahdys, "");
105        ControllerOne.Listen(Button.Y, ButtonState.Down, rajahdys5, "");
106        ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, teleport, "");
107        ControllerOne.Listen(Button.LeftTrigger, ButtonState.Down, teleport3, "");
108        ControllerOne.Listen(Button.RightStick, ButtonState.Down, seppotelettaa, "");
109        ControllerOne.Listen(Button.RightShoulder, ButtonState.Down, muhahaa, "");
110
111
112        ControllerTwo.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");
113        ControllerTwo.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", AntiSeppo, -nopeus);
114        ControllerTwo.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", AntiSeppo, nopeus);
115        ControllerTwo.Listen(Button.A, ButtonState.Down, rajahdys4, "");
116        ControllerTwo.Listen(Button.DPadUp, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", AntiSeppo, hyppyVoima);
117        ControllerTwo.Listen(Button.X, ButtonState.Pressed, rajahdys2, "");
118        ControllerTwo.Listen(Button.Y, ButtonState.Down, rajahdys6, "");
119        ControllerTwo.Listen(Button.RightTrigger, ButtonState.Down, teleport2, "");
120        ControllerTwo.Listen(Button.LeftTrigger, ButtonState.Down, teleport4, "");
121        ControllerTwo.Listen(Button.RightStick, ButtonState.Down, antiseppotelettaa, "");
122        ControllerTwo.Listen(Button.RightShoulder, ButtonState.Down, muhahaa2, "");
123     
124
125        ControllerOne.Listen(Button.Start, ButtonState.Pressed, restartti, "Aloita peli uudelleen");
126        ControllerTwo.Listen(Button.Start, ButtonState.Pressed, restartti, "Aloita peli uudelleen");
127
128        ControllerOne.Listen(Button.B, ButtonState.Down, HeitaKranaatti, "");
129        ControllerTwo.Listen(Button.B, ButtonState.Down, HeitaKranaatti2, "");
130
131        ControllerOne.Listen(Button.LeftShoulder, ButtonState.Pressed, poisto, "");
132        ControllerTwo.Listen(Button.LeftShoulder, ButtonState.Pressed, poisto, "");
133
134        ControllerOne.Listen(Button.LeftStick, ButtonState.Down, tuomio, "");
135        ControllerTwo.Listen(Button.LeftStick, ButtonState.Down, tuomio, "");
136
137 
138       
139       
140       
141
142    }
143
144    void liikuta(PlatformCharacter hahmo, double nopeus)
145    {
146        hahmo.Walk(nopeus);
147    }
148
149    void hyppaa(PlatformCharacter hahmo, double voima)
150    {
151        hahmo.Jump(voima  ); 
152    }
153
154    void rajahdys()
155    {
156        Explosion rajahdys = new Explosion(500.00);
157        rajahdys.Position = Seppo.Position;
158        Add(rajahdys);
159        rajahdys.Speed = 500.0;
160        rajahdys.Force = 3000;
161        ControllerOne.Vibrate(99, 99, 99, 99, 0.1);
162
163
164    }
165    void rajahdys2()
166    {
167        Explosion rajahdys = new Explosion(500.00);
168        rajahdys.Position = AntiSeppo.Position;
169        Add(rajahdys);
170        rajahdys.Speed = 500.0;
171        rajahdys.Force = 3000;
172        ControllerTwo.Vibrate(99, 99, 99, 99, 0.1);
173    }
174
175
176    void rajahdys3()
177    {
178        Explosion rajahdys = new Explosion(500.00);
179        rajahdys.Position = Seppo.Position;
180        Add(rajahdys);
181        rajahdys.Speed = 500.0;
182        rajahdys.Force = 200;
183        ControllerOne.Vibrate(99, 99, 99, 99, 0.1);
184
185    }
186
187
188
189    void rajahdys4()
190    {
191        Explosion rajahdys = new Explosion(500.00);
192        rajahdys.Position = AntiSeppo.Position;
193        Add(rajahdys);
194        rajahdys.Speed = 500.0;
195        rajahdys.Force = 200;
196        ControllerTwo.Vibrate(99, 99, 99, 99, 0.1);
197    }
198
199    void rajahdys5()
200    {
201        Explosion rajahdys = new Explosion(500.00);
202        rajahdys.Position = AntiSeppo.Position;
203        Add(rajahdys);
204        rajahdys.Speed = 50.0;
205        rajahdys.Force = 200;
206        ControllerTwo.Vibrate(99, 99, 99, 99, 0.1);
207    }
208
209    void rajahdys6()
210    {
211        Explosion rajahdys = new Explosion(500.00);
212        rajahdys.Position = Seppo.Position;
213        Add(rajahdys);
214        rajahdys.Speed = 50.0;
215        rajahdys.Force = 200;
216        ControllerOne.Vibrate(99, 99, 99, 99, 0.1);
217    }
218
219     void restartti()
220    {
221
222        Seppo.X = -200;
223        Seppo.Y = 120;
224
225        AntiSeppo.X = 100;
226        AntiSeppo.Y = 120;
227
228    }
229
230     void teleport2()
231     {
232         Gravity = new Vector(0, 1000);
233    }
234
235     void teleport()
236     {
237         Gravity = new Vector(0, 1000);
238     }
239
240     void teleport3()
241     {
242         Gravity = new Vector(0, -1000);
243     }
244
245
246     void teleport4()
247     {
248         Gravity = new Vector(0, -1000);
249     }
250
251
252     void HeitaKranaatti()
253     {
254         Grenade kranaatti = new Grenade(4.0);
255         kranaatti.X = Seppo.X + 10;
256         kranaatti.Y = Seppo.Y + 10;
257         Add(kranaatti);
258         Vector heittoVoima = Vector.FromLengthAndAngle(4000, Angle.Degrees(45));
259         kranaatti.Hit(heittoVoima);
260     }
261
262     void HeitaKranaatti2()
263     {
264         Grenade kranaatti = new Grenade(4.0);
265         kranaatti.X = AntiSeppo.X - 10;
266         kranaatti.Y = AntiSeppo.Y - 10;
267         Add(kranaatti);
268         Vector heittoVoima = Vector.FromLengthAndAngle(4000, Angle.Degrees(45));
269         kranaatti.Hit(heittoVoima);
270     }
271
272     void seppotelettaa()
273     {
274         Seppo.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
275     }
276
277     void antiseppotelettaa()
278     {
279         AntiSeppo.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
280     }
281
282
283
284     void muhahaa()
285     {
286         ClusterGrenade kranaatti = new ClusterGrenade(4.0, 2);
287         Add(kranaatti);
288         kranaatti.X = Seppo.X + 10;
289         kranaatti.Y = Seppo.Y + 10;
290         Vector heittoVoima = Vector.FromLengthAndAngle(4000, Angle.Degrees(45));
291         kranaatti.Hit(heittoVoima);
292
293         kranaatti.NumberOfClusters = 4;
294
295     }
296
297
298     void muhahaa2()
299     {
300         ClusterGrenade kranaatti = new ClusterGrenade(4.0, 2);
301         Add(kranaatti);
302         kranaatti.X = AntiSeppo.X - 10;
303         kranaatti.Y = AntiSeppo.Y - 10;
304         Vector heittoVoima = Vector.FromLengthAndAngle(4000, Angle.Degrees(45));
305         kranaatti.Hit(heittoVoima);
306
307         kranaatti.NumberOfClusters = 4;
308
309     }
310
311
312     void poisto()
313     {
314         ClearAll();
315         Begin();
316     }
317
318     void tuomio()
319     {
320         Grenade kranaatti = new Grenade(200.0);
321         kranaatti.Position = RandomGen.NextVector(Level.Right, Level.Bottom, Level.Left, Level.Top);
322         kranaatti.ExplosionForce = 9999999999999999999;
323         kranaatti.ExplosionSpeed = 55;
324         ControllerTwo.Vibrate(99, 99, 99, 99, 1.1);
325         ControllerOne.Vibrate(99, 99, 99, 99, 1.1);
326       
327               
328          Add(kranaatti);
329         Vector heittoVoima = Vector.FromLengthAndAngle(4000, Angle.Degrees(45));
330         kranaatti.Hit(heittoVoima);
331     }
332
333   
334}
335
336
337   
338
339
340
Note: See TracBrowser for help on using the repository browser.