source: 2018/26/TeemuH/Yeet/Yeet/Yeet.cs @ 9798

Revision 9798, 9.9 KB checked in by otosjahn, 14 months ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Widgets;
7
8public class Yeet : PhysicsGame
9{
10    Image pelaajakuva = LoadImage("velho2");
11    Image Lisaatausta = LoadImage("seina4");
12    Image vihollinen1 = LoadImage("Vihollinen1");
13    Image taistelu = LoadImage("taistelu");
14    Image Combatkuva = LoadImage("VelhoVihollinen");
15    Image TitleScreen = LoadImage("TitleScreen");
16    Image VelhoVihollinen = LoadImage("taistelu");
17    Image sormiKuva = LoadImage("Sormi");
18    Image tokahuone = LoadImage("Seina5");
19    Image elama = LoadImage("sydan");
20    Image boar = LoadImage("pixelipossu");
21    Image velhopossu = LoadImage("velhoboar");
22    Image possuveltotaisto = LoadImage("possuvelhotaisto");
23    Image loppu = LoadImage("end");
24    SoundEffect Combatintro = LoadSoundEffect("Combatintro");
25    SoundEffect taustamusa = LoadSoundEffect("taustamusamp3");
26    SoundEffect niminaytto = LoadSoundEffect("intro");
27    SoundEffect taistelubiisi = LoadSoundEffect("taistelumusa");
28    SoundEffect loppubiisi = LoadSoundEffect("loppumusa");
29    PhysicsObject pelaaja;
30    PhysicsObject vihollinen;
31    PhysicsObject nimi;
32    PhysicsObject possuvene;
33    bool seinavaihtuu = false;
34    IntMeter pisteLaskuri;
35    int taistelunVoitto = 35;
36    int taistelunVoitto2 = 100;
37    //PhysicsObject vihollinen1;
38
39
40    public override void Begin()
41    {
42
43        Screen.Size = new Vector(1080, 1080);
44        SetWindowSize(1080, 1080);
45        //IsFullScreen = true;
46        Level.BackgroundColor = Color.Black;
47        NimiNaytto();
48
49
50
51    }
52
53    void AloitaPeli()
54    {
55        ClearAll();
56        LisaaTausta();
57        LisaaPelaaja();
58        Reunat();
59        Vihollinen();
60        MediaPlayer.Play("taustamusamp3");
61        MediaPlayer.IsRepeating = true;
62    }
63    void NimiNaytto()
64    {
65        //ClearAll();
66        nimi = new PhysicsObject(1080, 1080);
67        nimi.Image = TitleScreen;
68        nimi.X = 0;
69        nimi.Y = 0;
70        SmoothTextures = false;
71        MediaPlayer.Play("intro");
72        Add(nimi);
73        Keyboard.Listen(Key.Space, ButtonState.Pressed, AloitaPeli, null);
74
75    }
76
77    void BoarVessel()
78    {
79        possuvene = new PhysicsObject(100, 100);
80        possuvene.Image = LoadImage("pixelipossu");
81        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(500);
82        satunnaisAivot.ChangeMovementSeconds = 1;
83        possuvene.Brain = satunnaisAivot;
84        possuvene.CanRotate = false;
85        possuvene.Tag = "possuvene";
86        Add(possuvene);
87    }
88
89    void Sormi()
90    {
91        PhysicsObject sormi = new PhysicsObject(100, 200);
92        sormi.Image = sormiKuva;
93        sormi.X = -50;
94        sormi.Y = 250;
95        List<Vector> polku = new List<Vector>();
96        PathFollowerBrain polkuAivot = new PathFollowerBrain();
97        polku.Add(new Vector(-50, 150));
98        polku.Add(new Vector(-50, 250));
99        polku.Add(new Vector(-50, 150));
100        polkuAivot.Path = polku;
101        //polkuAivot = null;
102        polkuAivot.Loop = true;
103        sormi.Brain = polkuAivot;
104        polkuAivot.Speed = 2000;
105        polkuAivot.Active = true;
106        Add(sormi, 3);
107    }
108    void LisaaPelaaja()
109    {
110        pelaaja = new PhysicsObject(100, 100);
111        pelaaja.Y = 400;
112        pelaaja.LinearDamping = 0.2;
113        pelaaja.Image = pelaajakuva;
114        pelaaja.CanRotate = false;
115        SmoothTextures = false;
116        AddCollisionHandler(pelaaja, "vihollinen", PelaajaTormasi);
117        AddCollisionHandler(pelaaja,"possuvene", PossuTormays);
118        Add(pelaaja);
119
120        Keyboard.ListenArrows(ButtonState.Down, LiikutaPelaajaa, "liikuta hahmoa");
121    }
122
123    void PossuTormays(PhysicsObject pelaaja, PhysicsObject vihollinen)
124    {
125        ClearGameObjects();
126        GameObject taistelu = new GameObject(1080, 1080);
127        taistelu.Image = LoadImage("possuvelhotaisto");
128        Combatintro.Play();
129        Timer.SingleShot(4, PossuTaistelu);
130        MediaPlayer.Stop();
131        Add(taistelu);
132    }
133
134    void PossuTaistelu()
135    {
136        ClearAll();
137        GameObject Combat = new GameObject(1080, 1080);
138        Combat.X = 0;
139        Combat.Y = 0;
140        MediaPlayer.Play("taistelumusa");
141        Add(Combat);
142        Combat.Image = velhopossu;
143        //LuoPisteLaskuri();
144        Space();
145        Sormi();
146        PossuPisteLaskuri();
147        Add(MessageDisplay);
148        Timer.SingleShot(20, LiianVahanPainalluksia2);
149    }
150
151     
152
153    void LisaaTausta()
154    {
155
156        Image seinä = LoadImage("seina4");
157        Level.Background.Image = seinä;
158
159        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
160        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
161
162    }
163
164    void ToinenHuone()
165    {
166        Image seinä = LoadImage("seina5");
167        Level.Background.Image = tokahuone;
168        pelaaja.X = -pelaaja.X;
169        BoarVessel();
170        //LisaaPelaaja();
171
172
173    }
174    void LiikutaPelaajaa(Vector vektori)
175    {
176        pelaaja.Hit(vektori * 1000);
177
178    }
179
180    void Reunat()
181    {
182        PhysicsObject alaReuna = PhysicsObject.CreateStaticObject(Level.Width, 100);
183        alaReuna.Position = new Vector(0, Level.Bottom - 100);
184        alaReuna.IsVisible = false;
185        Add(alaReuna);
186        PhysicsObject ylaReuna = PhysicsObject.CreateStaticObject(Level.Width, 100);
187        ylaReuna.Position = new Vector(0, Level.Top + 80);
188        ylaReuna.IsVisible = false;
189        Add(ylaReuna);
190        PhysicsObject oikeaReuna = PhysicsObject.CreateStaticObject(100, Level.Height);
191        oikeaReuna.Position = new Vector(Level.Right, 0);
192        oikeaReuna.IsVisible = false;
193        AddCollisionHandler(oikeaReuna, pelaaja, TormaaSeinaan);
194        Add(oikeaReuna);
195        PhysicsObject vasenReuna = PhysicsObject.CreateStaticObject(100, Level.Height);
196        vasenReuna.Position = new Vector(Level.Left, 0);
197        vasenReuna.IsVisible = false;
198        Add(vasenReuna);
199    }
200    void TormaaSeinaan(PhysicsObject kohde, PhysicsObject jotain)
201    {
202        if (seinavaihtuu == true) { ToinenHuone(); }
203    }
204
205    void Vihollinen()
206    {
207        vihollinen = new PhysicsObject(100, 100);
208        vihollinen.Image = LoadImage("Vihollinen1");
209        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(500);
210        satunnaisAivot.ChangeMovementSeconds = 1;
211        vihollinen.Brain = satunnaisAivot;
212        vihollinen.CanRotate = false;
213        vihollinen.Tag = "vihollinen";
214        Add(vihollinen);
215
216    }
217
218    void PelaajaTormasi(PhysicsObject pelaaja, PhysicsObject vihollinen)
219    {
220        ClearGameObjects();
221        GameObject taistelu = new GameObject(1080, 1080);
222        taistelu.Image = LoadImage("taistelu");
223        Combatintro.Play();
224        Timer.SingleShot(3, Taistelu);
225        MediaPlayer.Stop();
226        Add(taistelu);
227
228
229    }
230
231    void PelaajaBoar()
232    {
233        AddCollisionHandler(pelaaja, "possuvene", PelaajaTormasi);
234    }
235
236    void LoppuRuutu()
237    {
238        ClearAll();
239        PhysicsObject lopetus = new PhysicsObject(1080, 1080);
240        lopetus.Image =loppu;
241        MediaPlayer.Play("loppumusa");
242        Timer.SingleShot(100, AloitaPeli);
243        Add(lopetus);
244
245    }
246
247
248
249    void Taistelu()
250    {
251        ClearAll();
252        GameObject Combat = new GameObject(1080, 1080);
253        Combat.X = 0;
254        Combat.Y = 0;
255        MediaPlayer.Play("taistelumusa");
256        Add(Combat);
257        Combat.Image = Combatkuva;
258        //LuoPisteLaskuri();
259        Space();
260        Sormi();
261        LisaaPiste();
262        Add(MessageDisplay);
263        Timer.SingleShot(5, LiianVahanPainalluksia);
264
265    }
266
267    void Space()
268    {
269        Keyboard.Listen(Key.Space, ButtonState.Pressed, Piste, "Get a point during combat");
270    }
271
272    void LisaaPiste()
273    {
274 
275         
276        pisteLaskuri = new IntMeter(0,0,taistelunVoitto);
277        Label pisteNaytto = new Label();
278        pisteNaytto.Y = Screen.Top - 200;
279        pisteNaytto.TextColor = Color.Black;
280        pisteNaytto.Color = Color.White;
281        pisteNaytto.Title = "Presses";
282        pisteNaytto.BindTo(pisteLaskuri);
283        pisteLaskuri.UpperLimit += TarpeeksiPainalluksia;
284        Add(pisteNaytto);
285       
286    }
287
288    void PossuPisteLaskuri()
289    {
290
291        pisteLaskuri = new IntMeter(0, 0, taistelunVoitto2);
292        Label pisteNaytto = new Label();
293        //pisteNaytto.X = Screen.Top;
294        pisteNaytto.Y = Screen.Top - 200;
295        pisteNaytto.TextColor = Color.Black;
296        pisteNaytto.Color = Color.White;
297        pisteNaytto.Title = "Presses";
298        pisteNaytto.BindTo(pisteLaskuri);
299        pisteLaskuri.UpperLimit += TarpeeksiPainalluksia2;
300        Add(pisteNaytto);
301
302    }
303
304    void TarpeeksiPossuja()
305    {
306
307        ClearTimers();
308        MessageDisplay.Add("Good job smashing!");
309    }
310
311    void Piste()
312    {
313        pisteLaskuri.AddValue(1);
314        //MessageDisplay.Add("Painallus");
315    }
316    void TarpeeksiPainalluksia()
317    {
318        ClearTimers();
319        MessageDisplay.Add("Good job smashing!");
320       
321
322        TaistelunJalkeen();
323    }
324
325    void TarpeeksiPainalluksia2()
326    {
327        ClearTimers();
328        MessageDisplay.Add("Good job smashing!");
329        TaistelunJalkeen();
330        LoppuRuutu();
331    }
332    void LiianVahanPainalluksia()
333    {
334        MessageDisplay.Add("PRESS HARDER!");
335    }
336    void LiianVahanPainalluksia2()
337    {
338        MessageDisplay.Add("PRESS HARDER!");
339        LoppuRuutu();
340    }
341
342    void TaistelunJalkeen()
343    {
344        Timer.SingleShot(2.0,ToisenHuoneenAloitus);
345        seinavaihtuu = true;
346        vihollinen.Destroy();
347
348    }
349
350    void ToisenHuoneenAloitus()
351    {
352        ClearAll();
353        LisaaTausta();
354        LisaaPelaaja();
355        Reunat();
356       //Vihollinen();
357        MediaPlayer.Play("taustamusamp3");
358        MediaPlayer.IsRepeating = true;
359    }
360   
361}
Note: See TracBrowser for help on using the repository browser.