source: 2012/24/LeeviL/Rangoneina/Rangoneina/Rangoneina/Rangoneina.cs @ 3016

Revision 3016, 6.6 KB checked in by leoslimi, 8 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 Rangoneina : PhysicsGame
10{
11    Image RekurokaI = LoadImage("Rekuroka");
12    Image SerunomI = LoadImage("Serunom");
13    Image MerinomaI = LoadImage("Merinoma");
14    Image Vih1I = LoadImage("Vih1");
15    Image Vih2I = LoadImage("Vih2");
16    Image Vih3I = LoadImage("Vih3");
17    PhysicsObject Rekuroka;
18    PhysicsObject Merinoma;
19    IntMeter Pistelaskuri;
20    public override void Begin()
21    {
22        MultiSelectWindow valikko = new MultiSelectWindow("Tervettuoloa Peliin", "Aloita Peli", "Parhaat Pisteet", "Lopeta");
23        valikko.ItemSelected += PainettiinValikkoNappia;
24        Add(valikko);
25
26        LuoKentta();
27        AsetaOhjaimet();
28       
29
30    }
31
32    void LuoKentta()
33    {
34        TileMap ruudut = TileMap.FromLevelAsset("Kentta1");
35        ruudut.SetTileMethod('=', LuoPalikka);
36        ruudut.SetTileMethod('T', LuoTahti);
37        ruudut.SetTileMethod('1', Vih1);
38        ruudut.SetTileMethod('2', Vih2);
39        ruudut.SetTileMethod('3', Vih3);
40        ruudut.SetTileMethod('R', LuoRekuroka);
41        ruudut.SetTileMethod('S', Serunom);
42        ruudut.SetTileMethod('M', LuoMerinoma);
43        ruudut.SetTileMethod('W', LuoPiste);
44        ruudut.Execute(30,30);
45
46        Level.BackgroundColor = Color.Aqua;
47
48        Camera.Follow(Rekuroka);
49
50        LuoLaskuri();
51        LuoAikaLaskuri();
52    }
53
54    void SeuraavaKentta(int kenttaNro)
55    {
56        ClearAll();
57    }
58
59    void LuoRekuroka(Vector paikka, double leveys, double korkeus)
60    {
61        Rekuroka = new PhysicsObject (leveys, korkeus);
62        Rekuroka.Image = RekurokaI;
63        Rekuroka.Restitution = 0.0;
64        Rekuroka.Position = paikka;
65        AddCollisionHandler(Rekuroka, "LuoTahti", Tormays1);
66        AddCollisionHandler(Rekuroka, "LuoPiste", Tormays2);
67        AddCollisionHandler(Rekuroka, "Kuolema", Tormays3);
68        Add(Rekuroka);
69    }
70
71    void Serunom(Vector paikka, double leveys, double korkeus)
72    {
73        PhysicsObject Serunom = new PhysicsObject(leveys, korkeus);
74        Serunom.Image = SerunomI;
75        Serunom.Restitution = 0.0;
76        Serunom.Position = paikka;
77        Add(Serunom);
78    }
79
80    void LuoMerinoma(Vector paikka, double leveys, double korkeus)
81    {
82        Merinoma = new PhysicsObject(leveys, korkeus);
83        Merinoma.Image = MerinomaI;
84        Merinoma.Restitution = 0.0;
85        Merinoma.Position = paikka;
86        Merinoma.Tag = "Kuolema";
87        Add(Merinoma);
88    }
89
90    void Vih1(Vector paikka, double leveys, double korkeus)
91    {
92        PhysicsObject Vih1 = new PhysicsObject(leveys, korkeus);
93        Vih1.Image = Vih1I;
94        Vih1.Restitution = 0.0;
95        Vih1.Position = paikka;
96        Add(Vih1);
97    }
98
99    void Vih2(Vector paikka, double leveys, double korkeus)
100    {
101        PhysicsObject Vih2 = new PhysicsObject(leveys, korkeus);
102        Vih2.Image = Vih2I;
103        Vih2.Restitution = 0.0;
104        Vih2.Position = paikka;
105        Add(Vih2);
106    }
107
108    void Vih3(Vector paikka, double leveys, double korkeus)
109    {
110        PhysicsObject Vih3 = new PhysicsObject(leveys, korkeus);
111        Vih3.Image = Vih3I;
112        Vih3.Restitution = 0.0;
113        Vih3.Position = paikka;
114        Add(Vih3);
115    }
116
117    void LuoPalikka(Vector paikka, double leveys, double korkeus)
118    {
119        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
120        palikka.Shape = Shape.Rectangle;
121        palikka.Color = Color.Black;
122        palikka.Restitution = 0.0;
123        palikka.Position = paikka;
124        Add(palikka);
125    }
126
127    void LuoTahti(Vector paikka, double leveys, double korkeus)
128    {
129        PhysicsObject tahti = new PhysicsObject(leveys, korkeus);
130        tahti.Shape = Shape.Star;
131        tahti.Color = Color.Yellow;
132        tahti.Restitution = 0.0;
133        tahti.Position = paikka;
134        tahti.Tag = "LuoTahti";
135        Add(tahti);
136    }
137
138    void LuoPiste(Vector paikka, double leveys, double korkeus)
139    {
140        PhysicsObject piste = new PhysicsObject(leveys, korkeus);
141        piste.Shape = Shape.Circle;
142        piste.Color = Color.YellowGreen;
143        piste.Restitution = 0.0;
144        piste.Position = paikka;
145        piste.Tag = "LuoPiste";
146        Add(piste);
147    }
148
149    void AsetaOhjaimet()
150    {
151       Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 200));
152       Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -200));
153       Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(200, 0));
154       Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-200, 0)); 
155
156        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
157        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
158    }
159
160    void LiikutaPelaajaa(Vector suunta)
161    {
162        Rekuroka.Push(suunta);
163    }
164
165    void Tormays1(IPhysicsObject tormaaja, IPhysicsObject kohde)
166    {
167        kohde.Destroy();
168        Pistelaskuri.Value = Pistelaskuri.Value + 1;
169    }
170
171    void Tormays2(IPhysicsObject tormaaja, IPhysicsObject kohde)
172    {
173        kohde.Destroy();
174        Pistelaskuri.Value = Pistelaskuri.Value + 5;
175    }
176
177    void Tormays3(IPhysicsObject Rekuroka, IPhysicsObject kohde)
178    {
179        AloitaAlusta();
180    }
181
182    void PainettiinValikkoNappia(int valinta)
183    {
184        switch (valinta) 
185        { 
186            case 0:
187                //AloitaPeli();
188                break;
189            case 1:
190                //ParhaatPisteet();
191                break;
192            case 2:
193                Exit();
194                break;
195        }
196    }
197
198    void LuoLaskuri()
199    {
200        Pistelaskuri = new IntMeter(0);
201
202        Label pistenaytto = new Label();
203        pistenaytto.X = Screen.Left + 100;
204        pistenaytto.Y = Screen.Top - 100;
205        pistenaytto.TextColor = Color.Black;
206        pistenaytto.Color = Color.White;
207
208        pistenaytto.BindTo(Pistelaskuri);
209        Add(pistenaytto);
210    }
211
212    void LuoAikaLaskuri()
213    {
214        Timer aikaLaskuri = new Timer();
215        aikaLaskuri.Start();
216
217        Label aikaNaytto = new Label();
218        aikaNaytto.X = Screen.Left + 100;
219        aikaNaytto.Y = Screen.Top - 70;
220        aikaNaytto.TextColor = Color.White;
221        aikaNaytto.DecimalPlaces = 1;
222        aikaNaytto.BindTo(aikaLaskuri.SecondCounter);
223        Add(aikaNaytto);
224    }
225
226    void AloitaAlusta()
227    {
228        ClearAll();
229        LuoKentta();
230        AsetaOhjaimet();
231    }
232}
Note: See TracBrowser for help on using the repository browser.