source: 2014/30/MikaH/Erämaan Valloittaja/Erämaan Valloittaja/Erämaan Valloittaja/Erämaan_Valloittaja.cs @ 5672

Revision 5672, 5.8 KB checked in by mikmaral, 6 years ago (diff)

Vähä juttuja

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Erämaan_Valloittaja : PhysicsGame
10{
11
12    PhysicsObject Pommi;
13    Shape pomminmuoto;
14    Shape kiven1muoto;
15    Image pommikuva = LoadImage("Bomb");
16    Image kivikuva1 = LoadImage("kivi1");
17    Shape puunmuoto;
18    Image puukuva = LoadImage("puu");
19    Image taustakuva = LoadImage("maisema2");
20    Shape pelaajanmuoto;
21    Image pelaajakuva = LoadImage("PlayerStandingWatchingRigh");
22    PhysicsObject Pelaaja;
23    Vector nopeusOikealle = new Vector(1000, 0);
24    Vector nopeusVasemmalle = new Vector(-1000, 0);
25    Shape kepinmuoto;
26    Image kepinkuva = LoadImage("keppi");
27
28    public override void Begin()
29    {
30        SetWindowSize(1200, 1000, false);
31
32
33
34        aloitaAlusta();
35
36
37
38
39    }
40
41    void LuoAikaLaskurikivi()
42    {
43        Timer aikaLaskurikivi = new Timer();
44        aikaLaskurikivi.Interval = 0.5;
45        aikaLaskurikivi.Timeout += delegate
46        {
47            LuoKivia();
48
49            if (aikaLaskurikivi.Interval > 0.05)
50                aikaLaskurikivi.Interval -= 0.005;
51        };
52        aikaLaskurikivi.Timeout += aikaLaskurikivi.Start;
53        aikaLaskurikivi.Start(1);
54    }
55
56    void LuoKeppeja()
57    {
58        int keppix = RandomGen.NextInt(-5000, 5000);
59        LuoKeppi(keppix, 1000);
60    }
61
62
63    void LuoAikaLaskuri()
64    {
65        Timer aikaLaskuri = new Timer();
66        aikaLaskuri.Interval = 4;
67        aikaLaskuri.Timeout += ClearAll;
68        aikaLaskuri.Start(1);
69
70    }
71
72    void LuoAikaLaskurikeppi()
73    {
74        Timer aikaLaskurikeppi = new Timer();
75        aikaLaskurikeppi.Interval = 0.1;
76        aikaLaskurikeppi.Timeout += LuoKeppeja;
77        aikaLaskurikeppi.Timeout += aikaLaskurikeppi.Start;
78        aikaLaskurikeppi.Start(1);
79    }
80
81   
82
83
84   
85
86   
87
88
89    void aloitaAlusta()
90    {
91        ClearAll();
92        //LuoAikaLaskuri();
93
94        Level.Width = 5000;
95        //Level.Height = 1000;
96
97        Level.CreateLeftBorder();
98        Level.CreateRightBorder();
99        Level.CreateTopBorder();
100
101
102       
103        LuoAikaLaskurikivi();
104        LuoAikaLaskurikeppi();
105        puunmuoto = Shape.FromImage(puukuva);
106       
107       
108        GameObject taustaPilvet = new GameObject(Screen.Width, Screen.Height);
109        taustaPilvet.Image = taustakuva;
110        Add(taustaPilvet, -3);
111        Layers[-3].RelativeTransition = new Vector(0.0, 0.0);
112
113
114
115        //Level.Background.Image = taustakuva;
116        //Level.Background.FitToLevel();
117
118
119
120       
121        Surface alareuna = Surface.CreateBottom(Level, 2010, 2000, 50, 1);
122        Add(alareuna);
123
124        kepinmuoto = Shape.FromImage(kepinkuva);
125        kiven1muoto = Shape.FromImage(kivikuva1);
126
127        pelaajanmuoto = Shape.FromImage(pelaajakuva);
128        LuoKentta();
129        AsetaOhjaimet();
130        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
131       
132
133
134
135
136    }
137
138    void tuhooPelaaja(PhysicsObject Pelaaja, PhysicsObject keppi)
139    {
140        Pelaaja.Destroy();
141
142        Timer.SingleShot(1, aloitaAlusta);
143    }
144    void LuoKivia()
145    {
146
147        int kivix = RandomGen.NextInt(-5000, 5000);
148        LuoKivi1(40, 40, kivix, 1000);
149
150
151    }
152
153
154
155
156
157    void LuoKentta()
158    {
159       
160        Gravity = new Vector(0, -400);
161   
162
163        Keppilaskuri();
164
165        LuoPelaaja();
166
167    }
168
169    IntMeter Keppienmaara;
170
171    void Keppilaskuri()
172    {
173        Keppienmaara = 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        pisteNaytto.Title = "Kepit";
181
182        pisteNaytto.BindTo(Keppienmaara);
183        Add(pisteNaytto);
184    }
185
186
187    void LuoKivi1(double kivi1leveys, double kivi1pituus, double x, double y)
188    {
189        PhysicsObject kivi1 = new PhysicsObject(kivi1leveys, kivi1pituus);
190        kivi1.Tag = "kiviaahh!ruumiita!nytsattuu!!";
191
192        AddCollisionHandler(kivi1, Pelaaja, CollisionHandler.DestroyObject);
193        kivi1.IgnoresCollisionResponse = true;
194
195
196
197        kivi1.X = x;
198        kivi1.Y = y;
199
200
201        kivi1.Image = kivikuva1;
202        Add(kivi1);
203    }
204
205
206
207    void LuoPelaaja()
208    {
209        Pelaaja = new PhysicsObject(180, 300);
210        Pelaaja.CanRotate = false;
211        Pelaaja.Image = pelaajakuva;
212        Pelaaja.Y = -200;
213        Pelaaja.Tag = "pellaaja";
214        AddCollisionHandler(Pelaaja, "kepukka", keraakeppi);
215        //AddCollisionHandler(Pelaaja, "kiviaahh!ruumiita!nytsattuu!!", tuhooPelaaja);
216        Add(Pelaaja);
217        Camera.Follow(Pelaaja);
218
219    }
220
221    void AsetaOhjaimet()
222    {
223
224        Keyboard.Listen(Key.D, ButtonState.Down, AsetaNopeus, "Mene Oikealle", Pelaaja, nopeusOikealle);
225        Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeus, null, Pelaaja, Vector.Zero);
226        Keyboard.Listen(Key.A, ButtonState.Down, AsetaNopeus, "Mene Vasemmalle", Pelaaja, nopeusVasemmalle);
227        Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeus, null, Pelaaja, Vector.Zero);
228
229    }
230
231
232
233
234
235    void keraakeppi(PhysicsObject Pelaaja, PhysicsObject keppi)
236    {
237
238        Keppienmaara.Value = Keppienmaara + 1;
239        keppi.Destroy();
240    }
241
242    void AsetaNopeus(PhysicsObject Pelaaja, Vector nopeus)
243    {
244        Pelaaja.Velocity = nopeus;
245    }
246
247    void LuoKeppi(double x, double y)
248    {
249        PhysicsObject keppi = new PhysicsObject(10, 100);
250        keppi.IgnoresCollisionResponse = false;
251        keppi.Image = kepinkuva;
252        keppi.Tag = "kepukka";
253        keppi.X = x;
254        keppi.Y = y;
255
256
257        Add(keppi);
258    }
259
260
261
262
263
264
265
266
267
268}
Note: See TracBrowser for help on using the repository browser.