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

Revision 2995, 5.5 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    IntMeter Pistelaskuri;
19    public override void Begin()
20    {
21
22        LuoKentta();
23        AsetaOhjaimet();
24
25    }
26
27    void LuoKentta()
28    {
29        TileMap ruudut = TileMap.FromLevelAsset("Kentta1");
30        ruudut.SetTileMethod('=', LuoPalikka);
31        ruudut.SetTileMethod('T', LuoTahti);
32        ruudut.SetTileMethod('1', Vih1);
33        ruudut.SetTileMethod('2', Vih2);
34        ruudut.SetTileMethod('3', Vih3);
35        ruudut.SetTileMethod('R', LuoRekuroka);
36        ruudut.SetTileMethod('S', Serunom);
37        ruudut.SetTileMethod('M', Merinoma);
38        ruudut.SetTileMethod('W', LuoPiste);
39        ruudut.Execute(30,30);
40
41        Level.BackgroundColor = Color.Aqua;
42
43        Camera.Follow(Rekuroka);
44
45        LuoLaskuri();
46    }
47
48    void LuoRekuroka(Vector paikka, double leveys, double korkeus)
49    {
50        Rekuroka = new PhysicsObject (leveys, korkeus);
51        Rekuroka.Image = RekurokaI;
52        Rekuroka.Restitution = 0.0;
53        Rekuroka.Position = paikka;
54        AddCollisionHandler(Rekuroka, "LuoTahti", Tormays1);
55        AddCollisionHandler(Rekuroka, "LuoPiste", Tormays2);
56        Rekuroka.Tag = "Kuolema";
57        Add(Rekuroka);
58    }
59
60    void Serunom(Vector paikka, double leveys, double korkeus)
61    {
62        PhysicsObject Serunom = new PhysicsObject(leveys, korkeus);
63        Serunom.Image = SerunomI;
64        Serunom.Restitution = 0.0;
65        Serunom.Position = paikka;
66        Add(Serunom);
67    }
68
69    void Merinoma(Vector paikka, double leveys, double korkeus)
70    {
71        PhysicsObject Merinoma = new PhysicsObject(leveys, korkeus);
72        Merinoma.Image = MerinomaI;
73        Merinoma.Restitution = 0.0;
74        Merinoma.Position = paikka;
75        AddCollisionHandler(Merinoma, "Kuolema", Tormays3);
76        Add(Merinoma);
77    }
78
79    void Vih1(Vector paikka, double leveys, double korkeus)
80    {
81        PhysicsObject Vih1 = new PhysicsObject(leveys, korkeus);
82        Vih1.Image = Vih1I;
83        Vih1.Restitution = 0.0;
84        Vih1.Position = paikka;
85        Add(Vih1);
86    }
87
88    void Vih2(Vector paikka, double leveys, double korkeus)
89    {
90        PhysicsObject Vih2 = new PhysicsObject(leveys, korkeus);
91        Vih2.Image = Vih2I;
92        Vih2.Restitution = 0.0;
93        Vih2.Position = paikka;
94        Add(Vih2);
95    }
96
97    void Vih3(Vector paikka, double leveys, double korkeus)
98    {
99        PhysicsObject Vih3 = new PhysicsObject(leveys, korkeus);
100        Vih3.Image = Vih3I;
101        Vih3.Restitution = 0.0;
102        Vih3.Position = paikka;
103        Add(Vih3);
104    }
105
106    void LuoPalikka(Vector paikka, double leveys, double korkeus)
107    {
108        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
109        palikka.Shape = Shape.Rectangle;
110        palikka.Color = Color.Black;
111        palikka.Restitution = 0.0;
112        palikka.Position = paikka;
113        Add(palikka);
114    }
115
116    void LuoTahti(Vector paikka, double leveys, double korkeus)
117    {
118        PhysicsObject tahti = new PhysicsObject(leveys, korkeus);
119        tahti.Shape = Shape.Star;
120        tahti.Color = Color.Yellow;
121        tahti.Restitution = 0.0;
122        tahti.Position = paikka;
123        tahti.Tag = "LuoTahti";
124        Add(tahti);
125    }
126
127    void LuoPiste(Vector paikka, double leveys, double korkeus)
128    {
129        PhysicsObject piste = new PhysicsObject(leveys, korkeus);
130        piste.Shape = Shape.Circle;
131        piste.Color = Color.YellowGreen;
132        piste.Restitution = 0.0;
133        piste.Position = paikka;
134        piste.Tag = "LuoPiste";
135        Add(piste);
136    }
137
138    void AsetaOhjaimet()
139    {
140       Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 200));
141       Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -200));
142       Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(200, 0));
143       Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-200, 0)); 
144
145        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
146        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
147    }
148
149    void LiikutaPelaajaa(Vector suunta)
150    {
151        Rekuroka.Push(suunta);
152    }
153
154    void Tormays1(IPhysicsObject tormaaja, IPhysicsObject kohde)
155    {
156        kohde.Destroy();
157        Pistelaskuri.Value = Pistelaskuri.Value + 1;
158    }
159
160    void Tormays2(IPhysicsObject tormaaja, IPhysicsObject kohde)
161    {
162        kohde.Destroy();
163        Pistelaskuri.Value = Pistelaskuri.Value + 5;
164    }
165
166    void Tormays3(IPhysicsObject tormaaja, IPhysicsObject kohde)
167    {
168        kohde.Destroy();
169    }
170
171    void LuoLaskuri()
172    {
173        Pistelaskuri = new IntMeter(0);
174
175        Label pistenaytto = new Label();
176        pistenaytto.X = Screen.Left + 100;
177        pistenaytto.Y = Screen.Top - 100;
178        pistenaytto.TextColor = Color.Black;
179        pistenaytto.Color = Color.White;
180
181        pistenaytto.BindTo(Pistelaskuri);
182        Add(pistenaytto);
183    }
184}
Note: See TracBrowser for help on using the repository browser.