source: 2017/24/MikoA/Trump vs Meksiko/Trump vs Meksiko1/Trump vs Meksiko1/Trump_vs_Meksiko1/Trump_vs_Meksiko1.cs @ 8719

Revision 8719, 10.0 KB checked in by npo17_20, 4 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 Trump_vs_Meksiko1 : PhysicsGame
10{
11    Image olionKuva = LoadImage("Meksikon lippu");
12    Image Trump1Kuva = LoadImage("Trump naama 1");
13    Image Trump2Kuva = LoadImage("Trump naama 2");
14    Image Trump3Kuva = LoadImage("Trump naama 3");
15    Image TrumpinSeinä = LoadImage("Trump seinä");
16    Image MeksikolainenMies = LoadImage("Meksiko mies 1");
17    Image TrumpvsMeksiko = LoadImage("Trump vs Meksiko");
18    Image Emoji = LoadImage("Emoji");
19    SoundEffect ImReallyRich = LoadSoundEffect("rich");
20    SoundEffect ChinaSound = LoadSoundEffect("China");
21    PhysicsObject olio;
22    PhysicsObject Trump1;
23    PhysicsObject Trump3;
24    PhysicsObject vasenReuna;
25    PhysicsObject oikeaReuna;
26    PhysicsObject alaReuna;
27    PhysicsObject ylaReuna;
28    int kenttanro = 1;
29    public override void Begin()
30    {
31        alkuValikko();
32    }
33        void LisaaOlio()
34    {
35        olio = new PhysicsObject(150, 75);
36        olio.MakeStatic();
37        olio.Image = olionKuva;
38        AddCollisionHandler(olio, "seina", PelaajaTormasiSeinaan);
39        AddCollisionHandler(olio, "Trump1", PelaajaTormasi);
40        AddCollisionHandler(olio, "Trump3", PelaajaTormasi2);
41        Add(olio);
42        Mouse.ListenMovement(0.1, KuunteleLiiketta, null);
43        olio.Tag = "Pelaaja";
44    }
45    void LisaaTrump1(double x, double y)
46    {
47        Trump1 = new PhysicsObject(150.0, 130.0);
48        Trump1.X = x;
49        Trump1.Y = y;
50        AddCollisionHandler(Trump1, "Pelaaja", Huuda2);
51        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
52        satunnaisAivot.ChangeMovementSeconds = 2;
53        satunnaisAivot.TurnWhileMoving = true;
54        satunnaisAivot.Active = true;
55        Trump1.Brain = satunnaisAivot;
56        Trump1.Image = Trump1Kuva;
57        Trump1.Tag = "Trump1";
58        Add(Trump1);
59        }
60    void Huuda2(PhysicsObject trump1, PhysicsObject pelaaja)
61    {
62        ChinaSound.Play();
63    }
64    void Sonic()
65    {
66        MediaPlayer.Play("Sonic");
67        MediaPlayer.IsRepeating = true;
68    }
69    void LisaaTrump3(double x, double y)
70    {
71        Trump3 = new PhysicsObject(125.0, 175.0);
72        Trump3.X = x;
73        Trump3.Y = y;
74        FollowerBrain seuraajanAivot = new FollowerBrain(olio);
75        seuraajanAivot.DistanceToTarget.AddTrigger(0, TriggerDirection.Down, Huuda);
76        Trump3.Brain = seuraajanAivot;
77        seuraajanAivot.Speed = 240;
78        seuraajanAivot.DistanceFar = 5000;
79        seuraajanAivot.DistanceClose = 200;
80        seuraajanAivot.StopWhenTargetClose = false;
81        seuraajanAivot.TurnWhileMoving = true;
82        Trump3.Brain = seuraajanAivot;
83        seuraajanAivot.Active = true;
84        Trump3.Image = Trump3Kuva;
85        Trump3.Tag = "Trump3";
86        Add(Trump3);
87        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200);
88        satunnaisAivot.ChangeMovementSeconds = 3;
89        satunnaisAivot.TurnWhileMoving = true;
90        satunnaisAivot.Active = true;
91        seuraajanAivot.FarBrain = satunnaisAivot;
92
93    }
94    void Huuda()
95    {
96        ImReallyRich.Play();
97    }
98    void KuunteleLiiketta(AnalogState hiirenTila)
99    {
100        if ( Mouse.PositionOnWorld.X > Level.Left  &&  Mouse.PositionOnWorld.X < Level.Right
101             && Mouse.PositionOnWorld.Y >Level.Bottom && Mouse.PositionOnWorld.Y < Level.Top)
102        {
103            olio.X = Mouse.PositionOnWorld.X;
104            olio.Y = Mouse.PositionOnWorld.Y;
105        }
106       
107        Vector hiirenLiike = hiirenTila.MouseMovement;
108    }
109    void AsetaOhjaimet()
110    {
111        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
112        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
113    }
114    void alkuValikko()
115    {
116        MultiSelectWindow alkuValikko = new MultiSelectWindow("Alkuvalikko",
117"Pelaa", "Ohjeet", "Lopeta");
118        alkuValikko.AddItemHandler(0, Pelaa);
119        alkuValikko.AddItemHandler(1, Ohjeet);
120        alkuValikko.AddItemHandler(2, Exit);
121        Level.Background.Image = Trump2Kuva;
122        Level.Background.FitToLevel();
123        Add(alkuValikko);
124    }
125    void Tasovalikko()
126    {
127        ClearAll();
128        MultiSelectWindow tasoValikko = new MultiSelectWindow("Valitse vaikeustaso", "Todella Vaikea", "Vaikea", "Normaali");
129        tasoValikko.AddItemHandler(0, LuoKentta3);
130        tasoValikko.AddItemHandler(1, LuoKentta2);
131        tasoValikko.AddItemHandler(2, LuoKentta);
132        Add(tasoValikko);
133    }
134    void Pelaa()
135    {
136        Tasovalikko();
137    }
138    void Kuolemaruutu()
139    {
140        ClearAll();
141        MultiSelectWindow kuolemaIkkuna = new MultiSelectWindow("Kuolit! Nyt Trump rakentaa seinan!", "Yrita uudelleen");
142        kuolemaIkkuna.AddItemHandler(0, Tasovalikko);
143        Level.Background.Image = TrumpinSeinä;
144        Add(kuolemaIkkuna);
145    }
146    void Voittoruutu1()
147    {
148        ClearAll();
149        MultiSelectWindow voittoIkkuna = new MultiSelectWindow("Hyvä! Pelastit Meksikon ja nyt Trump ei voi rakentaa muuria! Yrittäisitkö tehda saman vaikeammalla, tai samalla vaikeustasolla?", "Vaikea", "Normaali");
150        GameObject MeksikoMies = new GameObject(300.0, 200.0);
151        voittoIkkuna.AddItemHandler(0, LuoKentta);
152        voittoIkkuna.AddItemHandler(1, LuoKentta2);
153        Level.Background.Image = MeksikolainenMies;
154        Add(voittoIkkuna);
155    }
156    void Voittoruutu2()
157    {
158        ClearAll();
159        MultiSelectWindow voittoIkkuna2 = new MultiSelectWindow("Hyvä! Pelastit Meksikon ja nyt Trump ei voi rakentaa muuria! Yrittäisitkö tehda saman vaikeammalla, tai samalla vaikeustasolla?", "Todella Vaikea", "Vaikea");
160        GameObject MeksikoMies = new GameObject(300.0, 200.0);
161        voittoIkkuna2.AddItemHandler(0, LuoKentta3);
162        Level.Background.Image = MeksikolainenMies;
163        Add(voittoIkkuna2);
164    }
165    void Voittoruutu3()
166    {
167        ClearAll();
168        MultiSelectWindow voittoIkkuna3 = new MultiSelectWindow("Hyvä! Pelastit Meksikon ja nyt Trump ei voi rakentaa muuria! Olet nyt voittanut Trumpin totaalisesti, koska voitit pelin vaikeimmalla vaikeustasolla. Hyvää työtä!", "Pelaa uudelleen", "Lopeta peli");
169        GameObject MeksikoMies = new GameObject(300.0, 200.0);
170        voittoIkkuna3.AddItemHandler(0, alkuValikko);
171        voittoIkkuna3.AddItemHandler(1, Exit);
172        Level.Background.Image = MeksikolainenMies;
173        Add(voittoIkkuna3);
174    }
175    void Ohjeet()
176    {
177        MessageWindow ohjeIkkuna = new MessageWindow("Yritä väistellä Trumpin päitä. Sinun täytyy selvitä 30s, jos osut Trumpin päähän joudut aloittamaan alusta. Helpommassa vaikeustasossa on vähemmän Trumppeja ja vaikeammassa enemmän. Älä osu Trumppiin tai hän rakentaa muurin. Vinkki: Käytä pienempiä Trumpin päitä hyväksesi, kun pakenet sinua seuraavia päitä. PELASTA MEKSIKO! Onnea matkaan! (Sitä tulet tarvitsemaan)");
178        ohjeIkkuna.Closed += delegate { alkuValikko();};
179        Add(ohjeIkkuna);
180    }
181    void PelaajaTormasi(PhysicsObject olio, PhysicsObject Trump1)
182    {
183        olio.Destroy();
184        MessageDisplay.Add("Kuolit");
185        Kuolemaruutu();
186    }
187    void PelaajaTormasi2(PhysicsObject olio, PhysicsObject Trump3)
188    {
189        olio.Destroy();
190        MessageDisplay.Add("Kuolit!");
191        Kuolemaruutu();
192    }
193    void PelaajaTormasiSeinaan(PhysicsObject olio, PhysicsObject seina)
194    {
195        olio.Destroy();
196        MessageDisplay.Add("Kuolit!");
197        Kuolemaruutu();
198    }
199    void LuoKentta()
200    {
201        ClearAll();
202        LisaaOlio();
203        AsetaOhjaimet();
204        LuoKentanPohja();
205        LisaaTrump1(-360.0, 300.0);
206        LisaaTrump1(360.0, -300.0);
207        LisaaTrump3(-640.0, 0.0);
208        Sonic();
209    }
210    DoubleMeter alaspainLaskuri;
211    Timer aikaLaskuri;
212    void LuoKentta2()
213    {
214        ClearAll();
215        LisaaOlio();
216        AsetaOhjaimet();
217        LuoKentanPohja();
218        LisaaTrump1(-360.0, 300.0);
219        LisaaTrump1(360.0, -300.0);
220        LisaaTrump3(640.0, 0.0);
221        LisaaTrump3(-640.0, 0.0);
222        Sonic();
223    }
224    void LuoKentta3()
225    {
226        ClearAll();
227        LisaaOlio();
228        AsetaOhjaimet();
229        LuoKentanPohja();
230        LisaaTrump1(-650.0, 300.0);
231        LisaaTrump1(0.0, 300.0);
232        LisaaTrump1(650.0, -300.0);
233        LisaaTrump3(550.0, 0.0);
234        LisaaTrump3(-550.0, 0.0);
235        Sonic();
236    }
237    void LuoKentanPohja()
238    {
239        Level.Width = 1500.0;
240        Level.Height = 750.0;
241        vasenReuna = Level.CreateLeftBorder();
242        vasenReuna.Color = Color.Red;
243        vasenReuna.Tag = "seina";
244        oikeaReuna = Level.CreateRightBorder();
245        oikeaReuna.Color = Color.Red;
246        oikeaReuna.Tag = "seina";
247        alaReuna = Level.CreateBottomBorder();
248        alaReuna.Color = Color.Red;
249        alaReuna.Tag = "seina";
250        ylaReuna = Level.CreateTopBorder();
251        ylaReuna.Color = Color.Red;
252        ylaReuna.Tag = "seina";
253        Level.Background.Color = Color.Black;
254        Level.Background.Image = TrumpvsMeksiko;
255        Level.Background.FitToLevel();
256        LuoAikaLaskuri(0.0, 500.0);
257    }
258    void LuoAikaLaskuri(double x, double y)
259    {
260        alaspainLaskuri = new DoubleMeter(30);
261        alaspainLaskuri.LowerLimit += Tasovalikko;
262        aikaLaskuri = new Timer();
263        aikaLaskuri.Interval = 0.1;
264        aikaLaskuri.Timeout += LaskeAlaspain;
265        aikaLaskuri.Start();
266
267        Label aikaNaytto = new Label();
268        aikaNaytto.TextColor = Color.White;
269        aikaNaytto.DecimalPlaces = 1;
270        aikaNaytto.BindTo(alaspainLaskuri);
271        Add(aikaNaytto);
272        aikaNaytto.Y = Level.Top - 30;
273    }
274   
275    void LaskeAlaspain()
276    {
277        alaspainLaskuri.Value -= 0.1;
278
279        if (alaspainLaskuri.Value <= 0)
280        {
281            MessageDisplay.Add("Läpäisit tason");
282        }
283    }
284}
Note: See TracBrowser for help on using the repository browser.