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

Revision 8695, 8.5 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 MeksikoMies = LoadImage("Meksiko mies");
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, "seinä", 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(150.0, 200.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 = 350;
78        seuraajanAivot.DistanceFar = 700;
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        Add(alkuValikko);
122    }
123    void Tasovalikko()
124    {
125        ClearAll();
126        MultiSelectWindow tasoValikko = new MultiSelectWindow("Valitse vaikeustaso", "Vaikea", "Normaali", "Helppo");
127        tasoValikko.AddItemHandler(0, LuoKentta3);
128        tasoValikko.AddItemHandler(1, LuoKentta2);
129        tasoValikko.AddItemHandler(2, LuoKentta);
130        Add(tasoValikko);
131    }
132    void Pelaa()
133    {
134        Tasovalikko();
135    }
136    void Kuolemaruutu()
137    {
138        ClearAll();
139        MultiSelectWindow kuolemaIkkuna = new MultiSelectWindow("Nyt Trump rakentaa seinan!", "Yrita uudelleen");
140        GameObject trumpSeina = new GameObject(300.0, 200.0);
141        kuolemaIkkuna.AddItemHandler(0, Tasovalikko);
142        Level.Background.Image = TrumpinSeinä;
143        Add(kuolemaIkkuna);
144    }
145    void Voittoruutu()
146    {
147
148    }
149    void Ohjeet()
150    {
151        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, PELASTA MEKSIKO! (Onnea matkaan!)");
152        ohjeIkkuna.Closed += delegate { alkuValikko();};
153        Add(ohjeIkkuna);
154    }
155    void PelaajaTormasi(PhysicsObject olio, PhysicsObject Trump1)
156    {
157        olio.Destroy();
158        MessageDisplay.Add("Kuolit");
159        Kuolemaruutu();
160    }
161    void PelaajaTormasi2(PhysicsObject olio, PhysicsObject Trump3)
162    {
163        olio.Destroy();
164        MessageDisplay.Add("Kuolit!");
165        Kuolemaruutu();
166    }
167    void PelaajaTormasiSeinaan(PhysicsObject olio, PhysicsObject seina)
168    {
169        olio.Destroy();
170        MessageDisplay.Add("Kuolit!");
171        Kuolemaruutu();
172    }
173    void LuoKentta()
174    {
175        ClearAll();
176        LisaaOlio();
177        AsetaOhjaimet();
178        LuoKentanPohja();
179        LisaaTrump1(-360.0, 300.0);
180        LisaaTrump1(360.0, -300.0);
181        LisaaTrump3(640.0, 0.0);
182        LisaaTrump3(-640.0, 0.0);
183        Sonic();
184    }
185    DoubleMeter alaspainLaskuri;
186    Timer aikaLaskuri;
187    void LuoKentta2()
188    {
189        ClearAll();
190        LisaaOlio();
191        AsetaOhjaimet();
192        LuoKentanPohja();
193        LisaaTrump1(-360.0, 300.0);
194        LisaaTrump1(-360.0, -300.0);
195        LisaaTrump1(360.0, 300.0);
196        LisaaTrump1(360.0, -300.0);
197        LisaaTrump3(640.0, 0.0);
198        LisaaTrump3(-640.0, 0.0);
199        Sonic();
200    }
201    void LuoKentta3()
202    {
203        ClearAll();
204        LisaaOlio();
205        AsetaOhjaimet();
206        LuoKentanPohja();
207        LisaaTrump1(-650.0, 300.0);
208        LisaaTrump1(-650.0, -300.0);
209        LisaaTrump1(650.0, 300.0);
210        LisaaTrump1(650.0, -300.0);
211        LisaaTrump3(550.0, -150.0);
212        LisaaTrump3(550.0, 150.0);
213        LisaaTrump3(-550.0, -150.0);
214        LisaaTrump3(-550.0, 150.0);
215        Sonic();
216    }
217    void LuoKentanPohja()
218    {
219        Level.Width = 1500.0;
220        Level.Height = 750.0;
221        vasenReuna = Level.CreateLeftBorder();
222        vasenReuna.Color = Color.Red;
223        vasenReuna.Tag = "seina";
224        oikeaReuna = Level.CreateRightBorder();
225        oikeaReuna.Color = Color.Red;
226        oikeaReuna.Tag = "seina";
227        alaReuna = Level.CreateBottomBorder();
228        alaReuna.Color = Color.Red;
229        alaReuna.Tag = "seina";
230        ylaReuna = Level.CreateTopBorder();
231        ylaReuna.Color = Color.Red;
232        ylaReuna.Tag = "seina";
233        Level.Background.Color = Color.Black;
234        Level.Background.Image = TrumpvsMeksiko;
235        Level.Background.FitToLevel();
236        LuoAikaLaskuri(0.0, 500.0);
237    }
238    void LuoAikaLaskuri(double x, double y)
239    {
240        alaspainLaskuri = new DoubleMeter(30);
241        alaspainLaskuri.LowerLimit += Tasovalikko;
242        aikaLaskuri = new Timer();
243        aikaLaskuri.Interval = 0.1;
244        aikaLaskuri.Timeout += LaskeAlaspain;
245        aikaLaskuri.Start();
246
247        Label aikaNaytto = new Label();
248        aikaNaytto.TextColor = Color.White;
249        aikaNaytto.DecimalPlaces = 1;
250        aikaNaytto.BindTo(alaspainLaskuri);
251        Add(aikaNaytto);
252        aikaNaytto.Y = Level.Top - 30;
253    }
254   
255    void LaskeAlaspain()
256    {
257        alaspainLaskuri.Value -= 0.1;
258
259        if (alaspainLaskuri.Value <= 0)
260        {
261            MessageDisplay.Add("Läpäisit tason");
262        }
263    }
264}
Note: See TracBrowser for help on using the repository browser.