source: 2016/24/AldoG/TheAdwentureOf/TheAdwentureOf/TheAdwentureOf/TheAdwentureOf.cs @ 7433

Revision 7433, 4.7 KB checked in by alaxgroe, 4 years ago (diff)

olen laittanut pistelaskurin.peli on nakymaton labyrintti siela on keltainen viiva jos kosket siihen se lahtee eri paikkaan mutta saa myos pisteen.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class TheAdwentureOf : PhysicsGame
10{
11    IntMeter pisteLaskuri;
12    List<Vector> sijainnit = new List<Vector>();
13    PhysicsObject hahmo;
14    void LuoPalikka(Vector paikka, double leveys, double korkeus)
15    {
16
17        PhysicsObject palikka = PhysicsObject.CreateStaticObject(leveys, korkeus);
18        palikka.Position = paikka;
19        palikka.Shape = Shape.Rectangle;
20        palikka.Color = Color.LightBlue;
21        Add(palikka);
22
23
24    }
25
26    Image hahmoKuva = LoadImage("KUVA");
27
28
29
30    public override void Begin()
31    {
32        TileMap kentta = TileMap.FromLevelAsset("kentta1");
33        kentta.SetTileMethod('*', LuoTahti, Color.LightBlue);
34        kentta.SetTileMethod('#', LisaaTaso, Color.LightBlue);
35        kentta.SetTileMethod('s', LisaaHahmo, Color.LightBlue);
36        kentta.SetTileMethod('h', LisaaVihollinen, Color.LightBlue);
37        kentta.SetTileMethod('.', LisaaSpawn, Color.LightBlue);
38
39        kentta.SetTileMethod('P', LuoPiikki, Color.Gold);
40        kentta.Execute();
41
42        LuoPistelaskuri();
43
44    }
45
46    void LisaaSpawn(Vector paikka, double leveys, double korkeus, Color vari)
47    {
48        sijainnit.Add(paikka);
49    }
50
51    void LisaaTaso(Vector paikka, double leveys, double korkeus, Color vari)
52    {
53        PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
54        taso.Position = paikka;
55        taso.Color = vari;
56        Add(taso);
57
58    }
59
60    void LisaaHahmo(Vector paikka, double leveys, double korkeus, Color vari)
61    {
62
63        hahmo = new PhysicsObject(leveys, korkeus);
64        hahmo.Position = paikka;
65
66        hahmo.Color = vari;
67        LuoOhjain();
68        Add(hahmo);
69        AddCollisionHandler(hahmo, "aarre", ArvoUusiPaikka);
70       
71
72        hahmo.Image = hahmoKuva;
73    }
74
75    void ArvoUusiPaikka(PhysicsObject hahmo, PhysicsObject aarre)
76    {
77        aarre.Position = RandomGen.SelectOne<Vector>(sijainnit);
78        pisteLaskuri.AddValue(1);
79    }
80
81    void LuoPiikki(Vector paikka, double leveys, double korkeus, Color vari)
82    {
83
84        PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus);
85        piikki.Position = paikka;
86        piikki.Color = vari;
87        piikki.Tag = "aarre";
88        Add(piikki);
89
90    }
91    void LuoTahti(Vector paikka, double leveys, double korkeus, Color vari)
92    {
93
94        PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);
95        tahti.Position = paikka;
96        tahti.Color = Color.LightBlue;
97        Add(tahti);
98
99
100
101
102    }
103    void LisaaVihollinen(Vector paikka, double leveys, double korkeus, Color vari)
104    {
105
106        PhysicsObject Vihollinen = PhysicsObject.CreateStaticObject(leveys, korkeus);
107        Vihollinen.Position = paikka;
108        Vihollinen.Color = Color.LightBlue;
109
110        // RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
111        //satunnaisAivot.ChangeMovementSeconds = 3;
112
113
114
115        //  Vihollinen.Brain = satunnaisAivot;
116        Add(Vihollinen);
117
118
119        // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta
120        //  seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella;
121    }
122    void LuoOhjain()
123    {
124
125        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-1000, 0));
126        Keyboard.Listen(Key.Left, ButtonState.Released, LiikutaPelaajaa, null, new Vector(-0, 0));
127
128        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(1000, 0));
129        Keyboard.Listen(Key.Right, ButtonState.Released, LiikutaPelaajaa, null, new Vector(0, 0));
130
131
132        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 1000));
133
134
135
136        Keyboard.Listen(Key.Up, ButtonState.Released, LiikutaPelaajaa, null, new Vector(0, 0));
137        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000));
138
139
140
141        Keyboard.Listen(Key.Down, ButtonState.Released, LiikutaPelaajaa, null, new Vector(0, -0));
142    }
143    void LiikutaPelaajaa(Vector vektori)
144    {
145
146        hahmo.Push(vektori);
147    }
148
149
150    void LuoPistelaskuri()
151    {
152        pisteLaskuri = new IntMeter(0);
153
154        Label pisteNaytto = new Label();
155        pisteNaytto.X = Screen.Left + 100;
156        pisteNaytto.Y = Screen.Top - 100;
157        pisteNaytto.TextColor = Color.Black;
158        pisteNaytto.Color = Color.White;
159
160        pisteNaytto.BindTo(pisteLaskuri);
161        Add(pisteNaytto);
162
163     
164
165    }
166}
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
Note: See TracBrowser for help on using the repository browser.