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

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