source: 2017/24/EmiliaM/Testi_Little_miner.cs @ 10334

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