source: 2012/26/JereL/Sekasorto/Sekasorto/Sekasorto/Sekasorto.cs @ 3306

Revision 3306, 9.5 KB checked in by jekrlaak, 10 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 Sekasorto : PhysicsGame
10{
11    PhysicsObject Kolmio;
12    PhysicsObject Kolmio2;
13    MediaPlayer.Play( "Taustamusa Terran" );
14
15
16    public override void Begin()
17    {
18        ClearAll();
19        LuoKentta();
20        Tormays();
21        TekoAly();
22        LuoAikaLaskuri();
23        asetaOhjaimet();
24       
25       
26       
27       
28       
29       
30       
31       
32       
33        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
34        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
35    }
36
37
38
39        void LuoKentta()
40        {
41            Kolmio = new PhysicsObject(20, 80);
42            Kolmio.Shape = Shape.Triangle;
43            Kolmio.Color = Color.LightBlue;
44            Kolmio.X = 300;
45            Kolmio.Y = 300;
46            Kolmio.IgnoresGravity = true;
47            Add(Kolmio);
48
49            Kolmio2 = new PhysicsObject(20, 80);
50            Kolmio2.Shape = Shape.Triangle;
51            Kolmio2.Color = Color.LightGreen;
52            Kolmio2.X = -300;
53            Kolmio2.Y = -300;
54            Kolmio2.IgnoresGravity = true;
55            Add(Kolmio2);
56
57           
58
59
60            Level.BackgroundColor = Color.Black;
61            Level.CreateBorders();
62            Camera.ZoomToLevel();
63
64            Timer ajastin = new Timer();
65            ajastin.Interval = 1.5;
66            ajastin.Timeout += PainovoimanVaihto;
67            ajastin.Start();
68
69            Gravity = new Vector(0, 200);
70
71           
72           
73            for (int i = 0; i <= 500; i++)
74            {
75                LuoPikkuMolli();
76            }       
77        }
78
79        void LuoPikkuMolli()
80        {
81            PhysicsObject Molli = new PhysicsObject(RandomGen.NextDouble (5,20),RandomGen.NextDouble(5, 20));
82            Molli.Shape = Shape.Circle;
83            Molli.Color = Color.Yellow;
84
85            Molli.X = RandomGen.NextDouble(Level.Left +10, Level.Right -10);
86            Molli.Y = RandomGen.NextDouble(Level.Bottom +10, Level.Top -10);
87            Add(Molli);
88
89        }
90
91
92
93
94        void PainovoimanVaihto()
95        {
96            Gravity = new Vector(Gravity.Y * -1, Gravity.X);
97        }
98
99        void asetaOhjaimet()
100        {
101            Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "Pelaaja liikkuu eteenpäin", Kolmio, 400.0);
102            Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "pelaaja liikkuu eteenpäin", Kolmio2, 400.0);
103            Keyboard.Listen(Key.Right, ButtonState.Down, pyorita, "pelaaja pyörii oikealle", Kolmio2, -2.5);
104            Keyboard.Listen(Key.D, ButtonState.Down, pyorita, "Pelaaja pyörii oikealle", Kolmio, -2.5);
105            Keyboard.Listen(Key.A, ButtonState.Down, pyorita, "pelaaja pyörii vasemmalle", Kolmio, 2.5);
106            Keyboard.Listen(Key.Left, ButtonState.Down, pyorita, "pelaaja pyörii vasemmalle", Kolmio2, 2.5);
107           
108        }
109
110        void pyorita(PhysicsObject kolmio, double nopeus)
111        {
112            kolmio.AngularVelocity = nopeus;
113
114        }
115       
116        void Liikuta(PhysicsObject kolmio, double nopeus)
117        {
118            Angle kulma = Angle.FromDegrees(-kolmio.Angle.Degrees);
119            Vector suunta = new Vector(kulma.Sin, kulma.Cos);
120            kolmio.Push(suunta * nopeus);
121        }
122
123
124        //void PyoritaOikealle(PhysicsObject Kolmio, double nopeus)
125        //{
126        //    Kolmio.AngularVelocity = -2.0;
127
128        //}
129
130
131        //void PyoritaVasemmalle(PhysicsObject Kolmio, double nopeus)
132        //{
133        //    Kolmio.AngularVelocity = 2.0;
134        //}
135
136
137
138        void Tormays()
139        {
140            AddCollisionHandler(Kolmio, Kolmio2, PelaajatTormaavat);
141        }
142
143
144        void PelaajatTormaavat(IPhysicsObject tormaaja, IPhysicsObject kohde)
145        {
146            Tekstikentta();
147            Rajahdys();
148        }
149
150        void Rajahdys()
151        {
152            Explosion rajahdys = new Explosion(500);
153            rajahdys.Position = Kolmio2.Position;
154            rajahdys.Speed = 1000;
155            rajahdys.Force = 10;
156            Add(rajahdys);
157            ajastin4();
158        }
159
160        void Tekstikentta()
161        {
162
163            Label Tekstikentta = new Label(1000.0, 500.0, "UUUDESTAAN!!");
164            Tekstikentta.TextColor = Color.Turquoise;
165            Add(Tekstikentta);
166        }
167
168        void tekstikentta2()
169        {
170
171            Label Tekstikentta2 = new Label(1000.0, 500.0, "Voitit.. Kokeilehan Uuestaan Niin Et Voita :DD");
172            Tekstikentta2.TextColor = Color.Turquoise;
173            Add(Tekstikentta2);
174        }
175       
176
177
178
179        void Ajastin2()
180        {
181            Timer ajastin2 = new Timer();
182            ajastin2.Interval = 4;
183            ajastin2.Timeout += ToinenKentta;
184            ajastin2.Start(1);
185           
186        }
187
188        void ajastin4()
189        {
190            Timer ajastin4 = new Timer();
191            ajastin4.Interval = 4;
192            ajastin4.Timeout += Begin;
193            ajastin4.Start(1);
194        }
195
196
197
198
199
200        void TekoAly()
201        {
202            FollowerBrain seuraajanAivot = new FollowerBrain(Kolmio2);
203            Kolmio.Brain = seuraajanAivot;
204            seuraajanAivot.Speed = 200;
205            seuraajanAivot.DistanceFar = 1000;
206            seuraajanAivot.DistanceClose = 0;
207            seuraajanAivot.StopWhenTargetClose = true;
208        }
209
210        void LuoAikaLaskuri()
211        {
212            Timer aikaLaskuri = new Timer();
213            aikaLaskuri.Interval = 30;
214            aikaLaskuri.Timeout += AikaLoppui;
215            aikaLaskuri.Start(1);
216
217            Label aikaNaytto = new Label();
218            aikaNaytto.TextColor = Color.White;
219            aikaNaytto.DecimalPlaces = 1;
220            aikaNaytto.BindTo(aikaLaskuri.SecondCounter);
221            aikaNaytto.X = 600;
222            aikaNaytto.Y = 500;
223            aikaNaytto.Color = Color.Green;
224            Add(aikaNaytto);
225        }
226
227
228        void AikaLoppui()
229        {
230            tekstikentta2();
231            Ajastin2();
232        }
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284        void ToinenKentta()
285        {
286            ClearAll();
287            //Kolmio.
288            LuoKentta();
289            LuoAikaLaskuri2();
290            Tormays2();
291            asetaOhjaimet2();
292            TekoAly();
293
294
295        }
296   
297   
298   
299   
300   
301   
302   
303   
304   
305    void LuoAikaLaskuri2()
306        {
307            Timer aikaLaskuri2 = new Timer();
308            aikaLaskuri2.Interval = 30;
309            aikaLaskuri2.Timeout += AikaLoppui;
310            aikaLaskuri2.Start(1);
311
312            Label aikaNaytto = new Label();
313            aikaNaytto.TextColor = Color.White;
314            aikaNaytto.DecimalPlaces = 1;
315            aikaNaytto.BindTo(aikaLaskuri2.SecondCounter);
316            aikaNaytto.X = 600;
317            aikaNaytto.Y = 500;
318            aikaNaytto.Color = Color.Green;
319            Add(aikaNaytto);
320        }
321
322        void ajastin3()
323        {
324            Timer ajastin3 = new Timer();
325            ajastin3.Interval = 4;
326            ajastin3.Timeout += Begin;
327            ajastin3.Start(1);
328        }
329
330        void asetaOhjaimet2()
331        {
332            Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "Pelaaja liikkuu eteenpäin", Kolmio, 1000.0);
333            Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "pelaaja liikkuu eteenpäin", Kolmio2, 1000.0);
334            Keyboard.Listen(Key.Right, ButtonState.Down, pyorita, "pelaaja pyörii oikealle", Kolmio2, -50.0);
335            Keyboard.Listen(Key.D, ButtonState.Down, pyorita, "Pelaaja pyörii oikealle", Kolmio, -50.0);
336            Keyboard.Listen(Key.A, ButtonState.Down, pyorita, "pelaaja pyörii vasemmalle", Kolmio, 50.0);
337            Keyboard.Listen(Key.Left, ButtonState.Down, pyorita, "pelaaja pyörii vasemmalle", Kolmio2, 50.0);
338
339        }
340
341        //void pyorita2(PhysicsObject kolmio, double nopeus)
342        //{
343        //    kolmio.ApplyTorque(nopeus);
344
345        //}
346
347        //void Liikuta2(PhysicsObject kolmio, double nopeus)
348        //{
349        //    Angle kulma = Angle.FromDegrees(-kolmio.Angle.Degrees);
350        //    Vector suunta = new Vector(kulma.Sin, kulma.Cos);
351        //    kolmio.Push(suunta * nopeus);
352        //}
353
354
355        //void PyoritaOikealle2(PhysicsObject Kolmio, double nopeus)
356        //{
357        //    Kolmio.AngularVelocity = -2.0;
358
359        //}
360
361
362        //void PyoritaVasemmalle2(PhysicsObject Kolmio, double nopeus)
363        //{
364        //    Kolmio.AngularVelocity = 2.0;
365        //}
366
367        void Rajahdys2()
368        {
369            Explosion rajahdys = new Explosion(500);
370            rajahdys.Position = Kolmio2.Position;
371            rajahdys.Speed = 500;
372            rajahdys.Force = 500;
373            Add(rajahdys);
374            ajastin3();
375        }
376
377        void Tekstikentta3()
378        {
379
380            Label Tekstikentta3 = new Label(1000.0, 500.0, "HÄVISIT!! Miltä Nyt Tuntuu?? :D Ja Nyt Vaan Alusta :DD");
381            Tekstikentta3.TextColor = Color.Turquoise;
382            Add(Tekstikentta3);
383        }
384
385        void Tormays2()
386        {
387            AddCollisionHandler(Kolmio, Kolmio2, PelaajatTormaavat2);
388        }
389
390        void PelaajatTormaavat2(IPhysicsObject tormaaja, IPhysicsObject kohde)
391        {
392            Tekstikentta3();
393            Rajahdys2();
394        }
395
396       
397       
398
399
400}
Note: See TracBrowser for help on using the repository browser.