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 | |
---|
10 | public class Pelaaja : PhysicsObject |
---|
11 | { |
---|
12 | public DoubleMeter elamaMittari; |
---|
13 | public DoubleMeter turbomittari; |
---|
14 | public DoubleMeter Ammusmittari; |
---|
15 | public DoubleMeter Pistemittari; |
---|
16 | public double Latausnopeus; |
---|
17 | public double Latapati; |
---|
18 | public bool lataamassa = false; |
---|
19 | public bool Recoil = false; |
---|
20 | public bool kuollut = false; |
---|
21 | public bool HasFlag = false; |
---|
22 | public double liikkumisnopeus; |
---|
23 | public DoubleMeter Pisteputki; |
---|
24 | public Explosion Viimeisinrajahdus = null; |
---|
25 | public double Ampumisnopeus; |
---|
26 | public Image Asekuva; |
---|
27 | public string Ase; |
---|
28 | public Vector viimeisinSuunta = Vector.Zero; |
---|
29 | public PhysicsObject apupallo; |
---|
30 | public List<Vector> spawnLista; |
---|
31 | |
---|
32 | |
---|
33 | public Pelaaja(double leveys, double korkeus) |
---|
34 | : base(leveys, korkeus) |
---|
35 | { |
---|
36 | elamaMittari = new DoubleMeter(500, 0, 500); |
---|
37 | turbomittari = new DoubleMeter(50, 0, 100); |
---|
38 | Ammusmittari = new DoubleMeter(250, 0, 250); |
---|
39 | Pistemittari = new DoubleMeter(0, 0, 3000); |
---|
40 | Pisteputki = new DoubleMeter(0, 0, 10); |
---|
41 | spawnLista = new List<Vector>(); |
---|
42 | Ampumisnopeus = 512; |
---|
43 | Latausnopeus = 6.0; |
---|
44 | Latapati = 250; |
---|
45 | liikkumisnopeus = 155; |
---|
46 | |
---|
47 | Timer ajastin = new Timer(); |
---|
48 | ajastin.Interval = 1.0; |
---|
49 | ajastin.Timeout += delegate { turbomittari.Value += 5; }; |
---|
50 | ajastin.Start(); |
---|
51 | } |
---|
52 | |
---|
53 | public override void Destroy() |
---|
54 | { |
---|
55 | if (apupallo != null) this.apupallo.Destroy(); |
---|
56 | base.Destroy(); |
---|
57 | } |
---|
58 | } |
---|
59 | public class Zombi : PhysicsObject |
---|
60 | { |
---|
61 | public DoubleMeter elamaMittari; |
---|
62 | public Explosion Viimeisinrajahdus = null; |
---|
63 | public static int Zombinvauhti = 100; |
---|
64 | public static int Zombinelpit = 200; |
---|
65 | public static int Zombinvahinko = 50; |
---|
66 | |
---|
67 | public Zombi(double leveys, double korkeus) |
---|
68 | : base(leveys, korkeus) |
---|
69 | { |
---|
70 | elamaMittari = new DoubleMeter(Zombinelpit, 0, Zombinelpit); |
---|
71 | } |
---|
72 | } |
---|
73 | public class Flag : PhysicsObject |
---|
74 | { |
---|
75 | public bool OnLippu = false; |
---|
76 | public bool OnPunainen = false; |
---|
77 | |
---|
78 | public Flag(double leveys, double korkeus) |
---|
79 | : base(leveys, korkeus) |
---|
80 | { |
---|
81 | |
---|
82 | } |
---|
83 | |
---|
84 | } |
---|
85 | public class Hautausmaa : PhysicsObject |
---|
86 | { |
---|
87 | public DoubleMeter Elpit; |
---|
88 | public bool OnKunnossa = true; |
---|
89 | |
---|
90 | public Hautausmaa(double leveys, double korkeus) |
---|
91 | : base(leveys, korkeus) |
---|
92 | { |
---|
93 | Elpit = new DoubleMeter(1500, 0, 1500); |
---|
94 | } |
---|
95 | |
---|
96 | } |
---|
97 | public class FromAbove : PhysicsGame |
---|
98 | { |
---|
99 | Pelaaja pallo; |
---|
100 | Pelaaja pallo2; |
---|
101 | Pelaaja pallo3; |
---|
102 | Pelaaja pallo4; |
---|
103 | Vector syntymispaikka; |
---|
104 | Vector spawni2; |
---|
105 | Flag sinilippu; |
---|
106 | Flag punalippu; |
---|
107 | Label pisteLukub = new Label(); |
---|
108 | String asevalinta = ""; |
---|
109 | |
---|
110 | ScoreList topZombeissa = new ScoreList(10, false, 0); |
---|
111 | |
---|
112 | Vector siirtyma = new Vector(0, 130); |
---|
113 | List<Vector> kultaLista = new List<Vector>(); |
---|
114 | List<Vector> elppibonusLista = new List<Vector>(); |
---|
115 | List<Vector> Hautausmaalista = new List<Vector>(); |
---|
116 | List<Pelaaja> pelaajat = new List<Pelaaja>(); |
---|
117 | Color[] varit = { Color.Blue, Color.Red, Color.Yellow, Color.Green }; |
---|
118 | |
---|
119 | PhysicsObject alareuna; |
---|
120 | List<GameObject> aseKuvakkeet = new List<GameObject>(); |
---|
121 | GameObject Sinikuva; |
---|
122 | GameObject Punakuva; |
---|
123 | GameObject Keltakuva; |
---|
124 | GameObject Viherkuva; |
---|
125 | GameObject Text; |
---|
126 | GameObject Text2; |
---|
127 | |
---|
128 | int kuolemat = 0; |
---|
129 | int pelaajienmaara = 2; |
---|
130 | |
---|
131 | BarGauge elppiPalkki = new BarGauge(150, 75); |
---|
132 | BarGauge elppiPalkki2 = new BarGauge(150, 75); |
---|
133 | BarGauge elppiPalkki3 = new BarGauge(150, 75); |
---|
134 | BarGauge elppiPalkki4 = new BarGauge(150, 75); |
---|
135 | ProgressBar turboPalkki = new ProgressBar(150, 50); |
---|
136 | ProgressBar turboPalkki2 = new ProgressBar(150, 50); |
---|
137 | ProgressBar turboPalkki3 = new ProgressBar(150, 50); |
---|
138 | ProgressBar turboPalkki4 = new ProgressBar(150, 50); |
---|
139 | BarGauge ammusPalkki = new BarGauge(50, 150); |
---|
140 | BarGauge ammusPalkki2 = new BarGauge(50, 150); |
---|
141 | BarGauge ammusPalkki3 = new BarGauge(50, 150); |
---|
142 | BarGauge ammusPalkki4 = new BarGauge(50, 150); |
---|
143 | BarGauge pistePalkki1 = new BarGauge(200, 40); |
---|
144 | BarGauge pistePalkki2 = new BarGauge(200, 40); |
---|
145 | BarGauge pistePalkki3 = new BarGauge(200, 40); |
---|
146 | BarGauge pistePalkki4 = new BarGauge(200, 40); |
---|
147 | Image sPati = LoadImage("Punapati"); |
---|
148 | Image vPati = LoadImage("Keltapati"); |
---|
149 | Image kPati = LoadImage("Viherpati"); |
---|
150 | Image Boom = LoadImage("Boom!++++++"); |
---|
151 | Image Elppilaatikko = LoadImage("Elppilaatikko"); |
---|
152 | Image pPati = LoadImage("Sinipati"); |
---|
153 | Image kransu = LoadImage("kransu"); |
---|
154 | Image Sydan = LoadImage("Heart"); |
---|
155 | Image salama = LoadImage("Lightning"); |
---|
156 | Image Shotgun = LoadImage("Striker"); |
---|
157 | Image Famas = LoadImage("Famas"); |
---|
158 | Image Caliber = LoadImage("Caliber 89"); |
---|
159 | Image Ak47u = LoadImage("Aku"); |
---|
160 | Image Flag = LoadImage("Flag"); |
---|
161 | Image Sniper = LoadImage("Barret"); |
---|
162 | Image Light = LoadImage("Light"); |
---|
163 | Image HMG = LoadImage("HMG"); |
---|
164 | Image MGH = LoadImage("Dragunov"); |
---|
165 | Image Spas = LoadImage("Spas12"); |
---|
166 | Image kulta = LoadImage("Kulta"); |
---|
167 | |
---|
168 | Image Sinitanko = LoadImage("SiniLippuTanko"); |
---|
169 | Image Sinilippu = LoadImage("SiniLippuTankoLippu"); |
---|
170 | Image Blulippu = LoadImage("BluFlag"); |
---|
171 | Image Redlippu = LoadImage("RedFlag"); |
---|
172 | Image Punatanko = LoadImage("PunaLippuTanko"); |
---|
173 | Image Punalippu = LoadImage("PunaLippuTankoLippu"); |
---|
174 | |
---|
175 | Image elppibonus = LoadImage("Elppibonus"); |
---|
176 | Image energiabonus = LoadImage("Energiabonus"); |
---|
177 | Image palikka = LoadImage("Palikka"); |
---|
178 | Image vaarapalikka = LoadImage("Vaara"); |
---|
179 | |
---|
180 | Image ZOMBI = LoadImage("Zombi"); |
---|
181 | Image Hauta = LoadImage("Hautakivikakkaperkele"); |
---|
182 | Image HautaRikki = LoadImage("Hautakivikakkaperkelehakattupaska"); |
---|
183 | |
---|
184 | SoundEffect Kolikonkerays = LoadSoundEffect("coin-drop-5"); |
---|
185 | SoundEffect Healaus = LoadSoundEffect("tablet-bottle-1"); |
---|
186 | SoundEffect Lataus = LoadSoundEffect("gun-cocking-01"); |
---|
187 | |
---|
188 | bool Kenttalad; |
---|
189 | bool CTF; |
---|
190 | bool Zsurvival; |
---|
191 | |
---|
192 | public override void Begin() |
---|
193 | { |
---|
194 | playerscontrollers(); |
---|
195 | } |
---|
196 | |
---|
197 | void AloitaAlusta() |
---|
198 | { |
---|
199 | Kenttalad = false; |
---|
200 | CTF = false; |
---|
201 | Zsurvival = false; |
---|
202 | |
---|
203 | topZombeissa = DataStorage.TryLoad<ScoreList>(topZombeissa, "pisteet.xml"); |
---|
204 | Level.Background.CreateGradient(Color.Black, Color.Black); |
---|
205 | Timer.SingleShot(0.1, delegate |
---|
206 | { |
---|
207 | Pause(); |
---|
208 | Luokentta(); |
---|
209 | AsetaOhjaimet(); |
---|
210 | Alkuvalikko(); |
---|
211 | }); |
---|
212 | |
---|
213 | } |
---|
214 | |
---|
215 | Pelaaja Luopallo(Color vari, double x, double y) |
---|
216 | { |
---|
217 | Pelaaja pallo = new Pelaaja(25, 25); |
---|
218 | pallo.elamaMittari.LowerLimit += delegate { Pelaajakuoli(pallo); }; |
---|
219 | pallo.Pistemittari.UpperLimit += delegate { Maxpointsreached(pallo); }; |
---|
220 | pallo.Shape = Shape.Circle; |
---|
221 | pallo.Restitution = 0.0; |
---|
222 | pallo.X = x; |
---|
223 | pallo.Y = y; |
---|
224 | pallo.CanRotate = false; |
---|
225 | pallo.Tag = "pallo"; |
---|
226 | pallo.Ase = "Heavy"; |
---|
227 | pallo.Asekuva = HMG; |
---|
228 | pallo.Color = vari; |
---|
229 | |
---|
230 | PhysicsObject apupallo = new PhysicsObject(5, 5); |
---|
231 | apupallo.IgnoresCollisionResponse = true; |
---|
232 | apupallo.IgnoresGravity = true; |
---|
233 | apupallo.IsVisible = false; |
---|
234 | apupallo.Position = pallo.Position; |
---|
235 | FollowerBrain fb = new FollowerBrain(pallo); |
---|
236 | fb.Speed = 100000; |
---|
237 | apupallo.Brain = fb; |
---|
238 | pallo.apupallo = apupallo; |
---|
239 | AddCollisionHandler(apupallo, "Vaara!", delegate(PhysicsObject p, PhysicsObject o) { pallo.elamaMittari.Value = pallo.elamaMittari.MinValue; }); |
---|
240 | AddCollisionHandler(apupallo, "Flag", delegate(PhysicsObject p, Flag f) { LippuTankoKosketus(pallo, f); }); |
---|
241 | // AddCollisionHandler(apupallo, "BlueFlag", delegate(PhysicsObject p, Flag f) { LippuTankoKosketus(pallo, f); }); |
---|
242 | Add(pallo); |
---|
243 | Add(apupallo, 1); |
---|
244 | AddCollisionHandler(pallo, "Kulta", Kullankerays); |
---|
245 | AddCollisionHandler(pallo, "Elppibonus", Elppibonuskerays); |
---|
246 | AddCollisionHandler(pallo, "Turbobonus", Vauhtibonuskerays); |
---|
247 | AddCollisionHandler<Pelaaja, Zombi>(pallo, "Zombi", ZombiHyokkaa); |
---|
248 | return pallo; |
---|
249 | } |
---|
250 | void Luokentta() |
---|
251 | { |
---|
252 | Sinikuva = new GameObject(HMG); |
---|
253 | Sinikuva.Position = new Vector(-165, -260); |
---|
254 | Sinikuva.Width = 150; |
---|
255 | Sinikuva.Height = 75; |
---|
256 | Add(Sinikuva); |
---|
257 | aseKuvakkeet.Add(Sinikuva); |
---|
258 | |
---|
259 | elppiPalkki.BindTo(pallo.elamaMittari); |
---|
260 | elppiPalkki.BarColor = Color.Red; |
---|
261 | elppiPalkki.BorderColor = Color.Black; |
---|
262 | elppiPalkki.Position = new Vector(-400, -260); |
---|
263 | Add(elppiPalkki, 0); |
---|
264 | Label laatikko = new Label(); |
---|
265 | laatikko.Size = new Vector(150, 75); |
---|
266 | laatikko.Image = Elppilaatikko; |
---|
267 | laatikko.Position = elppiPalkki.Position; |
---|
268 | Add(laatikko, 1); |
---|
269 | |
---|
270 | turboPalkki.BindTo(pallo.turbomittari); |
---|
271 | turboPalkki.BarColor = new Color(Color.DarkBlue, 50); |
---|
272 | turboPalkki.BorderColor = Color.Black; |
---|
273 | turboPalkki.Position = new Vector(-165, -260); |
---|
274 | turboPalkki.Size = new Vector(150, 75); |
---|
275 | Add(turboPalkki); |
---|
276 | |
---|
277 | ammusPalkki.BindTo(pallo.Ammusmittari); |
---|
278 | ammusPalkki.BarColor = Color.Yellow; |
---|
279 | ammusPalkki.BorderColor = Color.Black; |
---|
280 | ammusPalkki.Position = new Vector(-305, -260); |
---|
281 | ammusPalkki.Size = new Vector(40, 75); |
---|
282 | Add(ammusPalkki); |
---|
283 | |
---|
284 | pistePalkki1.BindTo(pallo.Pistemittari); |
---|
285 | pistePalkki1.BarColor = Color.Blue; |
---|
286 | pistePalkki1.BorderColor = Color.White; |
---|
287 | pistePalkki1.Position = new Vector(-261, -260); |
---|
288 | pistePalkki1.Size = new Vector(40, 75); |
---|
289 | Add(pistePalkki1); |
---|
290 | |
---|
291 | Label pisteLuku1 = new Label(); |
---|
292 | pisteLuku1.BindTo(pallo.Pistemittari); |
---|
293 | pisteLuku1.Position = pistePalkki1.Position; |
---|
294 | pisteLuku1.TextColor = Color.LightBlue; |
---|
295 | pisteLuku1.Angle = Angle.FromDegrees(90); |
---|
296 | pisteLuku1.Font = Font.DefaultSmall; |
---|
297 | Add(pisteLuku1); |
---|
298 | |
---|
299 | |
---|
300 | Punakuva = new GameObject(HMG); |
---|
301 | Punakuva.Position = new Vector(165, -260); |
---|
302 | Punakuva.Width = 150; |
---|
303 | Punakuva.Height = 75; |
---|
304 | Add(Punakuva); |
---|
305 | aseKuvakkeet.Add(Punakuva); |
---|
306 | |
---|
307 | elppiPalkki2.BindTo(pallo2.elamaMittari); |
---|
308 | elppiPalkki2.BarColor = Color.Red; |
---|
309 | elppiPalkki2.BorderColor = Color.Black; |
---|
310 | elppiPalkki2.Position = new Vector(400, -260); |
---|
311 | Add(elppiPalkki2, 0); |
---|
312 | Label laatikko2 = new Label(); |
---|
313 | laatikko2.Size = new Vector(150, 75); |
---|
314 | laatikko2.Image = Elppilaatikko; |
---|
315 | laatikko2.Position = elppiPalkki2.Position; |
---|
316 | Add(laatikko2, 1); |
---|
317 | |
---|
318 | turboPalkki2.BindTo(pallo2.turbomittari); |
---|
319 | turboPalkki2.BarColor = new Color(Color.DarkBlue, 50); |
---|
320 | turboPalkki2.BorderColor = Color.Black; |
---|
321 | turboPalkki2.Position = new Vector(165, -260); |
---|
322 | turboPalkki2.Size = new Vector(150, 75); |
---|
323 | Add(turboPalkki2); |
---|
324 | |
---|
325 | ammusPalkki2.BindTo(pallo2.Ammusmittari); |
---|
326 | ammusPalkki2.BarColor = Color.Yellow; |
---|
327 | ammusPalkki2.BorderColor = Color.Black; |
---|
328 | ammusPalkki2.Position = new Vector(305, -260); |
---|
329 | ammusPalkki2.Size = new Vector(40, 75); |
---|
330 | Add(ammusPalkki2); |
---|
331 | |
---|
332 | pistePalkki2.BindTo(pallo2.Pistemittari); |
---|
333 | pistePalkki2.BarColor = Color.Red; |
---|
334 | pistePalkki2.BorderColor = Color.White; |
---|
335 | pistePalkki2.Position = new Vector(261, -260); |
---|
336 | pistePalkki2.Size = new Vector(40, 75); |
---|
337 | Add(pistePalkki2); |
---|
338 | |
---|
339 | Label pisteLuku2 = new Label(); |
---|
340 | pisteLuku2.BindTo(pallo2.Pistemittari); |
---|
341 | pisteLuku2.Position = pistePalkki2.Position; |
---|
342 | pisteLuku2.TextColor = Color.DarkRed; |
---|
343 | pisteLuku2.Angle = Angle.FromDegrees(90); |
---|
344 | pisteLuku2.Font = Font.DefaultSmall; |
---|
345 | Add(pisteLuku2); |
---|
346 | |
---|
347 | if (pelaajienmaara >= 3) |
---|
348 | { |
---|
349 | Keltakuva = new GameObject(HMG); |
---|
350 | Keltakuva.Position = new Vector(-165, -340); |
---|
351 | Keltakuva.Width = 150; |
---|
352 | Keltakuva.Height = 75; |
---|
353 | Add(Keltakuva); |
---|
354 | aseKuvakkeet.Add(Keltakuva); |
---|
355 | |
---|
356 | elppiPalkki3.BindTo(pallo3.elamaMittari); |
---|
357 | elppiPalkki3.BarColor = Color.Red; |
---|
358 | elppiPalkki3.BorderColor = Color.Black; |
---|
359 | elppiPalkki3.Position = new Vector(-400, -340); |
---|
360 | Add(elppiPalkki3, 0); |
---|
361 | Label laatikko3 = new Label(); |
---|
362 | laatikko3.Size = new Vector(150, 75); |
---|
363 | laatikko3.Image = Elppilaatikko; |
---|
364 | laatikko3.Position = elppiPalkki3.Position; |
---|
365 | Add(laatikko3, 1); |
---|
366 | |
---|
367 | turboPalkki3.BindTo(pallo3.turbomittari); |
---|
368 | turboPalkki3.BorderColor = Color.Black; |
---|
369 | turboPalkki3.Position = new Vector(-165, -340); |
---|
370 | turboPalkki3.Size = new Vector(150, 75); |
---|
371 | turboPalkki3.BarColor = new Color(Color.DarkBlue, 50); |
---|
372 | Add(turboPalkki3); |
---|
373 | |
---|
374 | ammusPalkki3.BindTo(pallo3.Ammusmittari); |
---|
375 | ammusPalkki3.BarColor = Color.Yellow; |
---|
376 | ammusPalkki3.BorderColor = Color.Black; |
---|
377 | ammusPalkki3.Position = new Vector(-305, -340); |
---|
378 | ammusPalkki3.Size = new Vector(40, 75); |
---|
379 | Add(ammusPalkki3); |
---|
380 | |
---|
381 | pistePalkki3.BindTo(pallo3.Pistemittari); |
---|
382 | pistePalkki3.BarColor = Color.LightGreen; |
---|
383 | pistePalkki3.BorderColor = Color.White; |
---|
384 | pistePalkki3.Position = new Vector(-261, -340); |
---|
385 | pistePalkki3.Size = new Vector(40, 75); |
---|
386 | Add(pistePalkki3); |
---|
387 | |
---|
388 | Label pisteLuku3 = new Label(); |
---|
389 | pisteLuku3.BindTo(pallo3.Pistemittari); |
---|
390 | pisteLuku3.Position = pistePalkki3.Position; |
---|
391 | pisteLuku3.TextColor = Color.Green; |
---|
392 | pisteLuku3.Font = Font.DefaultSmall; |
---|
393 | pisteLuku3.Angle = Angle.FromDegrees(90); |
---|
394 | Add(pisteLuku3); |
---|
395 | |
---|
396 | } |
---|
397 | |
---|
398 | if (pelaajienmaara == 4) |
---|
399 | { |
---|
400 | Viherkuva = new GameObject(HMG); |
---|
401 | Viherkuva.Position = new Vector(165, -340); |
---|
402 | Viherkuva.Width = 150; |
---|
403 | Viherkuva.Height = 75; |
---|
404 | Add(Viherkuva); |
---|
405 | aseKuvakkeet.Add(Viherkuva); |
---|
406 | |
---|
407 | elppiPalkki4.BindTo(pallo4.elamaMittari); |
---|
408 | elppiPalkki4.BarColor = Color.Red; |
---|
409 | elppiPalkki4.BorderColor = Color.Black; |
---|
410 | elppiPalkki4.Position = new Vector(400, -340); |
---|
411 | Add(elppiPalkki4, 0); |
---|
412 | Label laatikko4 = new Label(); |
---|
413 | laatikko4.Size = new Vector(150, 75); |
---|
414 | laatikko4.Image = Elppilaatikko; |
---|
415 | laatikko4.Position = elppiPalkki4.Position; |
---|
416 | Add(laatikko4, 1); |
---|
417 | |
---|
418 | turboPalkki4.BindTo(pallo4.turbomittari); |
---|
419 | turboPalkki4.BorderColor = Color.Black; |
---|
420 | turboPalkki4.Position = new Vector(165, -340); |
---|
421 | turboPalkki4.Size = new Vector(150, 75); |
---|
422 | turboPalkki4.BarColor = new Color(Color.DarkBlue, 50); |
---|
423 | Add(turboPalkki4); |
---|
424 | |
---|
425 | ammusPalkki4.BindTo(pallo4.Ammusmittari); |
---|
426 | ammusPalkki4.BarColor = Color.Yellow; |
---|
427 | ammusPalkki4.BorderColor = Color.Black; |
---|
428 | ammusPalkki4.Position = new Vector(305, -340); |
---|
429 | ammusPalkki4.Size = new Vector(40, 75); |
---|
430 | Add(ammusPalkki4); |
---|
431 | |
---|
432 | pistePalkki4.BindTo(pallo4.Pistemittari); |
---|
433 | pistePalkki4.BarColor = Color.Red; |
---|
434 | pistePalkki4.BorderColor = Color.White; |
---|
435 | pistePalkki4.Position = new Vector(261, -340); |
---|
436 | pistePalkki4.Size = new Vector(40, 75); |
---|
437 | Add(pistePalkki4); |
---|
438 | |
---|
439 | Label pisteLuku4 = new Label(); |
---|
440 | pisteLuku4.BindTo(pallo4.Pistemittari); |
---|
441 | pisteLuku4.Position = pistePalkki4.Position; |
---|
442 | pisteLuku4.TextColor = Color.Yellow; |
---|
443 | pisteLuku4.Angle = Angle.FromDegrees(90); |
---|
444 | pisteLuku4.Font = Font.DefaultSmall; |
---|
445 | Add(pisteLuku4); |
---|
446 | } |
---|
447 | } |
---|
448 | void AsetaOhjaimet() |
---|
449 | { |
---|
450 | |
---|
451 | switch (pelaajat.Count) |
---|
452 | { |
---|
453 | #region 2Pelaajaa |
---|
454 | case 2: |
---|
455 | if (ControllerOne.IsConnected) |
---|
456 | { |
---|
457 | ControllerOne.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo); |
---|
458 | ControllerOne.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo); |
---|
459 | ControllerOne.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo); |
---|
460 | ControllerOne.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo); |
---|
461 | ControllerOne.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo); |
---|
462 | ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo, ControllerOne); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
463 | ControllerOne.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 1: ammu", pallo, pPati); |
---|
464 | } |
---|
465 | else |
---|
466 | { |
---|
467 | Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja 1 liiku oikealle", pallo, new Vector(pallo.liikkumisnopeus * 1, 0)); |
---|
468 | Keyboard.Listen(Key.D, ButtonState.Released, Liikuta, null, pallo, Vector.Zero); |
---|
469 | Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "Pelaaja 1 liiku ylös", pallo, new Vector(0, pallo.liikkumisnopeus * 1)); |
---|
470 | Keyboard.Listen(Key.W, ButtonState.Released, Liikuta, null, pallo, Vector.Zero); |
---|
471 | Keyboard.Listen(Key.S, ButtonState.Down, Liikuta, "Pelaaja 1 liiku alas", pallo, new Vector(0, -pallo.liikkumisnopeus * 1)); |
---|
472 | Keyboard.Listen(Key.S, ButtonState.Released, Liikuta, null, pallo, Vector.Zero); |
---|
473 | Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja 1 liiku vasemmalle", pallo, new Vector(-pallo.liikkumisnopeus * 1, 0)); |
---|
474 | Keyboard.Listen(Key.A, ButtonState.Released, Liikuta, null, pallo, Vector.Zero); |
---|
475 | Keyboard.Listen(Key.Q, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo); |
---|
476 | Keyboard.Listen(Key.U, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo); |
---|
477 | Keyboard.Listen(Key.E, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo); |
---|
478 | Keyboard.Listen(Key.T, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
479 | Keyboard.Listen(Key.Y, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(0, 1), pPati); |
---|
480 | Keyboard.Listen(Key.H, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(0, -1), pPati); |
---|
481 | Keyboard.Listen(Key.G, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(-1, 0), pPati); |
---|
482 | Keyboard.Listen(Key.J, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo, new Vector(1, 0), pPati); |
---|
483 | } |
---|
484 | if (ControllerTwo.IsConnected) |
---|
485 | { |
---|
486 | ControllerTwo.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo2); |
---|
487 | ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo2); |
---|
488 | ControllerTwo.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2); |
---|
489 | ControllerTwo.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2); |
---|
490 | ControllerTwo.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2); |
---|
491 | ControllerTwo.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja heitä kranaatti", pallo2, ControllerTwo); // heitetään kranaatti siihen suuntaan mihin on viimeksi tähdatty |
---|
492 | ControllerTwo.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 2: ammu", pallo2, sPati); |
---|
493 | } |
---|
494 | else |
---|
495 | { |
---|
496 | Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja 2 liiku oikealle", pallo2, new Vector(pallo2.liikkumisnopeus * 1, 0)); |
---|
497 | Keyboard.Listen(Key.Right, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
498 | Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja 2 liiku ylös", pallo2, new Vector(0, pallo2.liikkumisnopeus * 1)); |
---|
499 | Keyboard.Listen(Key.Up, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
500 | Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Pelaaja 2 liiku alas", pallo2, new Vector(0, -pallo2.liikkumisnopeus * 1)); |
---|
501 | Keyboard.Listen(Key.Down, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
502 | Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja 2 liiku vasemmalle", pallo2, new Vector(-pallo2.liikkumisnopeus * 1, 0)); |
---|
503 | Keyboard.Listen(Key.Left, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
504 | Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2); |
---|
505 | Keyboard.Listen(Key.NumPad9, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2); |
---|
506 | Keyboard.Listen(Key.NumPad2, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2); |
---|
507 | Keyboard.Listen(Key.NumPad7, ButtonState.Pressed, HKranaatti, "Pelaaja 2:Heita kranaatti", pallo2); |
---|
508 | Keyboard.Listen(Key.NumPad8, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(0, 1), sPati); |
---|
509 | Keyboard.Listen(Key.NumPad5, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(0, -1), sPati); |
---|
510 | Keyboard.Listen(Key.NumPad4, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(-1, 0), sPati); |
---|
511 | Keyboard.Listen(Key.NumPad6, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(1, 0), sPati); |
---|
512 | } |
---|
513 | |
---|
514 | break; |
---|
515 | #endregion |
---|
516 | #region 3Pelaajaa |
---|
517 | case 3: |
---|
518 | if (ControllerOne.IsConnected) |
---|
519 | { |
---|
520 | ControllerOne.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo); |
---|
521 | ControllerOne.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo); |
---|
522 | ControllerOne.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo); |
---|
523 | ControllerOne.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo); |
---|
524 | ControllerOne.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo); |
---|
525 | ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo, ControllerOne); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
526 | ControllerOne.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 1: ammu", pallo, pPati); |
---|
527 | } |
---|
528 | // Pelaaja 2 |
---|
529 | if (ControllerTwo.IsConnected) |
---|
530 | { |
---|
531 | ControllerTwo.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo2); |
---|
532 | ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo2); |
---|
533 | ControllerTwo.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2); |
---|
534 | ControllerTwo.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2); |
---|
535 | ControllerTwo.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2); |
---|
536 | ControllerTwo.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja heitä kranaatti", pallo2, ControllerTwo); // heitetään kranaatti siihen suuntaan mihin on viimeksi tähdatty |
---|
537 | ControllerTwo.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 2: ammu", pallo2, sPati); |
---|
538 | } |
---|
539 | else |
---|
540 | { |
---|
541 | Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja 2 liiku oikealle", pallo2, new Vector(pallo2.liikkumisnopeus * 1, 0)); |
---|
542 | Keyboard.Listen(Key.Right, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
543 | Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja 2 liiku ylös", pallo2, new Vector(0, pallo2.liikkumisnopeus * 1)); |
---|
544 | Keyboard.Listen(Key.Up, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
545 | Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Pelaaja 2 liiku alas", pallo2, new Vector(0, -pallo2.liikkumisnopeus * 1)); |
---|
546 | Keyboard.Listen(Key.Down, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
547 | Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja 2 liiku vasemmalle", pallo2, new Vector(-pallo2.liikkumisnopeus * 1, 0)); |
---|
548 | Keyboard.Listen(Key.Left, ButtonState.Released, Liikuta, null, pallo2, Vector.Zero); |
---|
549 | Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2); |
---|
550 | Keyboard.Listen(Key.NumPad9, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2); |
---|
551 | Keyboard.Listen(Key.NumPad2, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2); |
---|
552 | Keyboard.Listen(Key.NumPad7, ButtonState.Pressed, HKranaatti, "Pelaaja 2:Heita kranaatti", pallo2); |
---|
553 | Keyboard.Listen(Key.NumPad8, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(0, 1), sPati); |
---|
554 | Keyboard.Listen(Key.NumPad5, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(0, -1), sPati); |
---|
555 | Keyboard.Listen(Key.NumPad4, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(-1, 0), sPati); |
---|
556 | Keyboard.Listen(Key.NumPad6, ButtonState.Down, Ammu, "Pelaaja 2: ammu", pallo2, new Vector(1, 0), sPati); |
---|
557 | } |
---|
558 | |
---|
559 | if (ControllerThree.IsConnected) |
---|
560 | { |
---|
561 | ControllerThree.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo3); |
---|
562 | ControllerThree.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo3); |
---|
563 | ControllerThree.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 3:Käytä turbo", pallo3); |
---|
564 | ControllerThree.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 3:Paranna elamia", pallo3); |
---|
565 | ControllerThree.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 3:Lataa ase", pallo3); |
---|
566 | ControllerThree.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 3:Heita kranaatti", pallo3, ControllerThree); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
567 | ControllerThree.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 3: ammu", pallo3, kPati); |
---|
568 | } |
---|
569 | else |
---|
570 | { |
---|
571 | Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja 1 liiku oikealle", pallo3, new Vector(pallo3.liikkumisnopeus * 1, 0)); |
---|
572 | Keyboard.Listen(Key.D, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
573 | Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "Pelaaja 1 liiku ylös", pallo3, new Vector(0, pallo3.liikkumisnopeus * 1)); |
---|
574 | Keyboard.Listen(Key.W, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
575 | Keyboard.Listen(Key.S, ButtonState.Down, Liikuta, "Pelaaja 1 liiku alas", pallo3, new Vector(0, -pallo3.liikkumisnopeus * 1)); |
---|
576 | Keyboard.Listen(Key.S, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
577 | Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja 1 liiku vasemmalle", pallo3, new Vector(-pallo3.liikkumisnopeus * 1, 0)); |
---|
578 | Keyboard.Listen(Key.A, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
579 | Keyboard.Listen(Key.Q, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo3); |
---|
580 | Keyboard.Listen(Key.U, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo3); |
---|
581 | Keyboard.Listen(Key.E, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo3); |
---|
582 | Keyboard.Listen(Key.T, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo3); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
583 | Keyboard.Listen(Key.Y, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo3, new Vector(0, 1), kPati); |
---|
584 | Keyboard.Listen(Key.H, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo3, new Vector(0, -1), kPati); |
---|
585 | Keyboard.Listen(Key.G, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo3, new Vector(-1, 0), kPati); |
---|
586 | Keyboard.Listen(Key.J, ButtonState.Down, Ammu, "Pelaaja 1: ammu", pallo3, new Vector(1, 0), kPati); |
---|
587 | } |
---|
588 | |
---|
589 | |
---|
590 | |
---|
591 | |
---|
592 | |
---|
593 | break; |
---|
594 | #endregion |
---|
595 | #region 4Pelaajaa |
---|
596 | case 4: |
---|
597 | ControllerOne.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo); |
---|
598 | ControllerOne.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo); |
---|
599 | ControllerOne.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo); |
---|
600 | ControllerOne.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo); |
---|
601 | ControllerOne.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo); |
---|
602 | ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo, ControllerOne); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
603 | ControllerOne.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 1: ammu", pallo, pPati); |
---|
604 | |
---|
605 | // Pelaaja 2 |
---|
606 | ControllerTwo.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo2); |
---|
607 | ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo2); |
---|
608 | ControllerTwo.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2); |
---|
609 | ControllerTwo.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2); |
---|
610 | ControllerTwo.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2); |
---|
611 | ControllerTwo.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja heitä kranaatti", pallo2, ControllerTwo); // heitetään kranaatti siihen suuntaan mihin on viimeksi tähdatty |
---|
612 | ControllerTwo.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 2: ammu", pallo2, sPati); |
---|
613 | |
---|
614 | // Pelaaja 3 |
---|
615 | if (ControllerThree.IsConnected) |
---|
616 | { |
---|
617 | ControllerThree.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo3); |
---|
618 | ControllerThree.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo3); |
---|
619 | ControllerThree.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 3:Käytä turbo", pallo3); |
---|
620 | ControllerThree.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 3:Paranna elamia", pallo3); |
---|
621 | ControllerThree.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 3:Lataa ase", pallo3); |
---|
622 | ControllerThree.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 3:Heita kranaatti", pallo3, ControllerThree); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
623 | ControllerThree.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 3: ammu", pallo3, kPati); |
---|
624 | } |
---|
625 | else |
---|
626 | { |
---|
627 | Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Pelaaja 3 liiku oikealle", pallo3, new Vector(pallo3.liikkumisnopeus * 1, 0)); |
---|
628 | Keyboard.Listen(Key.D, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
629 | Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "Pelaaja 3 liiku ylös", pallo3, new Vector(0, pallo3.liikkumisnopeus * 1)); |
---|
630 | Keyboard.Listen(Key.W, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
631 | Keyboard.Listen(Key.S, ButtonState.Down, Liikuta, "Pelaaja 3 liiku alas", pallo3, new Vector(0, -pallo3.liikkumisnopeus * 1)); |
---|
632 | Keyboard.Listen(Key.S, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
633 | Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Pelaaja 3 liiku vasemmalle", pallo3, new Vector(-pallo3.liikkumisnopeus * 1, 0)); |
---|
634 | Keyboard.Listen(Key.A, ButtonState.Released, Liikuta, null, pallo3, Vector.Zero); |
---|
635 | Keyboard.Listen(Key.Q, ButtonState.Pressed, Kayta, "Pelaaja 3:Käytä turbo", pallo3); |
---|
636 | Keyboard.Listen(Key.U, ButtonState.Pressed, Tayta, "Pelaaja 3:Paranna elamia", pallo3); |
---|
637 | Keyboard.Listen(Key.E, ButtonState.Pressed, Lataa, "Pelaaja 3:Lataa ase", pallo3); |
---|
638 | Keyboard.Listen(Key.T, ButtonState.Pressed, HKranaatti, "Pelaaja 3:Heita kranaatti", pallo3); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu |
---|
639 | Keyboard.Listen(Key.Y, ButtonState.Down, Ammu, "Pelaaja 3: ammu", pallo3, new Vector(0, 1), kPati); |
---|
640 | Keyboard.Listen(Key.H, ButtonState.Down, Ammu, "Pelaaja 3: ammu", pallo3, new Vector(0, -1), kPati); |
---|
641 | Keyboard.Listen(Key.G, ButtonState.Down, Ammu, "Pelaaja 3: ammu", pallo3, new Vector(-1, 0), kPati); |
---|
642 | Keyboard.Listen(Key.J, ButtonState.Down, Ammu, "Pelaaja 3: ammu", pallo3, new Vector(1, 0), kPati); |
---|
643 | } |
---|
644 | // pelaaja 4 |
---|
645 | if (ControllerFour.IsConnected) |
---|
646 | { |
---|
647 | ControllerFour.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo4); |
---|
648 | ControllerFour.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo4); |
---|
649 | ControllerFour.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 4:Käytä turbo", pallo4); |
---|
650 | ControllerFour.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 4:Paranna elamia", pallo4); |
---|
651 | ControllerFour.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 4:Lataa ase", pallo4); |
---|
652 | ControllerFour.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 4 heitä kranaatti", pallo4, ControllerFour); // heitetään kranaatti siihen suuntaan mihin on viimeksi tähdatty |
---|
653 | ControllerFour.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 4: ammu", pallo4, vPati); |
---|
654 | } |
---|
655 | else |
---|
656 | { |
---|
657 | Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Pelaaja 4 liiku oikealle", pallo4, new Vector(pallo4.liikkumisnopeus * 1, 0)); |
---|
658 | Keyboard.Listen(Key.Right, ButtonState.Released, Liikuta, null, pallo4, Vector.Zero); |
---|
659 | Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Pelaaja 4 liiku ylös", pallo4, new Vector(0, pallo4.liikkumisnopeus * 1)); |
---|
660 | Keyboard.Listen(Key.Up, ButtonState.Released, Liikuta, null, pallo4, Vector.Zero); |
---|
661 | Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Pelaaja 4 liiku alas", pallo4, new Vector(0, -pallo4.liikkumisnopeus * 1)); |
---|
662 | Keyboard.Listen(Key.Down, ButtonState.Released, Liikuta, null, pallo4, Vector.Zero); |
---|
663 | Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Pelaaja 4 liiku vasemmalle", pallo4, new Vector(-pallo4.liikkumisnopeus * 1, 0)); |
---|
664 | Keyboard.Listen(Key.Left, ButtonState.Released, Liikuta, null, pallo4, Vector.Zero); |
---|
665 | Keyboard.Listen(Key.RightControl, ButtonState.Pressed, Kayta, "Pelaaja 4:Käytä turbo", pallo4); |
---|
666 | Keyboard.Listen(Key.NumPad9, ButtonState.Pressed, Tayta, "Pelaaja 4:Paranna elamia", pallo4); |
---|
667 | Keyboard.Listen(Key.NumPad2, ButtonState.Pressed, Lataa, "Pelaaja 4:Lataa ase", pallo4); |
---|
668 | Keyboard.Listen(Key.NumPad7, ButtonState.Pressed, HKranaatti, "Pelaaja 4:Heita kranaatti", pallo4); |
---|
669 | Keyboard.Listen(Key.NumPad8, ButtonState.Down, Ammu, "Pelaaja 4: ammu", pallo4, new Vector(0, 1), vPati); |
---|
670 | Keyboard.Listen(Key.NumPad5, ButtonState.Down, Ammu, "Pelaaja 4: ammu", pallo4, new Vector(0, -1), vPati); |
---|
671 | Keyboard.Listen(Key.NumPad4, ButtonState.Down, Ammu, "Pelaaja 4: ammu", pallo4, new Vector(-1, 0), vPati); |
---|
672 | Keyboard.Listen(Key.NumPad6, ButtonState.Down, Ammu, "Pelaaja 4: ammu", pallo4, new Vector(1, 0), vPati); |
---|
673 | } |
---|
674 | break; |
---|
675 | #endregion |
---|
676 | |
---|
677 | } |
---|
678 | //General |
---|
679 | Keyboard.Listen(Key.P, ButtonState.Pressed, Alkuvalikko, "Vaihda aseita"); |
---|
680 | } |
---|
681 | void AmmuOhjaimella(Pelaaja pallo, Image i) |
---|
682 | { |
---|
683 | if (pallo.viimeisinSuunta != Vector.Zero) |
---|
684 | Ammu(pallo, pallo.viimeisinSuunta.Normalize(), i); |
---|
685 | } |
---|
686 | void Ammu(Pelaaja pallo1, Vector suunta, Image P) |
---|
687 | { |
---|
688 | if (pallo1.kuollut == true) return; |
---|
689 | if (pallo1.Ammusmittari < 1) return; |
---|
690 | if (pallo1.Recoil == true) return; |
---|
691 | |
---|
692 | PhysicsObject ammus = new PhysicsObject(4, 4); |
---|
693 | ammus.Position = pallo1.Position + suunta * 25; |
---|
694 | ammus.Image = P; |
---|
695 | ammus.Restitution = 0.0; |
---|
696 | pallo1.Ammusmittari.Value -= 1; |
---|
697 | ammus.Velocity = suunta * pallo1.Ampumisnopeus; |
---|
698 | AddCollisionHandler(ammus, "tuhottava", AmmusOsui); |
---|
699 | AddCollisionHandler(ammus, ammusosui); |
---|
700 | |
---|
701 | Add(ammus); |
---|
702 | ammus.Tag = "ammus"; |
---|
703 | ammus.CollisionIgnoreGroup = 1; |
---|
704 | |
---|
705 | double vahinko = 0; |
---|
706 | |
---|
707 | if (pallo.HasFlag == true) |
---|
708 | { |
---|
709 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 700); |
---|
710 | vahinko = 150; |
---|
711 | pallo1.Recoil = true; |
---|
712 | Timer.SingleShot(0.5, delegate |
---|
713 | { |
---|
714 | pallo1.Recoil = false; |
---|
715 | }); |
---|
716 | } |
---|
717 | else if (pallo1.Ase == "HMG") |
---|
718 | { |
---|
719 | |
---|
720 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 700); |
---|
721 | vahinko = 9; |
---|
722 | } |
---|
723 | else if (pallo1.Ase == "Famas") |
---|
724 | { |
---|
725 | |
---|
726 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 190); |
---|
727 | pallo1.Recoil = true; |
---|
728 | vahinko = 23; |
---|
729 | Timer.SingleShot(0.03, delegate |
---|
730 | { |
---|
731 | pallo1.Recoil = false; |
---|
732 | }); |
---|
733 | |
---|
734 | |
---|
735 | } |
---|
736 | else if (pallo1.Ase == "LMG Type") |
---|
737 | { |
---|
738 | |
---|
739 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 500); |
---|
740 | pallo1.Recoil = true; |
---|
741 | vahinko = 14; |
---|
742 | Timer.SingleShot(0.01, delegate |
---|
743 | { |
---|
744 | pallo1.Recoil = false; |
---|
745 | }); |
---|
746 | |
---|
747 | |
---|
748 | } |
---|
749 | else if (pallo1.Ase == "Dragunov") |
---|
750 | { |
---|
751 | pallo1.Recoil = true; |
---|
752 | vahinko = 139; |
---|
753 | Timer.SingleShot(0.4, delegate |
---|
754 | { |
---|
755 | pallo1.Recoil = false; |
---|
756 | }); |
---|
757 | |
---|
758 | } |
---|
759 | else if (pallo1.Ase == "Barret") |
---|
760 | { |
---|
761 | vahinko = 298; |
---|
762 | } |
---|
763 | |
---|
764 | else if (pallo1.Ase == "Ak") |
---|
765 | { |
---|
766 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 600); |
---|
767 | pallo1.Recoil = true; |
---|
768 | vahinko = 13; |
---|
769 | Timer.SingleShot(0.01, delegate |
---|
770 | { |
---|
771 | pallo1.Recoil = false; |
---|
772 | }); |
---|
773 | } |
---|
774 | else if (pallo1.Ase == "Cal89") |
---|
775 | { |
---|
776 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 500); |
---|
777 | pallo1.Recoil = true; |
---|
778 | vahinko = 26; |
---|
779 | Timer.SingleShot(0.1, delegate |
---|
780 | { |
---|
781 | pallo1.Recoil = false; |
---|
782 | }); |
---|
783 | } |
---|
784 | else if (pallo1.Ase == "Spas") |
---|
785 | { |
---|
786 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 100); |
---|
787 | pallo1.Recoil = true; |
---|
788 | vahinko = 219; |
---|
789 | Timer.SingleShot(0.5, delegate |
---|
790 | { |
---|
791 | pallo1.Recoil = false; |
---|
792 | }); |
---|
793 | } |
---|
794 | |
---|
795 | |
---|
796 | else if (pallo1.Ase == "Shotgun") |
---|
797 | { |
---|
798 | ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 100); |
---|
799 | pallo1.Recoil = true; |
---|
800 | vahinko = 90; |
---|
801 | Timer.SingleShot(0.4, delegate |
---|
802 | { |
---|
803 | pallo1.Recoil = false; |
---|
804 | }); |
---|
805 | |
---|
806 | |
---|
807 | PhysicsObject hauli = new PhysicsObject(4, 4); |
---|
808 | hauli.Position = pallo.Position + suunta * 25; |
---|
809 | hauli.Image = P; |
---|
810 | hauli.Tag = "ammus"; |
---|
811 | hauli.CollisionIgnoreGroup = 1; |
---|
812 | hauli.Restitution = 0.0; |
---|
813 | hauli.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 70); |
---|
814 | AddCollisionHandler(hauli, "tuhottava", AmmusOsui); |
---|
815 | AddCollisionHandler(hauli, CollisionHandler.DestroyObject); |
---|
816 | Add(hauli); |
---|
817 | hauli.Velocity = suunta * pallo.Ampumisnopeus; |
---|
818 | hauli.Velocity = Vector.FromLengthAndAngle(suunta.Magnitude, suunta.Angle + Angle.FromDegrees(-20)) * pallo.Ampumisnopeus; |
---|
819 | AddCollisionHandler(hauli, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde) |
---|
820 | { |
---|
821 | if (!Zsurvival) |
---|
822 | { |
---|
823 | Pelaaja kohdepelaaja = (Pelaaja)kohde; |
---|
824 | kohdepelaaja.elamaMittari.Value -= vahinko; |
---|
825 | } |
---|
826 | }); |
---|
827 | AddCollisionHandler(hauli, "Zombi", delegate(PhysicsObject tormaaja, PhysicsObject zombi) |
---|
828 | { |
---|
829 | Zombi zombi1 = (Zombi)zombi; |
---|
830 | zombi1.elamaMittari.Value -= vahinko; |
---|
831 | pallo.Pistemittari.Value += vahinko; |
---|
832 | |
---|
833 | }); |
---|
834 | |
---|
835 | PhysicsObject hauli2 = new PhysicsObject(4, 4); |
---|
836 | hauli2.Position = pallo.Position + suunta * 25; |
---|
837 | hauli2.Image = P; |
---|
838 | hauli2.Tag = "ammus"; |
---|
839 | hauli2.CollisionIgnoreGroup = 1; |
---|
840 | hauli2.Restitution = 0.0; |
---|
841 | hauli2.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 70); |
---|
842 | AddCollisionHandler(hauli2, "tuhottava", AmmusOsui); |
---|
843 | AddCollisionHandler(hauli2, CollisionHandler.DestroyObject); |
---|
844 | Add(hauli2); |
---|
845 | |
---|
846 | hauli2.Velocity = Vector.FromLengthAndAngle(suunta.Magnitude, suunta.Angle + Angle.FromDegrees(20)) * pallo.Ampumisnopeus; |
---|
847 | AddCollisionHandler(hauli2, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde) |
---|
848 | { |
---|
849 | if (!Zsurvival) |
---|
850 | { |
---|
851 | Pelaaja kohdepelaaja = (Pelaaja)kohde; |
---|
852 | kohdepelaaja.elamaMittari.Value -= vahinko; |
---|
853 | } |
---|
854 | }); |
---|
855 | AddCollisionHandler(hauli2, "Zombi", delegate(PhysicsObject tormaaja, PhysicsObject zombi) |
---|
856 | { |
---|
857 | Zombi zombi1 = (Zombi)zombi; |
---|
858 | zombi1.elamaMittari.Value -= vahinko; |
---|
859 | pallo.Pistemittari.Value += vahinko; |
---|
860 | |
---|
861 | }); |
---|
862 | } |
---|
863 | AddCollisionHandler(ammus, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde) |
---|
864 | { |
---|
865 | if (!Zsurvival) |
---|
866 | { |
---|
867 | Pelaaja kohdepelaaja = (Pelaaja)kohde; |
---|
868 | kohdepelaaja.elamaMittari.Value -= vahinko; |
---|
869 | } |
---|
870 | }); |
---|
871 | |
---|
872 | AddCollisionHandler(ammus, "Hautausmaa", delegate(PhysicsObject tormaaja, PhysicsObject kohde) |
---|
873 | { |
---|
874 | Hautausmaa hautausmaa = (Hautausmaa)kohde; |
---|
875 | if (!hautausmaa.OnKunnossa) return; |
---|
876 | hautausmaa.Elpit.Value -= vahinko; |
---|
877 | pallo.Pistemittari.Value += vahinko; |
---|
878 | }); |
---|
879 | |
---|
880 | |
---|
881 | AddCollisionHandler(ammus, "Zombi", delegate(PhysicsObject tormaaja, PhysicsObject zombi) |
---|
882 | { |
---|
883 | Zombi zombi1 = (Zombi)zombi; |
---|
884 | zombi1.elamaMittari.Value -= vahinko; |
---|
885 | pallo.Pistemittari.Value += vahinko; |
---|
886 | |
---|
887 | }); |
---|
888 | } |
---|
889 | void ammusosui(PhysicsObject tormaaja, PhysicsObject kohde) |
---|
890 | { |
---|
891 | if (kohde.Tag == "Vaara!") return; |
---|
892 | if (kohde.Tag == "Flag") return; |
---|
893 | else tormaaja.Destroy(); |
---|
894 | } |
---|
895 | void Liikuta(Pelaaja pallo, Vector suunta) |
---|
896 | { |
---|
897 | // pallo.Velocity = suunta; |
---|
898 | if (suunta.Magnitude != 0) |
---|
899 | { |
---|
900 | pallo.Velocity = Vector.ComponentProduct(suunta.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus)); |
---|
901 | pallo.viimeisinSuunta = Vector.ComponentProduct(suunta.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus)); |
---|
902 | return; |
---|
903 | } |
---|
904 | pallo.Velocity = suunta; |
---|
905 | pallo.viimeisinSuunta = suunta; |
---|
906 | } |
---|
907 | |
---|
908 | void LiikutaTatilla(AnalogState tatinTila, Pelaaja pallo) |
---|
909 | { |
---|
910 | pallo.Velocity = tatinTila.StateVector * pallo.liikkumisnopeus; |
---|
911 | } |
---|
912 | void TahtaaTatilla(AnalogState tatintila, Pelaaja pallo) |
---|
913 | { |
---|
914 | pallo.Angle = tatintila.StateVector.Angle; |
---|
915 | pallo.viimeisinSuunta = Vector.ComponentProduct(tatintila.StateVector.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus)); |
---|
916 | } |
---|
917 | |
---|
918 | void Luoseina(Vector paikka, double leveys, double korkeus) |
---|
919 | { |
---|
920 | PhysicsObject m = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
921 | m.Shape = Shape.Rectangle; |
---|
922 | m.Position = paikka + siirtyma; |
---|
923 | m.Image = palikka; |
---|
924 | Add(m); |
---|
925 | } |
---|
926 | void LuoLapiammuttavaSeina(Vector paikka, double leveys, double korkeus) |
---|
927 | { |
---|
928 | PhysicsObject m = PhysicsObject.CreateStaticObject(leveys - 10, korkeus - 10); |
---|
929 | m.Shape = Shape.Rectangle; |
---|
930 | m.Position = paikka + siirtyma; |
---|
931 | m.Image = palikka; |
---|
932 | m.CollisionIgnoreGroup = 1; |
---|
933 | Add(m, -3); |
---|
934 | Luomaa(paikka, leveys + 10, korkeus + 10); |
---|
935 | } |
---|
936 | |
---|
937 | void Luovaara(Vector paikka, double leveys, double korkeus) |
---|
938 | { |
---|
939 | PhysicsObject m = PhysicsObject.CreateStaticObject(leveys, korkeus); |
---|
940 | m.Shape = Shape.Rectangle; |
---|
941 | m.Position = paikka + siirtyma; |
---|
942 | m.Image = vaarapalikka; |
---|
943 | m.IgnoresCollisionResponse = true; |
---|
944 | m.Tag = "Vaara!"; |
---|
945 | Add(m, -2); |
---|
946 | Luomaa(paikka, leveys, korkeus); |
---|
947 | } |
---|
948 | void CreateBluFlag(Vector paikka, double leveys, double korkeus) |
---|
949 | { |
---|
950 | Flag f = new Flag(leveys, korkeus); |
---|
951 | f.MakeStatic(); |
---|
952 | f.OnPunainen = false; |
---|
953 | f.OnLippu = true; |
---|
954 | f.Shape = Shape.Rectangle; |
---|
955 | f.Position = paikka + siirtyma; |
---|
956 | f.Image = Sinilippu; |
---|
957 | f.IgnoresCollisionResponse = true; |
---|
958 | f.Tag = "Flag"; |
---|
959 | Add(f, -2); |
---|
960 | sinilippu = f; |
---|
961 | Luomaa(paikka, leveys, korkeus); |
---|
962 | } |
---|
963 | void CreateRedFlag(Vector paikka, double leveys, double korkeus) |
---|
964 | { |
---|
965 | Flag f = new Flag(leveys, korkeus); |
---|
966 | f.MakeStatic(); |
---|
967 | f.OnPunainen = true; |
---|
968 | f.OnLippu = true; |
---|
969 | f.Shape = Shape.Rectangle; |
---|
970 | f.Position = paikka + siirtyma; |
---|
971 | f.Image = Punalippu; |
---|
972 | f.IgnoresCollisionResponse = true; |
---|
973 | f.Tag = "Flag"; |
---|
974 | Add(f, -2); |
---|
975 | punalippu = f; |
---|
976 | Luomaa(paikka, leveys, korkeus); |
---|
977 | } |
---|
978 | |
---|
979 | void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) |
---|
980 | { |
---|
981 | kohde.Destroy(); |
---|
982 | } |
---|
983 | void Kayta(Pelaaja p) |
---|
984 | { |
---|
985 | if (p.kuollut == true) return; |
---|
986 | if (p.turbomittari > 99) |
---|
987 | { |
---|
988 | ExplosionSystem ss = new ExplosionSystem(salama, 100); |
---|
989 | ss.MaxScale = 30; |
---|
990 | ss.MinScale = 20; |
---|
991 | ss.MaxVelocity = 150; |
---|
992 | ss.MaxLifetime = 0.5; |
---|
993 | ss.MinRotation = 0.0; |
---|
994 | ss.MaxRotation = 365.0; |
---|
995 | ss.MinRotationSpeed = 2.0; |
---|
996 | |
---|
997 | Add(ss); |
---|
998 | ss.AddEffect(p.Position, 50); |
---|
999 | p.liikkumisnopeus = p.liikkumisnopeus * 2; |
---|
1000 | p.turbomittari.Value = 0.0; |
---|
1001 | Timer.SingleShot(5.0, delegate { p.liikkumisnopeus = p.liikkumisnopeus / 2; }); |
---|
1002 | |
---|
1003 | } |
---|
1004 | } |
---|
1005 | |
---|
1006 | void Lataa(Pelaaja x) |
---|
1007 | { |
---|
1008 | if (x.kuollut == true) return; |
---|
1009 | if (!x.lataamassa) |
---|
1010 | { |
---|
1011 | Lataus.Play(); |
---|
1012 | x.lataamassa = true; |
---|
1013 | x.Ammusmittari.Value = 0; |
---|
1014 | Timer.SingleShot(x.Latausnopeus, delegate { x.Ammusmittari.Value += x.Latapati; x.lataamassa = false; }); |
---|
1015 | } |
---|
1016 | } |
---|
1017 | |
---|
1018 | void Syntyykokulta() |
---|
1019 | { |
---|
1020 | int paikka = RandomGen.NextInt(kultaLista.Count); |
---|
1021 | Spawnkulta(paikka); |
---|
1022 | } |
---|
1023 | void Syntyykozombi() |
---|
1024 | { |
---|
1025 | int paikka = RandomGen.NextInt(Hautausmaalista.Count); |
---|
1026 | SpawnZombie(paikka); |
---|
1027 | } |
---|
1028 | |
---|
1029 | void Syntyykoelppibonus() |
---|
1030 | { |
---|
1031 | int kumpi = RandomGen.NextInt(1, 3); |
---|
1032 | int paikka = RandomGen.NextInt(elppibonusLista.Count); |
---|
1033 | if (kumpi == 1) Spawnelppibonus(paikka); |
---|
1034 | if (kumpi == 2) Spawnvauhtibonus(paikka); |
---|
1035 | } |
---|
1036 | #region KenttienLuonti |
---|
1037 | void Luopelikentta() |
---|
1038 | { |
---|
1039 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Testikartta DM"); |
---|
1040 | |
---|
1041 | ruudut.SetTileMethod(Color.White, Luomaa); |
---|
1042 | ruudut.SetTileMethod(Color.Black, Luoseina); |
---|
1043 | ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn, pallo2); |
---|
1044 | ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn, pallo); |
---|
1045 | ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); |
---|
1046 | ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); |
---|
1047 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), Luomaa); |
---|
1048 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), Luomaa); |
---|
1049 | if (pelaajat.Count >= 3) |
---|
1050 | { |
---|
1051 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), setspawn, pallo3); |
---|
1052 | } |
---|
1053 | |
---|
1054 | if (pelaajat.Count == 4) |
---|
1055 | { |
---|
1056 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), setspawn, pallo4); |
---|
1057 | } |
---|
1058 | Timer elppiajastin = new Timer(); |
---|
1059 | elppiajastin.Interval = 30.0; |
---|
1060 | elppiajastin.Timeout += Syntyykoelppibonus; |
---|
1061 | elppiajastin.Start(); |
---|
1062 | ruudut.Execute(35, 35); |
---|
1063 | siirrapelaajat(); |
---|
1064 | |
---|
1065 | } |
---|
1066 | void Luopelikentta2() |
---|
1067 | { |
---|
1068 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Yang DM"); |
---|
1069 | |
---|
1070 | ruudut.SetTileMethod(Color.White, Luomaa); |
---|
1071 | ruudut.SetTileMethod(Color.Black, Luoseina); |
---|
1072 | ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn, pallo2); |
---|
1073 | ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn, pallo); |
---|
1074 | ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); |
---|
1075 | ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); |
---|
1076 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), Luomaa); |
---|
1077 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), Luomaa); |
---|
1078 | if (pelaajat.Count >= 3) |
---|
1079 | { |
---|
1080 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), setspawn, pallo3); |
---|
1081 | } |
---|
1082 | |
---|
1083 | if (pelaajat.Count == 4) |
---|
1084 | { |
---|
1085 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), setspawn, pallo4); |
---|
1086 | } |
---|
1087 | Timer elppiajastin = new Timer(); |
---|
1088 | elppiajastin.Interval = 30.0; |
---|
1089 | elppiajastin.Timeout += Syntyykoelppibonus; |
---|
1090 | elppiajastin.Start(); |
---|
1091 | ruudut.Execute(35, 35); |
---|
1092 | |
---|
1093 | ruudut.Execute(35, 35); |
---|
1094 | siirrapelaajat(); |
---|
1095 | |
---|
1096 | } |
---|
1097 | void Luopelikentta3() |
---|
1098 | { |
---|
1099 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Testikartta"); |
---|
1100 | |
---|
1101 | ruudut.SetTileMethod(Color.White, Luomaa); |
---|
1102 | ruudut.SetTileMethod(Color.Black, Luoseina); |
---|
1103 | ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn, pallo2); |
---|
1104 | ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn, pallo); |
---|
1105 | ruudut.SetTileMethod(Color.FromHexCode("#FFF600"), Luokultapaikka); |
---|
1106 | ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); |
---|
1107 | ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); |
---|
1108 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), Luomaa); |
---|
1109 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), Luomaa); |
---|
1110 | if (pelaajat.Count >= 3) |
---|
1111 | { |
---|
1112 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), setspawn, pallo3); |
---|
1113 | } |
---|
1114 | |
---|
1115 | if (pelaajat.Count == 4) |
---|
1116 | { |
---|
1117 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), setspawn, pallo4); |
---|
1118 | } |
---|
1119 | |
---|
1120 | Timer elppiajastin = new Timer(); |
---|
1121 | elppiajastin.Interval = 30.0; |
---|
1122 | elppiajastin.Timeout += Syntyykoelppibonus; |
---|
1123 | elppiajastin.Start(); |
---|
1124 | ruudut.Execute(35, 35); |
---|
1125 | |
---|
1126 | Timer ajastin = new Timer(); |
---|
1127 | ajastin.Interval = 3.0; |
---|
1128 | ajastin.Timeout += Syntyykokulta; |
---|
1129 | ajastin.Start(); |
---|
1130 | |
---|
1131 | ruudut.Execute(35, 35); |
---|
1132 | siirrapelaajat(); |
---|
1133 | |
---|
1134 | } |
---|
1135 | void Luopelikentta4() |
---|
1136 | { |
---|
1137 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Yang"); |
---|
1138 | |
---|
1139 | ruudut.SetTileMethod(Color.White, Luomaa); |
---|
1140 | ruudut.SetTileMethod(Color.Black, Luoseina); |
---|
1141 | ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn, pallo2); |
---|
1142 | ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn, pallo); |
---|
1143 | ruudut.SetTileMethod(Color.FromHexCode("#FFF600"), Luokultapaikka); |
---|
1144 | ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); |
---|
1145 | ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); |
---|
1146 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), Luomaa); |
---|
1147 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), Luomaa); |
---|
1148 | if (pelaajat.Count >= 3) |
---|
1149 | { |
---|
1150 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), setspawn, pallo3); |
---|
1151 | } |
---|
1152 | |
---|
1153 | if (pelaajat.Count == 4) |
---|
1154 | { |
---|
1155 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), setspawn, pallo4); |
---|
1156 | } |
---|
1157 | |
---|
1158 | Timer elppiajastin = new Timer(); |
---|
1159 | elppiajastin.Interval = 30.0; |
---|
1160 | elppiajastin.Timeout += Syntyykoelppibonus; |
---|
1161 | elppiajastin.Start(); |
---|
1162 | ruudut.Execute(35, 35); |
---|
1163 | |
---|
1164 | Timer ajastin = new Timer(); |
---|
1165 | ajastin.Interval = 3.0; |
---|
1166 | ajastin.Timeout += Syntyykokulta; |
---|
1167 | ajastin.Start(); |
---|
1168 | |
---|
1169 | ruudut.Execute(35, 35); |
---|
1170 | siirrapelaajat(); |
---|
1171 | } |
---|
1172 | void Luopelikentta5() |
---|
1173 | { |
---|
1174 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("CTF Middle"); |
---|
1175 | |
---|
1176 | ruudut.SetTileMethod(Color.White, Luomaa); |
---|
1177 | ruudut.SetTileMethod(Color.Black, Luoseina); |
---|
1178 | ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn, pallo2); |
---|
1179 | ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn, pallo); |
---|
1180 | ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); |
---|
1181 | ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); |
---|
1182 | ruudut.SetTileMethod(Color.FromHexCode("#00137F"), CreateBluFlag); |
---|
1183 | ruudut.SetTileMethod(Color.FromHexCode("#7F0000"), CreateRedFlag); |
---|
1184 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), Luomaa); |
---|
1185 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), Luomaa); |
---|
1186 | if (pelaajat.Count >= 3) |
---|
1187 | { |
---|
1188 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), setspawn, pallo3); |
---|
1189 | } |
---|
1190 | |
---|
1191 | if (pelaajat.Count == 4) |
---|
1192 | { |
---|
1193 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), setspawn, pallo4); |
---|
1194 | } |
---|
1195 | |
---|
1196 | Timer elppiajastin = new Timer(); |
---|
1197 | elppiajastin.Interval = 30.0; |
---|
1198 | elppiajastin.Timeout += Syntyykoelppibonus; |
---|
1199 | elppiajastin.Start(); |
---|
1200 | |
---|
1201 | ruudut.Execute(35, 35); |
---|
1202 | |
---|
1203 | siirrapelaajat(); |
---|
1204 | } |
---|
1205 | void Luopelikentta6() |
---|
1206 | { |
---|
1207 | ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Zsurvival Arena"); |
---|
1208 | |
---|
1209 | ruudut.SetTileMethod(Color.White, Luomaa); |
---|
1210 | ruudut.SetTileMethod(Color.Black, Luoseina); |
---|
1211 | ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn,pallo2); |
---|
1212 | ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn,pallo); |
---|
1213 | ruudut.SetTileMethod(Color.FromHexCode("#C0C0C0"), LuoHautausmaa); |
---|
1214 | ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); |
---|
1215 | ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); |
---|
1216 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), Luomaa); |
---|
1217 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), Luomaa); |
---|
1218 | if (pelaajat.Count >= 3) |
---|
1219 | { |
---|
1220 | ruudut.SetTileMethod(Color.FromHexCode("#FFD800"), setspawn, pallo3); |
---|
1221 | } |
---|
1222 | |
---|
1223 | if (pelaajat.Count == 4) |
---|
1224 | { |
---|
1225 | ruudut.SetTileMethod(Color.FromHexCode("#4CFF00"), setspawn,pallo4); |
---|
1226 | } |
---|
1227 | |
---|
1228 | Timer elppiajastin = new Timer(); |
---|
1229 | elppiajastin.Interval = 30.0; |
---|
1230 | elppiajastin.Timeout += Syntyykoelppibonus; |
---|
1231 | elppiajastin.Start(); |
---|
1232 | ruudut.Execute(35, 35); |
---|
1233 | |
---|
1234 | ruudut.Execute(35, 35); |
---|
1235 | siirrapelaajat(); |
---|
1236 | } |
---|
1237 | void siirrapelaajat() |
---|
1238 | { |
---|
1239 | int spawninumero = RandomGen.NextInt(pallo.spawnLista.Count); |
---|
1240 | pallo.X = pallo.spawnLista[spawninumero].X; |
---|
1241 | pallo.Y = pallo.spawnLista[spawninumero].Y; |
---|
1242 | pallo.apupallo.Position = pallo.Position; |
---|
1243 | |
---|
1244 | int spawninumero2 = RandomGen.NextInt(pallo2.spawnLista.Count); |
---|
1245 | pallo2.X = pallo2.spawnLista[spawninumero2].X; |
---|
1246 | pallo2.Y = pallo2.spawnLista[spawninumero2].Y; |
---|
1247 | pallo2.apupallo.Position = pallo2.Position; |
---|
1248 | |
---|
1249 | if (pelaajat.Count >= 3) |
---|
1250 | { |
---|
1251 | int spawninumero3 = RandomGen.NextInt(pallo3.spawnLista.Count); |
---|
1252 | pallo3.X = pallo3.spawnLista[spawninumero3].X; |
---|
1253 | pallo3.Y = pallo3.spawnLista[spawninumero3].Y; |
---|
1254 | pallo3.apupallo.Position = pallo3.Position; |
---|
1255 | } |
---|
1256 | if (pelaajat.Count == 4) |
---|
1257 | { |
---|
1258 | int spawninumero4 = RandomGen.NextInt(pallo4.spawnLista.Count); |
---|
1259 | pallo4.X = pallo4.spawnLista[spawninumero4].X; |
---|
1260 | pallo4.Y = pallo4.spawnLista[spawninumero4].Y; |
---|
1261 | pallo4.apupallo.Position = pallo4.Position; |
---|
1262 | } |
---|
1263 | } |
---|
1264 | #endregion |
---|
1265 | #region valikot |
---|
1266 | void Alkuvalikko() |
---|
1267 | { |
---|
1268 | MultiSelectWindow alkuv = new MultiSelectWindow("Welcome", "Start game/Continue", "Game settings", "weapons", "Crash the game", "Quit"); |
---|
1269 | alkuv.ItemSelected += PainettiinValikonNappia; |
---|
1270 | alkuv.Color = Color.MediumBlue; |
---|
1271 | Add(alkuv); |
---|
1272 | } |
---|
1273 | void PainettiinValikonNappia(int valinta) |
---|
1274 | { |
---|
1275 | switch (valinta) |
---|
1276 | { |
---|
1277 | case 0: |
---|
1278 | //Sulje ikkuna. |
---|
1279 | if (IsPaused) Pause(); |
---|
1280 | if (Zsurvival) |
---|
1281 | { |
---|
1282 | Timer ajastin = new Timer(); |
---|
1283 | ajastin.Interval = 3.0; |
---|
1284 | ajastin.Timeout += Syntyykozombi; |
---|
1285 | ajastin.Start(); |
---|
1286 | } |
---|
1287 | break; |
---|
1288 | case 1: |
---|
1289 | Gasetukset(); |
---|
1290 | //Kartta |
---|
1291 | break; |
---|
1292 | case 2: |
---|
1293 | Asetukset1(); |
---|
1294 | //asevalinta |
---|
1295 | break; |
---|
1296 | case 3: |
---|
1297 | kultaLista.Clear(); |
---|
1298 | elppibonusLista.Clear(); |
---|
1299 | Hautausmaalista.Clear(); |
---|
1300 | |
---|
1301 | ClearAll(); |
---|
1302 | AloitaAlusta(); |
---|
1303 | break; |
---|
1304 | |
---|
1305 | case 4: |
---|
1306 | Exit(); |
---|
1307 | break; |
---|
1308 | } |
---|
1309 | |
---|
1310 | } |
---|
1311 | void playerscontrollers() |
---|
1312 | { |
---|
1313 | MultiSelectWindow PandC = new MultiSelectWindow("Choose amount of players:", "2", "3", "4"); |
---|
1314 | PandC.ItemSelected += players; |
---|
1315 | PandC.Color = Color.MediumBlue; |
---|
1316 | Add(PandC); |
---|
1317 | } |
---|
1318 | void players(int valinta) |
---|
1319 | { |
---|
1320 | |
---|
1321 | pelaajienmaara = valinta + 2; |
---|
1322 | for (int i = 0; i < pelaajienmaara; i++) |
---|
1323 | { |
---|
1324 | Pelaaja uusi = Luopallo(varit[i], 0, 0); |
---|
1325 | uusi.Image = LoadImage("pallo" + (i + 1)); |
---|
1326 | pelaajat.Add(uusi); |
---|
1327 | } |
---|
1328 | |
---|
1329 | pallo = pelaajat[0]; |
---|
1330 | pallo2 = pelaajat[1]; |
---|
1331 | if (pelaajienmaara >= 3) pallo3 = pelaajat[2]; |
---|
1332 | if (pelaajienmaara >= 4) pallo4 = pelaajat[3]; |
---|
1333 | |
---|
1334 | |
---|
1335 | AloitaAlusta(); |
---|
1336 | |
---|
1337 | } |
---|
1338 | void Asetukset1() |
---|
1339 | { |
---|
1340 | MultiSelectWindow p1 = new MultiSelectWindow("Choose your gun", |
---|
1341 | "Sniper rifle", "Assault rifle", "Heavy machine gun", "Shotgun", "Light machine gun", "Back"); |
---|
1342 | p1.Color = Color.MediumBlue; |
---|
1343 | p1.ItemSelected += PVN1; |
---|
1344 | Add(p1); |
---|
1345 | } |
---|
1346 | void PVN1(int s) |
---|
1347 | { |
---|
1348 | switch (s) |
---|
1349 | { |
---|
1350 | case 0: |
---|
1351 | Sni(); |
---|
1352 | break; |
---|
1353 | case 1: |
---|
1354 | As(); |
---|
1355 | break; |
---|
1356 | case 2: |
---|
1357 | asevalinta = "HMG"; |
---|
1358 | Pelaajanase(); |
---|
1359 | break; |
---|
1360 | case 3: |
---|
1361 | sho(); |
---|
1362 | break; |
---|
1363 | case 4: |
---|
1364 | LMG(); |
---|
1365 | break; |
---|
1366 | case 5: |
---|
1367 | Alkuvalikko(); |
---|
1368 | //Palaa takaisin |
---|
1369 | break; |
---|
1370 | } |
---|
1371 | } |
---|
1372 | void Gasetukset() |
---|
1373 | { |
---|
1374 | MultiSelectWindow a1 = new MultiSelectWindow("Maps:", |
---|
1375 | "Caves DM", "Yin DM", "Caves Gold rush", "Yin Gold rush", "CTF Middle", "Zsurvival Arena", "Back"); |
---|
1376 | a1.Color = Color.Azure; |
---|
1377 | a1.ItemSelected += PVN3; |
---|
1378 | Add(a1); |
---|
1379 | } |
---|
1380 | void PVN3(int Valinta) |
---|
1381 | { |
---|
1382 | if (Kenttalad == true) |
---|
1383 | { |
---|
1384 | Alkuvalikko(); |
---|
1385 | return; |
---|
1386 | }//Estaa Kenttien synnyn paallekkain |
---|
1387 | |
---|
1388 | switch (Valinta) |
---|
1389 | { |
---|
1390 | case 0: |
---|
1391 | //Caves-dm |
---|
1392 | Luopelikentta(); |
---|
1393 | Kenttalad = true; |
---|
1394 | Gasetukset3(); |
---|
1395 | break; |
---|
1396 | case 1: |
---|
1397 | //yin-dm |
---|
1398 | Luopelikentta2(); |
---|
1399 | Kenttalad = true; |
---|
1400 | Gasetukset3(); |
---|
1401 | break; |
---|
1402 | case 2: |
---|
1403 | //caves-goru |
---|
1404 | Luopelikentta3(); |
---|
1405 | Kenttalad = true; |
---|
1406 | Gasetukset3(); |
---|
1407 | break; |
---|
1408 | case 3: |
---|
1409 | //yin-goru |
---|
1410 | Luopelikentta4(); |
---|
1411 | Kenttalad = true; |
---|
1412 | Gasetukset3(); |
---|
1413 | break; |
---|
1414 | case 4: |
---|
1415 | //CTF-Middle |
---|
1416 | Luopelikentta5(); |
---|
1417 | Kenttalad = true; |
---|
1418 | CTF = true; |
---|
1419 | Gasetukset3(); |
---|
1420 | break; |
---|
1421 | case 5: |
---|
1422 | //Zsurvival Arena |
---|
1423 | Luopelikentta6(); |
---|
1424 | Kenttalad = true; |
---|
1425 | Zsurvival = true; |
---|
1426 | pallo.Pistemittari.MaxValue = 3000000; |
---|
1427 | pallo2.Pistemittari.MaxValue = 3000000; |
---|
1428 | pisteLukub.BindTo(pallo.Pistemittari); |
---|
1429 | Alkuvalikko(); |
---|
1430 | break; |
---|
1431 | case 6: |
---|
1432 | Alkuvalikko(); |
---|
1433 | break; |
---|
1434 | } |
---|
1435 | |
---|
1436 | |
---|
1437 | } |
---|
1438 | |
---|
1439 | void Gasetukset3() |
---|
1440 | { |
---|
1441 | MultiSelectWindow a1 = new MultiSelectWindow("Points limit", "1000", "3000", "5000", "10000", "15000"); |
---|
1442 | a1.Color = Color.Azure; |
---|
1443 | a1.ItemSelected += PVN33; |
---|
1444 | Add(a1); |
---|
1445 | } |
---|
1446 | void PVN33(int Valinta) |
---|
1447 | { |
---|
1448 | switch (Valinta) |
---|
1449 | { |
---|
1450 | case 0: |
---|
1451 | pallo.Pistemittari.MaxValue = 1000; |
---|
1452 | pallo2.Pistemittari.MaxValue = 1000; |
---|
1453 | Alkuvalikko(); |
---|
1454 | break; |
---|
1455 | case 1: |
---|
1456 | pallo.Pistemittari.MaxValue = 3000; |
---|
1457 | pallo2.Pistemittari.MaxValue = 3000; |
---|
1458 | Alkuvalikko(); |
---|
1459 | break; |
---|
1460 | case 2: |
---|
1461 | pallo.Pistemittari.MaxValue = 5000; |
---|
1462 | pallo2.Pistemittari.MaxValue = 5000; |
---|
1463 | Alkuvalikko(); |
---|
1464 | break; |
---|
1465 | case 3: |
---|
1466 | pallo.Pistemittari.MaxValue = 10000; |
---|
1467 | pallo2.Pistemittari.MaxValue = 10000; |
---|
1468 | Alkuvalikko(); |
---|
1469 | break; |
---|
1470 | case 4: |
---|
1471 | pallo.Pistemittari.MaxValue = 15000; |
---|
1472 | pallo2.Pistemittari.MaxValue = 15000; |
---|
1473 | Alkuvalikko(); |
---|
1474 | break; |
---|
1475 | } |
---|
1476 | |
---|
1477 | |
---|
1478 | } |
---|
1479 | |
---|
1480 | #region asevalikot |
---|
1481 | void LMG() |
---|
1482 | { |
---|
1483 | MultiSelectWindow LMG = new MultiSelectWindow("Light machine guns:", "Famas", "LMG Type `95", "Back"); |
---|
1484 | LMG.Color = Color.MediumBlue; |
---|
1485 | LMG.ItemSelected += LMG2; |
---|
1486 | Add(LMG); |
---|
1487 | } |
---|
1488 | void LMG2(int s) |
---|
1489 | { |
---|
1490 | switch (s) |
---|
1491 | { |
---|
1492 | |
---|
1493 | case 0: |
---|
1494 | asevalinta = "Famas"; |
---|
1495 | Pelaajanase(); |
---|
1496 | break; |
---|
1497 | case 1: |
---|
1498 | asevalinta = "LMG"; |
---|
1499 | Pelaajanase(); |
---|
1500 | break; |
---|
1501 | case 2: |
---|
1502 | Asetukset1(); |
---|
1503 | break; |
---|
1504 | } |
---|
1505 | } |
---|
1506 | |
---|
1507 | void As() |
---|
1508 | { |
---|
1509 | MultiSelectWindow As = new MultiSelectWindow("Assault rifles", "Ak-47u", "Caliber `89", "Back"); |
---|
1510 | As.Color = Color.MediumBlue; |
---|
1511 | As.ItemSelected += As2; |
---|
1512 | Add(As); |
---|
1513 | } |
---|
1514 | void As2(int s) |
---|
1515 | { |
---|
1516 | switch (s) |
---|
1517 | { |
---|
1518 | |
---|
1519 | case 0: |
---|
1520 | asevalinta = "Ak47u"; |
---|
1521 | Pelaajanase(); |
---|
1522 | break; |
---|
1523 | case 1: |
---|
1524 | asevalinta = "Cal89"; |
---|
1525 | Pelaajanase(); |
---|
1526 | break; |
---|
1527 | case 2: |
---|
1528 | Asetukset1(); |
---|
1529 | break; |
---|
1530 | } |
---|
1531 | |
---|
1532 | } |
---|
1533 | void Sni() |
---|
1534 | { |
---|
1535 | MultiSelectWindow Sni = new MultiSelectWindow("Sniper rifles:", "Dragunov", "L84 Mod.", "Back"); |
---|
1536 | Sni.Color = Color.Green; |
---|
1537 | Sni.ItemSelected += Sni2; |
---|
1538 | Add(Sni); |
---|
1539 | } |
---|
1540 | void Sni2(int s) |
---|
1541 | { |
---|
1542 | switch (s) |
---|
1543 | { |
---|
1544 | |
---|
1545 | case 0: |
---|
1546 | asevalinta = "Dragunov"; |
---|
1547 | Pelaajanase(); |
---|
1548 | break; |
---|
1549 | case 1: |
---|
1550 | asevalinta = "Barret"; |
---|
1551 | Pelaajanase(); |
---|
1552 | break; |
---|
1553 | case 2: |
---|
1554 | Asetukset1(); |
---|
1555 | break; |
---|
1556 | } |
---|
1557 | } |
---|
1558 | void sho() |
---|
1559 | { |
---|
1560 | MultiSelectWindow Sni = new MultiSelectWindow("Shotguns:", "Striker", "Spas12", "Back"); |
---|
1561 | Sni.Color = Color.MediumBlue; |
---|
1562 | Sni.ItemSelected += sho2; |
---|
1563 | Add(Sni); |
---|
1564 | } |
---|
1565 | void sho2(int s) |
---|
1566 | { |
---|
1567 | switch (s) |
---|
1568 | { |
---|
1569 | |
---|
1570 | case 0: |
---|
1571 | asevalinta = "Striker"; |
---|
1572 | Pelaajanase(); |
---|
1573 | break; |
---|
1574 | case 1: |
---|
1575 | asevalinta = "Spas"; |
---|
1576 | Pelaajanase(); |
---|
1577 | break; |
---|
1578 | case 2: |
---|
1579 | Asetukset1(); |
---|
1580 | break; |
---|
1581 | } |
---|
1582 | } |
---|
1583 | |
---|
1584 | void Pelaajanase() |
---|
1585 | { |
---|
1586 | MultiSelectWindow Playersweapon; |
---|
1587 | if (pelaajienmaara == 2) |
---|
1588 | Playersweapon = new MultiSelectWindow("Who uses this weapon?", "P1", "P2"); |
---|
1589 | else if (pelaajienmaara == 3) |
---|
1590 | Playersweapon = new MultiSelectWindow("Who uses this weapon?", "P1", "P2", "P3"); |
---|
1591 | else |
---|
1592 | Playersweapon = new MultiSelectWindow("Who uses this weapon?", "P1", "P2", "P3", "P4"); |
---|
1593 | |
---|
1594 | Playersweapon.Color = Color.Yellow; |
---|
1595 | Playersweapon.ItemSelected += Pelaajanase2; |
---|
1596 | Add(Playersweapon); |
---|
1597 | } |
---|
1598 | void Pelaajanase2(int s) |
---|
1599 | { |
---|
1600 | Pelaaja valittuPallo = pelaajat[s]; |
---|
1601 | if (asevalinta == "HMG") |
---|
1602 | { |
---|
1603 | valittuPallo.Ase = "HMG"; |
---|
1604 | valittuPallo.Ampumisnopeus = 800; |
---|
1605 | valittuPallo.Ammusmittari.MaxValue = 500; |
---|
1606 | valittuPallo.Ammusmittari.Value = 500; |
---|
1607 | valittuPallo.Latausnopeus = 6.7; |
---|
1608 | valittuPallo.Latapati = 500; |
---|
1609 | valittuPallo.Asekuva = HMG; |
---|
1610 | aseKuvakkeet[s].Image = HMG; |
---|
1611 | Alkuvalikko(); |
---|
1612 | } |
---|
1613 | if (asevalinta == "Dragunov") |
---|
1614 | { |
---|
1615 | valittuPallo.Ase = "Dragunov"; |
---|
1616 | valittuPallo.Ampumisnopeus = 1024; |
---|
1617 | valittuPallo.Ammusmittari.MaxValue = 11; |
---|
1618 | valittuPallo.Ammusmittari.Value = 11; |
---|
1619 | valittuPallo.Latausnopeus = 5.3; |
---|
1620 | valittuPallo.Latapati = 11; |
---|
1621 | valittuPallo.Asekuva = MGH; |
---|
1622 | aseKuvakkeet[s].Image = MGH; |
---|
1623 | Alkuvalikko(); |
---|
1624 | } |
---|
1625 | if (asevalinta == "Barret") |
---|
1626 | { |
---|
1627 | valittuPallo.Ase = "Barret"; |
---|
1628 | valittuPallo.Ampumisnopeus = 1024; |
---|
1629 | valittuPallo.Ammusmittari.MaxValue = 1; |
---|
1630 | valittuPallo.Ammusmittari.Value = 1; |
---|
1631 | valittuPallo.Latausnopeus = 2.0; |
---|
1632 | valittuPallo.Latapati = 1; |
---|
1633 | valittuPallo.Asekuva = Sniper; |
---|
1634 | aseKuvakkeet[s].Image = Sniper; |
---|
1635 | Alkuvalikko(); |
---|
1636 | } |
---|
1637 | if (asevalinta == "Striker") |
---|
1638 | { |
---|
1639 | valittuPallo.Ase = "Shotgun"; |
---|
1640 | valittuPallo.Ampumisnopeus = 1224; |
---|
1641 | valittuPallo.Ammusmittari.MaxValue = 11; |
---|
1642 | valittuPallo.Ammusmittari.Value = 11; |
---|
1643 | valittuPallo.Latausnopeus = 5.3; |
---|
1644 | valittuPallo.Latapati = 11; |
---|
1645 | valittuPallo.Asekuva = Shotgun; |
---|
1646 | aseKuvakkeet[s].Image = Shotgun; |
---|
1647 | Alkuvalikko(); |
---|
1648 | } |
---|
1649 | if (asevalinta == "Spas") |
---|
1650 | { |
---|
1651 | valittuPallo.Ase = "Spas"; |
---|
1652 | valittuPallo.Ampumisnopeus = 1224; |
---|
1653 | valittuPallo.Ammusmittari.MaxValue = 2; |
---|
1654 | valittuPallo.Ammusmittari.Value = 2; |
---|
1655 | valittuPallo.Latausnopeus = 1.6; |
---|
1656 | valittuPallo.Latapati = 2; |
---|
1657 | valittuPallo.Asekuva = Spas; |
---|
1658 | aseKuvakkeet[s].Image = Spas; |
---|
1659 | Alkuvalikko(); |
---|
1660 | } |
---|
1661 | if (asevalinta == "Ak47u") |
---|
1662 | { |
---|
1663 | valittuPallo.Ase = "Ak"; |
---|
1664 | valittuPallo.Ampumisnopeus = 890; |
---|
1665 | valittuPallo.Ammusmittari.MaxValue = 64; |
---|
1666 | valittuPallo.Ammusmittari.Value = 64; |
---|
1667 | valittuPallo.Latausnopeus = 0.8; |
---|
1668 | valittuPallo.Latapati = 64; |
---|
1669 | valittuPallo.Asekuva = Ak47u; |
---|
1670 | aseKuvakkeet[s].Image = Ak47u; |
---|
1671 | Alkuvalikko(); |
---|
1672 | } |
---|
1673 | if (asevalinta == "Cal89") |
---|
1674 | { |
---|
1675 | valittuPallo.Ase = "Cal89"; |
---|
1676 | valittuPallo.Ampumisnopeus = 1024; |
---|
1677 | valittuPallo.Ammusmittari.MaxValue = 25; |
---|
1678 | valittuPallo.Ammusmittari.Value = 25; |
---|
1679 | valittuPallo.Latausnopeus = 2.1; |
---|
1680 | valittuPallo.Latapati = 25; |
---|
1681 | valittuPallo.Asekuva = Caliber; |
---|
1682 | aseKuvakkeet[s].Image = Caliber; |
---|
1683 | Alkuvalikko(); |
---|
1684 | } |
---|
1685 | if (asevalinta == "LMG") |
---|
1686 | { |
---|
1687 | valittuPallo.Ase = "LMG Type"; |
---|
1688 | valittuPallo.Ampumisnopeus = 448; |
---|
1689 | valittuPallo.Ammusmittari.MaxValue = 400; |
---|
1690 | valittuPallo.Ammusmittari.Value = 400; |
---|
1691 | valittuPallo.Latausnopeus = 5.0; |
---|
1692 | valittuPallo.Latapati = 400; |
---|
1693 | valittuPallo.Asekuva = Light; |
---|
1694 | aseKuvakkeet[s].Image = Light; |
---|
1695 | Alkuvalikko(); |
---|
1696 | } |
---|
1697 | if (asevalinta == "Famas") |
---|
1698 | { |
---|
1699 | valittuPallo.Ase = "Famas"; |
---|
1700 | valittuPallo.Ampumisnopeus = 1024; |
---|
1701 | valittuPallo.Ammusmittari.MaxValue = 100; |
---|
1702 | valittuPallo.Ammusmittari.Value = 100; |
---|
1703 | valittuPallo.Latausnopeus = 1.9; |
---|
1704 | valittuPallo.Latapati = 100; |
---|
1705 | valittuPallo.Asekuva = Famas; |
---|
1706 | aseKuvakkeet[s].Image = Famas; |
---|
1707 | Alkuvalikko(); |
---|
1708 | } |
---|
1709 | } |
---|
1710 | #endregion |
---|
1711 | #endregion |
---|
1712 | void Pelaajakuoli(Pelaaja p) |
---|
1713 | { |
---|
1714 | Remove(p); |
---|
1715 | kuolemat += 1; |
---|
1716 | if (Zsurvival) |
---|
1717 | { |
---|
1718 | String jaljella = (6 - kuolemat).ToString(); |
---|
1719 | Label elamia = new Label(150, 20, "Lifes left: " + jaljella); |
---|
1720 | elamia.Y = Screen.Top - 20; |
---|
1721 | elamia.TextColor = Color.Red; |
---|
1722 | Add(elamia); |
---|
1723 | elamia.LifetimeLeft = TimeSpan.FromSeconds(4); |
---|
1724 | if (kuolemat == 5 + pelaajienmaara) |
---|
1725 | { |
---|
1726 | Pause(); |
---|
1727 | toplista(); |
---|
1728 | } |
---|
1729 | else if (kuolemat > 5) |
---|
1730 | return; |
---|
1731 | } |
---|
1732 | p.kuollut = true; |
---|
1733 | p.Stop(); |
---|
1734 | |
---|
1735 | if (!Zsurvival) |
---|
1736 | { |
---|
1737 | pallo.Pistemittari.Value += 500; |
---|
1738 | pallo2.Pistemittari.Value += 500; |
---|
1739 | if (pelaajat.Count >= 3) |
---|
1740 | { |
---|
1741 | pallo3.Pistemittari.Value += 500; |
---|
1742 | } |
---|
1743 | if (pelaajat.Count == 4) |
---|
1744 | { |
---|
1745 | pallo4.Pistemittari.Value += 500; |
---|
1746 | } |
---|
1747 | p.Pistemittari.Value -= 1000; |
---|
1748 | |
---|
1749 | } |
---|
1750 | if (CTF && pelaajat.Count == 2) |
---|
1751 | { |
---|
1752 | punalippu.OnLippu = true; |
---|
1753 | punalippu.Image = Punalippu; |
---|
1754 | Sinikuva.Image = p.Asekuva; |
---|
1755 | p.HasFlag = false; |
---|
1756 | } |
---|
1757 | |
---|
1758 | Timer.SingleShot(3.1, delegate |
---|
1759 | { |
---|
1760 | int spawninumero = RandomGen.NextInt(p.spawnLista.Count); |
---|
1761 | p.X = p.spawnLista[spawninumero].X; |
---|
1762 | p.Y = p.spawnLista[spawninumero].Y; |
---|
1763 | p.apupallo.Position = pallo.Position; |
---|
1764 | p.kuollut = false; |
---|
1765 | Add(p); |
---|
1766 | Add(p.apupallo, 1); |
---|
1767 | p.turbomittari.Value = 100.0; |
---|
1768 | p.elamaMittari.Value = 500.0; |
---|
1769 | p.Ammusmittari.Value += pallo.Latapati; |
---|
1770 | }); |
---|
1771 | } |
---|
1772 | //Kransu |
---|
1773 | void HKranaatti(Pelaaja Pallo) |
---|
1774 | { |
---|
1775 | HKranaatti(Pallo, null); |
---|
1776 | } |
---|
1777 | |
---|
1778 | void HKranaatti(Pelaaja Pallo, GamePad padi) |
---|
1779 | { |
---|
1780 | if (Pallo.turbomittari < Pallo.turbomittari.MaxValue) return; |
---|
1781 | if (Pallo.kuollut == true) return; |
---|
1782 | Pallo.turbomittari.Value = Pallo.turbomittari.MinValue; |
---|
1783 | |
---|
1784 | PhysicsObject Kransu = new PhysicsObject(20, 20); |
---|
1785 | Kransu.Image = kransu; |
---|
1786 | Add(Kransu); |
---|
1787 | Kransu.Position = Pallo.Position; |
---|
1788 | Kransu.IgnoresCollisionResponse = true; |
---|
1789 | |
---|
1790 | if (padi != null) |
---|
1791 | { |
---|
1792 | Pallo.viimeisinSuunta = Vector.ComponentProduct(padi.RightThumbDirection.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus)); |
---|
1793 | if (Double.IsNaN(Pallo.viimeisinSuunta.X)) |
---|
1794 | Pallo.viimeisinSuunta.X = 0; |
---|
1795 | if (Double.IsNaN(Pallo.viimeisinSuunta.Y)) |
---|
1796 | Pallo.viimeisinSuunta.Y = 0; |
---|
1797 | } |
---|
1798 | Kransu.Hit(Pallo.viimeisinSuunta * 1.2); |
---|
1799 | Kransu.IgnoresExplosions = true; |
---|
1800 | Timer.SingleShot(1.0, delegate |
---|
1801 | { |
---|
1802 | ExplosionSystem es = new ExplosionSystem(Boom, 80); |
---|
1803 | es.Position = Kransu.Position; |
---|
1804 | es.MaxScale = 30; |
---|
1805 | es.MinScale = 30; |
---|
1806 | es.MaxVelocity = 100; |
---|
1807 | Add(es); |
---|
1808 | es.AddEffect(Kransu.Position, 80); |
---|
1809 | Kransu.Destroy(); |
---|
1810 | Explosion es2 = new Explosion(100); |
---|
1811 | es2.Position = Kransu.Position; |
---|
1812 | es2.IsVisible = false; |
---|
1813 | es2.ShockwaveReachesObject += delegate(IPhysicsObject kohde, Vector suunta) { Rajahdusosui(Pallo, kohde, suunta, es2); }; |
---|
1814 | Add(es2); |
---|
1815 | }); |
---|
1816 | } |
---|
1817 | void Rajahdusosui(Pelaaja ampuja, IPhysicsObject kohde, Vector v, Explosion es) |
---|
1818 | { |
---|
1819 | if (kohde is Pelaaja) |
---|
1820 | { |
---|
1821 | Pelaaja kohdePelaaja = kohde as Pelaaja; |
---|
1822 | if (kohdePelaaja == null) return; |
---|
1823 | if (kohdePelaaja.Viimeisinrajahdus == es) return; |
---|
1824 | double etaisyys = Vector.Distance(kohdePelaaja.Position, es.Position); |
---|
1825 | int damage = (int)Math.Floor(15000 / etaisyys); |
---|
1826 | kohdePelaaja.elamaMittari.Value -= damage; |
---|
1827 | } |
---|
1828 | else if (kohde is Zombi) |
---|
1829 | { |
---|
1830 | Zombi kohdezombi = kohde as Zombi; |
---|
1831 | if (kohdezombi == null) return; |
---|
1832 | if (kohdezombi.Viimeisinrajahdus == es) return; |
---|
1833 | double etaisyys = Vector.Distance(kohdezombi.Position, es.Position); |
---|
1834 | int damage = (int)Math.Floor(15000 / etaisyys); |
---|
1835 | pallo.Pistemittari.Value += damage; |
---|
1836 | kohdezombi.elamaMittari.Value -= damage; |
---|
1837 | |
---|
1838 | } |
---|
1839 | |
---|
1840 | } |
---|
1841 | void Tayta(Pelaaja p) |
---|
1842 | { |
---|
1843 | if (p.turbomittari < p.turbomittari.MaxValue) return; |
---|
1844 | if (p.kuollut == true) return; |
---|
1845 | p.turbomittari.Value = p.turbomittari.MinValue; |
---|
1846 | Healaus.Play(); |
---|
1847 | ExplosionSystem ss = new ExplosionSystem(Sydan, 100); |
---|
1848 | ss.MaxScale = 30; |
---|
1849 | ss.MinScale = 15; |
---|
1850 | ss.MaxVelocity = 40; |
---|
1851 | ss.MaxLifetime = 0.6; |
---|
1852 | Add(ss); |
---|
1853 | ss.AddEffect(p.Position, 15); |
---|
1854 | p.elamaMittari.Value += 150; |
---|
1855 | } |
---|
1856 | void Luomaa(Vector paikka, double leveys, double korkeus) |
---|
1857 | { |
---|
1858 | GameObject maa = new GameObject(leveys, korkeus); |
---|
1859 | maa.Position = paikka + siirtyma; |
---|
1860 | maa.Color = Color.DarkGray; |
---|
1861 | Add(maa, -3); |
---|
1862 | } |
---|
1863 | |
---|
1864 | void setspawn(Vector paikka, double leveys, double korkeus, Pelaaja pelaaja) |
---|
1865 | { |
---|
1866 | Luomaa(paikka, leveys, korkeus); |
---|
1867 | pelaaja.spawnLista.Add(paikka + siirtyma); |
---|
1868 | } |
---|
1869 | |
---|
1870 | void Luokultapaikka(Vector paikka, double leveys, double korkeus) |
---|
1871 | { |
---|
1872 | Luomaa(paikka, leveys, korkeus); |
---|
1873 | kultaLista.Add(paikka + siirtyma); |
---|
1874 | } |
---|
1875 | void Luoelppibonuspaikka(Vector paikka, double leveys, double korkeus) |
---|
1876 | { |
---|
1877 | Luomaa(paikka, leveys, korkeus); |
---|
1878 | elppibonusLista.Add(paikka + siirtyma); |
---|
1879 | } |
---|
1880 | void LuoHautausmaa(Vector paikka, double leveys, double korkeus) |
---|
1881 | { |
---|
1882 | Luomaa(paikka, leveys, korkeus); |
---|
1883 | Hautausmaalista.Add(paikka + siirtyma); |
---|
1884 | |
---|
1885 | Hautausmaa hautausmaa = new Hautausmaa(35, 35); |
---|
1886 | hautausmaa.Image = Hauta; |
---|
1887 | hautausmaa.Tag = "Hautausmaa"; |
---|
1888 | hautausmaa.Elpit.LowerLimit += delegate |
---|
1889 | { |
---|
1890 | hautausmaa.OnKunnossa = false; |
---|
1891 | Hautausmaalista.Remove(hautausmaa.Position); |
---|
1892 | hautausmaa.Image = HautaRikki; |
---|
1893 | Timer.SingleShot(10, delegate |
---|
1894 | { |
---|
1895 | hautausmaa.OnKunnossa = true; |
---|
1896 | hautausmaa.Image = Hauta; |
---|
1897 | Hautausmaalista.Add(paikka + siirtyma); |
---|
1898 | hautausmaa.Elpit.Value = hautausmaa.Elpit.MaxValue; |
---|
1899 | }); |
---|
1900 | |
---|
1901 | }; |
---|
1902 | hautausmaa.CollisionIgnoreGroup = 2; |
---|
1903 | hautausmaa.Position = paikka + siirtyma; |
---|
1904 | hautausmaa.MakeStatic(); |
---|
1905 | Add(hautausmaa, -2); |
---|
1906 | |
---|
1907 | } |
---|
1908 | void Spawnkulta(int numero) |
---|
1909 | { |
---|
1910 | PhysicsObject Kultapala = new PhysicsObject(35, 35); |
---|
1911 | |
---|
1912 | Kultapala.X = kultaLista[numero].X; |
---|
1913 | Kultapala.Y = kultaLista[numero].Y; |
---|
1914 | Kultapala.MaximumLifetime = TimeSpan.FromSeconds(15); |
---|
1915 | Kultapala.Image = kulta; |
---|
1916 | Kultapala.MakeStatic(); |
---|
1917 | Kultapala.Tag = "Kulta"; |
---|
1918 | |
---|
1919 | Add(Kultapala); |
---|
1920 | } |
---|
1921 | void Spawnelppibonus(int numero) |
---|
1922 | { |
---|
1923 | PhysicsObject Elppilaatikko = new PhysicsObject(35, 35); |
---|
1924 | |
---|
1925 | Elppilaatikko.X = elppibonusLista[numero].X; |
---|
1926 | Elppilaatikko.Y = elppibonusLista[numero].Y; |
---|
1927 | Elppilaatikko.MaximumLifetime = TimeSpan.FromSeconds(20); |
---|
1928 | Elppilaatikko.Image = elppibonus; |
---|
1929 | Elppilaatikko.MakeStatic(); |
---|
1930 | Elppilaatikko.Tag = "Elppibonus"; |
---|
1931 | |
---|
1932 | Add(Elppilaatikko); |
---|
1933 | } |
---|
1934 | void SpawnZombie(int numero) |
---|
1935 | { |
---|
1936 | if (Hautausmaalista.Count == 0) return; |
---|
1937 | Zombi Zombie = new Zombi(20, 20); |
---|
1938 | |
---|
1939 | Zombie.X = Hautausmaalista[numero].X; |
---|
1940 | Zombie.Y = Hautausmaalista[numero].Y; |
---|
1941 | Zombie.Image = ZOMBI; |
---|
1942 | Zombie.Tag = "Zombi"; |
---|
1943 | Zombie.CollisionIgnoreGroup = 2; |
---|
1944 | Zombie.Shape = Shape.Circle; |
---|
1945 | |
---|
1946 | FollowerBrain zombinAivot = new FollowerBrain("pallo"); |
---|
1947 | zombinAivot.Speed = Zombi.Zombinvauhti; |
---|
1948 | zombinAivot.TurnWhileMoving = true; |
---|
1949 | Zombie.Brain = zombinAivot; |
---|
1950 | |
---|
1951 | Add(Zombie, 3); |
---|
1952 | Zombie.elamaMittari.LowerLimit += delegate { Zombie.Destroy(); }; |
---|
1953 | |
---|
1954 | Zombi.Zombinvauhti += 1; |
---|
1955 | Zombi.Zombinelpit += 1; |
---|
1956 | Zombi.Zombinvahinko += 1; |
---|
1957 | } |
---|
1958 | void Spawnvauhtibonus(int numero) |
---|
1959 | { |
---|
1960 | PhysicsObject turbolaatikko = new PhysicsObject(35, 35); |
---|
1961 | |
---|
1962 | turbolaatikko.X = elppibonusLista[numero].X; |
---|
1963 | turbolaatikko.Y = elppibonusLista[numero].Y; |
---|
1964 | turbolaatikko.MaximumLifetime = TimeSpan.FromSeconds(20); |
---|
1965 | turbolaatikko.Image = energiabonus; |
---|
1966 | turbolaatikko.MakeStatic(); |
---|
1967 | turbolaatikko.Tag = "Turbobonus"; |
---|
1968 | Add(turbolaatikko); |
---|
1969 | } |
---|
1970 | |
---|
1971 | void Kullankerays(PhysicsObject olio, PhysicsObject kulta) |
---|
1972 | { |
---|
1973 | if (olio is Pelaaja) |
---|
1974 | { |
---|
1975 | Pelaaja p = (Pelaaja)olio; |
---|
1976 | p.Pistemittari.Value += 500; |
---|
1977 | kulta.Destroy(); |
---|
1978 | Kolikonkerays.Play(); |
---|
1979 | } |
---|
1980 | } |
---|
1981 | void Elppibonuskerays(PhysicsObject olio, PhysicsObject elppibonus) |
---|
1982 | { |
---|
1983 | if (olio is Pelaaja) |
---|
1984 | { |
---|
1985 | Pelaaja p = (Pelaaja)olio; |
---|
1986 | p.elamaMittari.Value += 150; |
---|
1987 | elppibonus.Destroy(); |
---|
1988 | Healaus.Play(); |
---|
1989 | ExplosionSystem ss = new ExplosionSystem(Sydan, 100); |
---|
1990 | ss.MaxScale = 30; |
---|
1991 | ss.MinScale = 15; |
---|
1992 | ss.MaxVelocity = 40; |
---|
1993 | ss.MaxLifetime = 0.6; |
---|
1994 | Add(ss); |
---|
1995 | ss.AddEffect(p.Position, 15); |
---|
1996 | } |
---|
1997 | } |
---|
1998 | void Vauhtibonuskerays(PhysicsObject olio, PhysicsObject energiabonus) |
---|
1999 | { |
---|
2000 | if (olio is Pelaaja) |
---|
2001 | { |
---|
2002 | Pelaaja p = (Pelaaja)olio; |
---|
2003 | ExplosionSystem ss = new ExplosionSystem(salama, 100); |
---|
2004 | ss.MaxScale = 30; |
---|
2005 | ss.MinScale = 20; |
---|
2006 | ss.MaxVelocity = 150; |
---|
2007 | ss.MaxLifetime = 0.5; |
---|
2008 | ss.MinRotation = 0.0; |
---|
2009 | ss.MaxRotation = 365.0; |
---|
2010 | ss.MinRotationSpeed = 2.0; |
---|
2011 | Add(ss); |
---|
2012 | ss.AddEffect(p.Position, 50); |
---|
2013 | p.liikkumisnopeus = p.liikkumisnopeus * 2; |
---|
2014 | energiabonus.Destroy(); |
---|
2015 | Timer.SingleShot(5.0, delegate { p.liikkumisnopeus = p.liikkumisnopeus / 2; }); |
---|
2016 | |
---|
2017 | } |
---|
2018 | } |
---|
2019 | void ZombiHyokkaa(Pelaaja olio, PhysicsObject zombi) |
---|
2020 | { |
---|
2021 | if (olio is Pelaaja) |
---|
2022 | { |
---|
2023 | olio.elamaMittari.Value -= Zombi.Zombinvahinko; |
---|
2024 | } |
---|
2025 | } |
---|
2026 | |
---|
2027 | |
---|
2028 | void LippuTankoKosketus(Pelaaja p, Flag f) |
---|
2029 | { |
---|
2030 | if (!f.OnLippu) return; |
---|
2031 | |
---|
2032 | if (p == pallo && f.OnPunainen) |
---|
2033 | { |
---|
2034 | p.HasFlag = true; |
---|
2035 | Sinikuva.Image = Flag; |
---|
2036 | f.OnLippu = false; |
---|
2037 | punalippu.Image = Punatanko; |
---|
2038 | } |
---|
2039 | if (p == pallo2 && !f.OnPunainen) |
---|
2040 | { |
---|
2041 | p.HasFlag = true; |
---|
2042 | Punakuva.Image = Flag; |
---|
2043 | f.OnLippu = false; |
---|
2044 | sinilippu.Image = Sinitanko; |
---|
2045 | } |
---|
2046 | if (p == pallo && !f.OnPunainen && p.HasFlag) |
---|
2047 | { |
---|
2048 | p.HasFlag = false; |
---|
2049 | p.Pistemittari.Value += 2000; |
---|
2050 | sinilippu.Image = Sinilippu; |
---|
2051 | punalippu.Image = Punalippu; |
---|
2052 | punalippu.OnLippu = true; |
---|
2053 | sinilippu.OnLippu = true; |
---|
2054 | Sinikuva.Image = p.Asekuva; |
---|
2055 | ExplosionSystem es = new ExplosionSystem(Redlippu, 5); |
---|
2056 | es.Position = f.Position; |
---|
2057 | es.MaxScale = 30; |
---|
2058 | es.MinScale = 30; |
---|
2059 | es.MaxVelocity = 50; |
---|
2060 | Add(es); |
---|
2061 | es.AddEffect(f.Position, 5); |
---|
2062 | } |
---|
2063 | if (p == pallo2 && f.OnPunainen && p.HasFlag) |
---|
2064 | { |
---|
2065 | p.HasFlag = false; |
---|
2066 | p.Pistemittari.Value += 2000; |
---|
2067 | punalippu.Image = Punalippu; |
---|
2068 | sinilippu.Image = Sinilippu; |
---|
2069 | Punakuva.Image = p.Asekuva; |
---|
2070 | punalippu.OnLippu = true; |
---|
2071 | sinilippu.OnLippu = true; |
---|
2072 | ExplosionSystem es = new ExplosionSystem(Blulippu, 5); |
---|
2073 | es.Position = f.Position; |
---|
2074 | es.MaxScale = 30; |
---|
2075 | es.MinScale = 30; |
---|
2076 | es.MaxVelocity = 50; |
---|
2077 | Add(es); |
---|
2078 | es.AddEffect(f.Position, 5); |
---|
2079 | } |
---|
2080 | } |
---|
2081 | |
---|
2082 | void Maxpointsreached(Pelaaja pallow) |
---|
2083 | { |
---|
2084 | Label voitto = new Label("The player number " + (pelaajat.FindIndex(p => p == pallow) + 1) + " wins!"); |
---|
2085 | voitto.Color = Color.White; |
---|
2086 | voitto.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 5000); |
---|
2087 | voitto.Position = new Vector(0, 100); |
---|
2088 | voitto.Size = new Vector(300, 50); |
---|
2089 | Add(voitto); |
---|
2090 | |
---|
2091 | } |
---|
2092 | void toplista() |
---|
2093 | { |
---|
2094 | HighScoreWindow topIkkuna = new HighScoreWindow( |
---|
2095 | "The best survivors", |
---|
2096 | "Congrats, you made it to the top list with points %p, please enter your nic.", |
---|
2097 | topZombeissa, pallo.Pistemittari.Value); |
---|
2098 | topIkkuna.Closed += TallennaPisteet; |
---|
2099 | Add(topIkkuna); |
---|
2100 | } |
---|
2101 | void TallennaPisteet(Window sender) |
---|
2102 | { |
---|
2103 | DataStorage.Save<ScoreList>(topZombeissa, "pisteet.xml"); |
---|
2104 | } |
---|
2105 | } |
---|