source: 2017/24/EmiliaM/Little_miner1.cs @ 8591

Revision 8591, 7.1 KB checked in by npo17_4, 2 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Testi_Little_miner : PhysicsGame
10{
11   
12    PhysicsObject hakku;
13    Image miner = LoadImage("miner");
14    Image kseina = LoadImage("kseina");
15
16    private double liikkumisnopeus = 300;
17    PhysicsObject pelaaja;
18    public override void Begin()
19    {
20        LuoKentta();
21        LuoHakku(pelaaja.X, pelaaja.Y + -50.0);
22       
23       
24        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, null, pelaaja, new Vector(-liikkumisnopeus, 0));
25        Keyboard.Listen(Key.Left, ButtonState.Released, Liikuta, null, pelaaja, Vector.Zero);
26        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, null, pelaaja, new Vector(liikkumisnopeus, 0));
27        Keyboard.Listen(Key.Right, ButtonState.Released, Liikuta, null, pelaaja, Vector.Zero);
28        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, null, pelaaja, new Vector(0, -liikkumisnopeus));
29        Keyboard.Listen(Key.Down, ButtonState.Released, Liikuta, null, pelaaja, Vector.Zero);
30        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, null, pelaaja, new Vector(0, liikkumisnopeus));
31        Keyboard.Listen(Key.Up, ButtonState.Released, Liikuta, null, pelaaja, Vector.Zero);
32
33        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
34        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
35    }
36
37    void LuoHakku(double x, double y)
38    {
39        hakku = new PhysicsObject(50.0, 50.0);
40        hakku.X = x;
41        hakku.Y = y;
42        hakku.Shape = Shape.Rectangle;
43        hakku.Color = Color.OrangeRed;
44        hakku.Tag = "hakku";
45        hakku.Restitution = 0.0;
46        Add(hakku);
47       
48        AxleJoint liitos = new AxleJoint(hakku, pelaaja);
49        Add(liitos);
50    }
51
52
53    void Liikuta(PhysicsObject pelaaja, Vector suunta)
54    {
55        pelaaja.Velocity = suunta;
56    }
57
58    void LuoKentta()
59    {
60        TileMap ruudut = TileMap.FromLevelAsset("miner_maa1");
61
62        Level.Background.Color = Color.Charcoal;
63
64        ruudut.SetTileMethod('H', LuoSeina);
65        ruudut.SetTileMethod('K', LuoPalkki);
66        ruudut.SetTileMethod('h', LuoKseina);
67        ruudut.SetTileMethod('R', LuoKivi);
68        ruudut.SetTileMethod('V', LuoVihu);
69        ruudut.SetTileMethod('I', LuoIlkio);
70        ruudut.SetTileMethod('E', LuoEste);
71        ruudut.SetTileMethod('S', LuoSmaragdi);
72        ruudut.SetTileMethod('D', LuoTimantti);
73        ruudut.SetTileMethod('B', LuoIsokivi);
74        ruudut.SetTileMethod('a', LuoSanky);
75        ruudut.SetTileMethod('c', LuoArkku);
76        ruudut.SetTileMethod('P', LuoPelaaja);
77        ruudut.Execute(50, 50);
78    }
79
80    void LuoPelaaja(Vector paikka, double leveys, double korkeus)
81    {
82        pelaaja = new PhysicsObject(leveys, korkeus);
83        pelaaja.Shape = Shape.Circle;
84        pelaaja.Position = paikka;
85       
86        Camera.Follow(pelaaja);
87        pelaaja.Image = miner;
88        pelaaja.Restitution = 0.0;
89        Add(pelaaja);
90    }
91
92    void LuoSeina(Vector paikka, double leveys, double korkeus)
93    {
94        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
95        palikka.Position = paikka;
96        palikka.Shape = Shape.Rectangle;
97        palikka.Color = Color.Black;
98        palikka.Restitution = 0.0;
99        Add(palikka);
100    }
101
102    void LuoPalkki(Vector paikka, double leveys, double korkeus)
103    {
104        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
105        palikka.Position = paikka;
106        palikka.Shape = Shape.Rectangle;
107        palikka.Color = Color.Brown;
108        palikka.Restitution = 0.0;
109        Add(palikka);
110    }
111
112    void LuoKseina(Vector paikka, double leveys, double korkeus)
113    {
114        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
115        palikka.Position = paikka;
116        palikka.Shape = Shape.Rectangle;
117        palikka.Image = kseina;
118        palikka.Restitution = 0.0;
119        Add(palikka);
120    }
121    void LuoKivi(Vector paikka, double leveys, double korkeus)
122    {
123        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
124        palikka.Position = paikka;
125        palikka.Shape = Shape.Rectangle;
126        palikka.Color = Color.LightGray;
127        palikka.Restitution = 0.0;
128        Add(palikka);
129    }
130
131    void LuoVihu(Vector paikka, double leveys, double korkeus)
132    {
133        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
134        palikka.Position = paikka;
135        palikka.Shape = Shape.Rectangle;
136        palikka.Color = Color.Red;
137        palikka.Restitution = 0.0;
138        Add(palikka);
139    }
140
141    void LuoIlkio(Vector paikka, double leveys, double korkeus)
142    {
143        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
144        palikka.Position = paikka;
145        palikka.Shape = Shape.Rectangle;
146        palikka.Color = Color.Green;
147        palikka.Restitution = 0.0;
148        Add(palikka);
149    }
150
151    void LuoEste(Vector paikka, double leveys, double korkeus)
152    {
153        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
154        palikka.Position = paikka;
155        palikka.Shape = Shape.Rectangle;
156        palikka.Color = Color.DarkJungleGreen;
157        palikka.Restitution = 0.0;
158        Add(palikka);
159    }
160
161    void LuoSmaragdi(Vector paikka, double leveys, double korkeus)
162    {
163        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
164        palikka.Position = paikka;
165        palikka.Shape = Shape.Rectangle;
166        palikka.Color = Color.JungleGreen;
167        palikka.Restitution = 0.0;
168        Add(palikka);
169    }
170
171    void LuoTimantti(Vector paikka, double leveys, double korkeus)
172    {
173        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
174        palikka.Position = paikka;
175        palikka.Shape = Shape.Rectangle;
176        palikka.Color = Color.Blue;
177        palikka.Restitution = 0.0;
178        Add(palikka);
179    }
180
181    void LuoIsokivi(Vector paikka, double leveys, double korkeus)
182    {
183        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
184        palikka.Position = paikka;
185        palikka.Shape = Shape.Rectangle;
186        palikka.Color = Color.BlueGray;
187        palikka.Restitution = 0.0;
188        Add(palikka);
189    }
190
191    void LuoSanky(Vector paikka, double leveys, double korkeus)
192    {
193        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
194        palikka.Position = paikka;
195        palikka.Shape = Shape.Rectangle;
196        palikka.Color = Color.BloodRed;
197        palikka.Restitution = 0.0;
198        Add(palikka);
199    }
200
201    void LuoArkku(Vector paikka, double leveys, double korkeus)
202    {
203        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
204        palikka.Position = paikka;
205        palikka.Shape = Shape.Rectangle;
206        palikka.Color = Color.DarkBrown;
207        palikka.Restitution = 0.0;
208        Add(palikka);
209    }
210}
Note: See TracBrowser for help on using the repository browser.