1 | using System; |
---|
2 | using System.Collections.Generic; |
---|
3 | using Jypeli; |
---|
4 | using Jypeli.Assets; |
---|
5 | using Jypeli.Controls; |
---|
6 | using Jypeli.Effects; |
---|
7 | using Jypeli.Widgets; |
---|
8 | |
---|
9 | public 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 | } |
---|