- Timestamp:
- 2013-06-06 13:16:08 (10 years ago)
- Location:
- 2012/23/AnttiR/From above
- Files:
-
- 11 added
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/FromAbove.cs
r3982 r3994 24 24 public Explosion Viimeisinrajahdus = null; 25 25 public double Ampumisnopeus; 26 public StringAsekuva;26 public Image Asekuva; 27 27 public string Ase; 28 28 public Vector viimeisinSuunta = Vector.Zero; 29 29 public PhysicsObject apupallo; 30 31 30 32 31 33 public Pelaaja(double leveys, double korkeus) … … 38 40 Pisteputki = new DoubleMeter(0, 0, 10); 39 41 Ampumisnopeus = 512; 40 Ase = "Heavy";41 Asekuva = "HMG";42 42 Latausnopeus = 6.0; 43 43 Latapati = 250; … … 49 49 if (apupallo != null) this.apupallo.Destroy(); 50 50 base.Destroy(); 51 } 52 } 53 public class Zombi : PhysicsObject 54 { 55 public DoubleMeter elamaMittari; 56 public Explosion Viimeisinrajahdus = null; 57 public static int Zombinvauhti = 100; 58 public static int Zombinelpit = 200; 59 public static int Zombinvahinko = 50; 60 61 public Zombi(double leveys, double korkeus) 62 : base(leveys, korkeus) 63 { 64 elamaMittari = new DoubleMeter(Zombinelpit, 0, Zombinelpit); 51 65 } 52 66 } … … 60 74 { 61 75 76 } 77 78 } 79 public class Hautausmaa : PhysicsObject 80 { 81 public DoubleMeter Elpit; 82 public bool OnKunnossa = true; 83 84 public Hautausmaa(double leveys, double korkeus) 85 : base(leveys, korkeus) 86 { 87 Elpit = new DoubleMeter(1500, 0, 1500); 62 88 } 63 89 … … 71 97 Flag sinilippu; 72 98 Flag punalippu; 99 Label pisteLukub = new Label(); 100 101 ScoreList topZombeissa = new ScoreList(10, false, 0); 73 102 74 103 Vector siirtyma = new Vector(0, 130); … … 77 106 List<Vector> spawnilista1 = new List<Vector>(); 78 107 List<Vector> spawnilista2 = new List<Vector>(); 108 List<Vector> Hautausmaalista = new List<Vector>(); 79 109 80 110 PhysicsObject alareuna; … … 83 113 GameObject Text; 84 114 GameObject Text2; 85 PhysicsObject m; 86 PhysicsObject n; 87 PhysicsObject n2; 88 PhysicsObject m2; 115 int kuolemat = 0; 89 116 BarGauge elppiPalkki = new BarGauge(150, 122); 90 117 BarGauge elppiPalkki2 = new BarGauge(150, 122); … … 108 135 Image Caliber = LoadImage("Caliber 89"); 109 136 Image Ak47u = LoadImage("Aku"); 137 Image Flag = LoadImage("Flag"); 110 138 Image Sniper = LoadImage("Barret"); 111 139 Image Light = LoadImage("Light"); … … 126 154 Image palikka = LoadImage("Palikka"); 127 155 Image vaarapalikka = LoadImage("Vaara"); 156 157 Image ZOMBI = LoadImage("Zombi"); 158 Image Hauta = LoadImage("Hautakivikakkaperkele"); 159 Image HautaRikki = LoadImage("Hautakivikakkaperkelehakattupaska"); 128 160 129 161 SoundEffect Kolikonkerays = LoadSoundEffect("coin-drop-5"); … … 135 167 bool Kenttalad; 136 168 bool CTF; 169 bool Zsurvival; 137 170 138 171 public override void Begin() 172 { 173 AloitaAlusta(); 174 175 } 176 177 void AloitaAlusta() 139 178 { 140 179 Kenttalad = false; 141 180 CTF = false; 181 Zsurvival = false; 182 183 topZombeissa = DataStorage.TryLoad<ScoreList>(topZombeissa, "pisteet.xml"); 142 184 143 185 //Kirjoita ohjelmakoodisi tähän … … 149 191 Level.Background.CreateGradient(Color.Black, Color.Black); 150 192 193 Pause(); 151 194 Luokentta(); 152 195 AsetaOhjaimet(); 153 196 Luoajastin(); 154 197 Alkuvalikko(); 155 156 198 157 199 } … … 168 210 pallo.CanRotate = false; 169 211 pallo.Tag = "pallo"; 212 pallo.Ase = "Heavy"; 213 pallo.Asekuva = HMG; 170 214 pallo.Color = vari; 171 215 … … 179 223 apupallo.Brain = fb; 180 224 pallo.apupallo = apupallo; 181 AddCollisionHandler(apupallo, "Vaara!", delegate(PhysicsObject p, PhysicsObject o) { Pelaajakuoli(pallo); });225 AddCollisionHandler(apupallo, "Vaara!", delegate(PhysicsObject p, PhysicsObject o) { pallo.elamaMittari.Value = pallo.elamaMittari.MinValue; }); 182 226 AddCollisionHandler(apupallo, "Flag", delegate(PhysicsObject p, Flag f) { LippuTankoKosketus(pallo, f); }); 183 227 // AddCollisionHandler(apupallo, "BlueFlag", delegate(PhysicsObject p, Flag f) { LippuTankoKosketus(pallo, f); }); … … 187 231 AddCollisionHandler(pallo, "Elppibonus", Elppibonuskerays); 188 232 AddCollisionHandler(pallo, "Turbobonus", Vauhtibonuskerays); 233 AddCollisionHandler<Pelaaja,Zombi>(pallo, "Zombi", ZombiHyokkaa); 189 234 return pallo; 190 235 } … … 274 319 pistePalkkib.Direction = BarGauge.BarDirection.BarHorizontalLeft; 275 320 Add(pistePalkkib); 276 Label pisteLukub = new Label();321 277 322 pisteLukub.BindTo(pallo2.Pistemittari); 278 323 pisteLukub.Position = new Vector(200, -190); … … 304 349 305 350 ControllerOne.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo); 306 ControllerOne.ListenAnalog(AnalogControl.RightStick, -1, TahtaaTatilla, "tahtaa", pallo);351 ControllerOne.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo); 307 352 ControllerOne.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 1:Käytä turbo", pallo); 308 353 ControllerOne.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 1:Paranna elamia", pallo); 309 354 ControllerOne.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 1:Lataa ase", pallo); 310 ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo ); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu311 ControllerOne.Listen(Button. LeftShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 1: ammu", pallo, pPati);355 ControllerOne.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja 1:Heita kranaatti", pallo, ControllerOne); // heitetään kranaatti siihen suuntaan mihin on viimeksi liikuttu 356 ControllerOne.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 1: ammu", pallo, pPati); 312 357 313 358 // Pelaaja 2 … … 330 375 331 376 ControllerTwo.ListenAnalog(AnalogControl.LeftStick, -1, LiikutaTatilla, "Liikuta", pallo2); 332 ControllerTwo.ListenAnalog(AnalogControl.RightStick, -1, TahtaaTatilla, "tahtaa", pallo2);377 ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0, TahtaaTatilla, "tahtaa", pallo2); 333 378 ControllerTwo.Listen(Button.LeftStick, ButtonState.Pressed, Kayta, "Pelaaja 2:Käytä turbo", pallo2); 334 379 ControllerTwo.Listen(Button.B, ButtonState.Pressed, Tayta, "Pelaaja 2:Paranna elamia", pallo2); 335 380 ControllerTwo.Listen(Button.A, ButtonState.Pressed, Lataa, "Pelaaja 2:Lataa ase", pallo2); 336 ControllerTwo.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja heitä kranaatti", pallo2 ); // heitetään kranaatti siihen suuntaan mihin on viimeksi tähdatty337 ControllerTwo.Listen(Button. LeftShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 2: ammu", pallo2, pPati);381 ControllerTwo.Listen(Button.RightTrigger, ButtonState.Pressed, HKranaatti, "Pelaaja heitä kranaatti", pallo2, ControllerTwo); // heitetään kranaatti siihen suuntaan mihin on viimeksi tähdatty 382 ControllerTwo.Listen(Button.RightShoulder, ButtonState.Down, AmmuOhjaimella, "Pelaaja 2: ammu", pallo2, sPati); 338 383 339 384 //General … … 344 389 void AmmuOhjaimella(Pelaaja pallo, Image i) 345 390 { 346 if (pallo.viimeisinSuunta != Vector.Zero && !double.IsNaN(pallo.viimeisinSuunta.X))391 if (pallo.viimeisinSuunta != Vector.Zero) 347 392 Ammu(pallo, pallo.viimeisinSuunta.Normalize(), i); 348 393 } … … 361 406 AddCollisionHandler(ammus, "tuhottava", AmmusOsui); 362 407 AddCollisionHandler(ammus, ammusosui); 408 363 409 Add(ammus); 364 410 ammus.Tag = "ammus"; … … 367 413 double vahinko = 0; 368 414 369 if (pallo.Ase == "Heavy") 415 if (pallo.HasFlag == true) 416 { 417 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 700); 418 vahinko = 150; 419 pallo.Recoil = true; 420 Timer.SingleShot(0.5, delegate 421 { 422 pallo.Recoil = false; 423 }); 424 } 425 else if (pallo.Ase == "Heavy") 370 426 { 371 427 … … 373 429 vahinko = 9; 374 430 } 375 if (pallo.Ase == "Famas")431 else if (pallo.Ase == "Famas") 376 432 { 377 433 … … 386 442 387 443 } 388 if (pallo.Ase == "LMG Type")444 else if (pallo.Ase == "LMG Type") 389 445 { 390 446 … … 399 455 400 456 } 401 if (pallo.Ase == "Dragunov")457 else if (pallo.Ase == "Dragunov") 402 458 { 403 459 pallo.Recoil = true; … … 409 465 410 466 } 411 if (pallo.Ase == "Barret")467 else if (pallo.Ase == "Barret") 412 468 { 413 469 vahinko = 298; 414 470 } 415 471 416 if (pallo.Ase == "Ak")472 else if (pallo.Ase == "Ak") 417 473 { 418 474 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 600); … … 424 480 }); 425 481 } 426 if (pallo.Ase == "Cal89")482 else if (pallo.Ase == "Cal89") 427 483 { 428 484 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 500); … … 434 490 }); 435 491 } 436 if (pallo.Ase == "Spas")492 else if (pallo.Ase == "Spas") 437 493 { 438 494 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 100); … … 446 502 447 503 448 if (pallo.Ase == "Shotgun")504 else if (pallo.Ase == "Shotgun") 449 505 { 450 506 ammus.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 100); … … 500 556 kohdepelaaja.elamaMittari.Value -= vahinko; 501 557 }); 558 559 AddCollisionHandler(ammus, "Hautausmaa", delegate(PhysicsObject tormaaja, PhysicsObject kohde) 560 { 561 Hautausmaa hautausmaa = (Hautausmaa)kohde; 562 if (!hautausmaa.OnKunnossa) return; 563 hautausmaa.Elpit.Value -= vahinko; 564 pallo.Pistemittari.Value += vahinko; 565 }); 566 567 568 AddCollisionHandler(ammus, "Zombi", delegate(PhysicsObject tormaaja, PhysicsObject zombi) 569 { 570 Zombi zombi1 = (Zombi)zombi; 571 zombi1.elamaMittari.Value -= vahinko; 572 pallo.Pistemittari.Value += vahinko; 573 574 }); 502 575 } 503 576 void ammusosui(PhysicsObject tormaaja, PhysicsObject kohde) 504 577 { 505 578 if (kohde.Tag == "Vaara!") return; 579 if (kohde.Tag == "Flag") return; 506 580 else tormaaja.Destroy(); 507 581 } … … 663 737 Spawnkulta(paikka); 664 738 } 739 void Syntyykozombi() 740 { 741 int paikka = RandomGen.NextInt(Hautausmaalista.Count); 742 SpawnZombie(paikka); 743 } 665 744 666 745 void Syntyykoelppibonus() … … 802 881 803 882 } 883 void Luopelikentta6() 884 { 885 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("Zsurvival Arena"); 886 887 ruudut.SetTileMethod(Color.White, Luomaa); 888 ruudut.SetTileMethod(Color.Black, Luoseina); 889 ruudut.SetTileMethod(Color.FromHexCode("#0026FF"), setspawn2); 890 ruudut.SetTileMethod(Color.FromHexCode("#FF0000"), setspawn1); 891 ruudut.SetTileMethod(Color.FromHexCode("#C0C0C0"), LuoHautausmaa); 892 ruudut.SetTileMethod(Color.FromHexCode("#FF6A00"), Luovaara); 893 ruudut.SetTileMethod(Color.FromHexCode("#B6FF00"), Luoelppibonuspaikka); 894 895 Timer elppiajastin = new Timer(); 896 elppiajastin.Interval = 30.0; 897 elppiajastin.Timeout += Syntyykoelppibonus; 898 elppiajastin.Start(); 899 ruudut.Execute(35, 35); 900 901 ruudut.Execute(35, 35); 902 int spawninumero = RandomGen.NextInt(spawnilista1.Count); 903 pallo.X = spawnilista1[spawninumero].X; 904 pallo.Y = spawnilista1[spawninumero].Y; 905 pallo.apupallo.Position = pallo.Position; 906 907 int spawninumero2 = RandomGen.NextInt(spawnilista2.Count); 908 pallo2.X = spawnilista2[spawninumero2].X; 909 pallo2.Y = spawnilista2[spawninumero2].Y; 910 pallo2.apupallo.Position = pallo2.Position; 911 912 } 804 913 805 914 //Valikot!!!! 806 915 void Alkuvalikko() 807 916 { 808 MultiSelectWindow alkuv = new MultiSelectWindow("Welcome", "Start game/Continue", "Game settings", "Player 1 weapon", "Player 2 weapon", " Under work", "Quit");917 MultiSelectWindow alkuv = new MultiSelectWindow("Welcome", "Start game/Continue", "Game settings", "Player 1 weapon", "Player 2 weapon", "Restart", "Quit"); 809 918 alkuv.ItemSelected += PainettiinValikonNappia; 810 919 alkuv.Color = Color.MediumBlue; 811 Add(alkuv); 920 Add(alkuv); 812 921 } 813 922 void PainettiinValikonNappia(int valinta) … … 817 926 case 0: 818 927 //Sulje ikkuna,Pelaa norm.asetuksilla 928 if (IsPaused) Pause(); 929 if (Zsurvival) 930 { 931 Timer ajastin = new Timer(); 932 ajastin.Interval = 3.0; 933 ajastin.Timeout += Syntyykozombi; 934 ajastin.Start(); 935 } 819 936 break; 820 937 case 1: … … 831 948 break; 832 949 case 4: 833 if (m != null) 834 m.Destroy(); 835 if (n != null) 836 n.Destroy(); 837 Alkuvalikko(); 950 //if (m != null) 951 // m.Destroy(); 952 //if (n != null) 953 // n.Destroy(); 954 //Alkuvalikko(); 955 kultaLista.Clear(); 956 elppibonusLista.Clear(); 957 spawnilista1.Clear(); 958 spawnilista2.Clear(); 959 Hautausmaalista.Clear(); 960 961 ClearAll(); 962 AloitaAlusta(); 838 963 break; 839 964 case 5: … … 877 1002 pallo.Latausnopeus = 6.0; 878 1003 pallo.Latapati = 400; 879 pallo.Asekuva = "HMG";1004 pallo.Asekuva = HMG; 880 1005 Sinikuva.Image = HMG; 881 1006 Alkuvalikko(); … … 910 1035 pallo2.Latausnopeus = 6.0; 911 1036 pallo2.Latapati = 400; 912 pallo2.Asekuva = "HMG2";1037 pallo2.Asekuva = HMG; 913 1038 Punakuva.Image = HMG; 914 1039 Alkuvalikko(); … … 929 1054 { 930 1055 MultiSelectWindow a1 = new MultiSelectWindow("Maps:", 931 "Caves DM", "Yin DM", "Caves Gold rush", "Yin Gold rush", "CTF Middle", "Back");1056 "Caves DM", "Yin DM", "Caves Gold rush", "Yin Gold rush", "CTF Middle","Zsurvival Arena", "Back"); 932 1057 a1.Color = Color.Azure; 933 1058 a1.ItemSelected += PVN3; … … 936 1061 void PVN3(int Valinta) 937 1062 { 938 if (Kenttalad == true) return; 939 //Estaa Kenttien synnyn paallekkain 1063 if (Kenttalad == true) 1064 { 1065 Alkuvalikko(); 1066 return; 1067 }//Estaa Kenttien synnyn paallekkain 940 1068 941 1069 switch (Valinta) … … 973 1101 break; 974 1102 case 5: 1103 //Zsurvival Arena 1104 Luopelikentta6(); 1105 Kenttalad = true; 1106 Zsurvival = true; 1107 pallo.Pistemittari.MaxValue = 3000000; 1108 pallo2.Pistemittari.MaxValue = 3000000; 1109 pisteLukub.BindTo(pallo.Pistemittari); 1110 Alkuvalikko(); 1111 break; 1112 case 6: 975 1113 Alkuvalikko(); 976 1114 break; … … 982 1120 void Gasetukset3() 983 1121 { 984 MultiSelectWindow a1 = new MultiSelectWindow("Points limit", "1000", "3000", "5000", "10000", "15000" , "Back");1122 MultiSelectWindow a1 = new MultiSelectWindow("Points limit", "1000", "3000", "5000", "10000", "15000"); 985 1123 a1.Color = Color.Azure; 986 1124 a1.ItemSelected += PVN33; … … 1014 1152 pallo.Pistemittari.MaxValue = 15000; 1015 1153 pallo2.Pistemittari.MaxValue = 15000; 1016 Alkuvalikko();1017 break;1018 case 5:1019 1154 Alkuvalikko(); 1020 1155 break; … … 1050 1185 pallo.Latausnopeus = 1.9; 1051 1186 pallo.Latapati = 100; 1052 pallo.Asekuva = "Famas2";1187 pallo.Asekuva = Famas; 1053 1188 Sinikuva.Image = Famas; 1054 1189 Alkuvalikko(); … … 1061 1196 pallo.Latausnopeus = 5.0; 1062 1197 pallo.Latapati = 400; 1063 pallo.Asekuva = "Light2";1198 pallo.Asekuva = Light; 1064 1199 Sinikuva.Image = Light; 1065 1200 Alkuvalikko(); … … 1082 1217 pallo2.Latausnopeus = 1.9; 1083 1218 pallo2.Latapati = 100; 1084 pallo2.Asekuva = "Famas2";1219 pallo2.Asekuva = Famas; 1085 1220 Punakuva.Image = Famas; 1086 1221 Alkuvalikko(); … … 1093 1228 pallo2.Latausnopeus = 5.0; 1094 1229 pallo2.Latapati = 400; 1095 pallo2.Asekuva = "Light2";1230 pallo2.Asekuva = Light; 1096 1231 Punakuva.Image = Light; 1097 1232 Alkuvalikko(); … … 1122 1257 pallo.Latausnopeus = 0.8; 1123 1258 pallo.Latapati = 64; 1124 pallo.Asekuva = "Ak47u2";1259 pallo.Asekuva = Ak47u; 1125 1260 Sinikuva.Image = Ak47u; 1126 1261 Alkuvalikko(); … … 1133 1268 pallo.Latausnopeus = 2.1; 1134 1269 pallo.Latapati = 25; 1135 pallo.Asekuva = "Caliber2";1270 pallo.Asekuva = Caliber; 1136 1271 Sinikuva.Image = Caliber; 1137 1272 Alkuvalikko(); … … 1161 1296 pallo2.Latausnopeus = 0.8; 1162 1297 pallo2.Latapati = 64; 1163 pallo2.Asekuva = "Ak47u2";1298 pallo2.Asekuva = Ak47u; 1164 1299 Punakuva.Image = Ak47u; 1165 1300 Alkuvalikko(); … … 1172 1307 pallo2.Latausnopeus = 2.1; 1173 1308 pallo2.Latapati = 25; 1174 pallo2.Asekuva = "Caliber2";1309 pallo2.Asekuva = Caliber; 1175 1310 Punakuva.Image = Caliber; 1176 1311 Alkuvalikko(); … … 1333 1468 { 1334 1469 Remove(p); 1335 Remove(p.apupallo);1336 1470 p.HasFlag = false; 1471 kuolemat += 1; 1472 if (Zsurvival) { 1473 String jaljella = (6 - kuolemat).ToString(); 1474 Label elamia = new Label(150, 20, "Lifes left: " + jaljella); 1475 elamia.Y = Screen.Top - 20; 1476 elamia.TextColor = Color.Red; 1477 Add(elamia); 1478 elamia.LifetimeLeft = TimeSpan.FromSeconds(4); 1479 if (kuolemat == 7) 1480 { 1481 Pause(); 1482 toplista(); 1483 } 1484 1485 else if (kuolemat > 5) 1486 return; 1487 } 1337 1488 1338 1489 if (p == pallo) 1339 { 1340 pallo2.Pistemittari.Value += 1000; 1490 { 1341 1491 pallo.kuollut = true; 1342 1492 pallo.Stop(); 1493 if (!Zsurvival) { pallo2.Pistemittari.Value += 1000; } 1343 1494 if (CTF) 1344 1495 { 1345 1496 punalippu.OnLippu = true; 1346 1497 punalippu.Image = Punalippu; 1498 Sinikuva.Image = p.Asekuva; 1347 1499 } 1348 1500 … … 1364 1516 if (p == pallo2) 1365 1517 { 1366 pallo.Pistemittari.Value += 1000;1367 1518 pallo2.kuollut = true; 1368 1519 pallo2.Stop(); 1520 if (!Zsurvival) { pallo.Pistemittari.Value += 1000; } 1369 1521 if (CTF) 1370 1522 { 1371 1523 sinilippu.OnLippu = true; 1372 1524 sinilippu.Image = Sinilippu; 1525 Punakuva.Image = p.Asekuva; 1373 1526 } 1374 1527 Timer.SingleShot(3.1, delegate … … 1392 1545 void HKranaatti(Pelaaja Pallo) 1393 1546 { 1547 HKranaatti(Pallo, null); 1548 } 1549 1550 void HKranaatti(Pelaaja Pallo, GamePad padi) 1551 { 1394 1552 if (Pallo.turbomittari < Pallo.turbomittari.MaxValue) return; 1395 1553 if (Pallo.kuollut == true) return; … … 1401 1559 Kransu.Position = Pallo.Position; 1402 1560 Kransu.IgnoresCollisionResponse = true; 1403 Kransu.Hit(Pallo.viimeisinSuunta * 1.6); 1561 1562 if (padi != null) 1563 { 1564 Pallo.viimeisinSuunta = Vector.ComponentProduct(padi.RightThumbDirection.Normalize(), new Vector(pallo.liikkumisnopeus, pallo.liikkumisnopeus)); 1565 if (Double.IsNaN(Pallo.viimeisinSuunta.X)) 1566 Pallo.viimeisinSuunta.X = 0; 1567 if (Double.IsNaN(Pallo.viimeisinSuunta.Y)) 1568 Pallo.viimeisinSuunta.Y = 0; 1569 } 1570 Kransu.Hit(Pallo.viimeisinSuunta * 1.2); 1404 1571 Kransu.IgnoresExplosions = true; 1405 Timer.SingleShot(1. 2, delegate1572 Timer.SingleShot(1.0, delegate 1406 1573 { 1407 1574 ExplosionSystem es = new ExplosionSystem(Boom, 80); … … 1422 1589 void Rajahdusosui(Pelaaja ampuja, IPhysicsObject kohde, Vector v, Explosion es) 1423 1590 { 1424 if (!(kohde is Pelaaja)) return; 1425 Pelaaja kohdePelaaja = kohde as Pelaaja; 1426 if (kohdePelaaja == null) return; 1427 if (kohdePelaaja.Viimeisinrajahdus == es) return; 1428 double etaisyys = Vector.Distance(kohdePelaaja.Position, es.Position); 1429 int damage = (int)Math.Floor(15000 / etaisyys); 1430 kohdePelaaja.elamaMittari.Value -= damage; 1591 if (kohde is Pelaaja) 1592 { 1593 Pelaaja kohdePelaaja = kohde as Pelaaja; 1594 if (kohdePelaaja == null) return; 1595 if (kohdePelaaja.Viimeisinrajahdus == es) return; 1596 double etaisyys = Vector.Distance(kohdePelaaja.Position, es.Position); 1597 int damage = (int)Math.Floor(15000 / etaisyys); 1598 kohdePelaaja.elamaMittari.Value -= damage; 1599 } 1600 else if (kohde is Zombi) 1601 { 1602 Zombi kohdezombi = kohde as Zombi; 1603 if (kohdezombi == null) return; 1604 if (kohdezombi.Viimeisinrajahdus == es) return; 1605 double etaisyys = Vector.Distance(kohdezombi.Position, es.Position); 1606 int damage = (int)Math.Floor(15000 / etaisyys); 1607 pallo.Pistemittari.Value += damage; 1608 kohdezombi.elamaMittari.Value -= damage; 1609 1610 } 1611 1431 1612 } 1432 1613 void Tayta(Pelaaja p) … … 1475 1656 elppibonusLista.Add(paikka + siirtyma); 1476 1657 } 1658 void LuoHautausmaa(Vector paikka, double leveys, double korkeus) 1659 { 1660 Luomaa(paikka, leveys, korkeus); 1661 Hautausmaalista.Add(paikka + siirtyma); 1662 1663 Hautausmaa hautausmaa = new Hautausmaa(35, 35); 1664 hautausmaa.Image = Hauta; 1665 hautausmaa.Tag = "Hautausmaa"; 1666 hautausmaa.Elpit.LowerLimit += delegate { 1667 hautausmaa.OnKunnossa = false; 1668 Hautausmaalista.Remove(hautausmaa.Position); 1669 hautausmaa.Image = HautaRikki; 1670 Timer.SingleShot(10, delegate { 1671 hautausmaa.OnKunnossa = true; 1672 hautausmaa.Image = Hauta; 1673 Hautausmaalista.Add(paikka + siirtyma); 1674 hautausmaa.Elpit.Value = hautausmaa.Elpit.MaxValue; 1675 }); 1676 1677 }; 1678 hautausmaa.CollisionIgnoreGroup = 2; 1679 hautausmaa.Position = paikka + siirtyma; 1680 hautausmaa.MakeStatic(); 1681 Add(hautausmaa, -2); 1682 1683 } 1477 1684 void Spawnkulta(int numero) 1478 1685 { … … 1483 1690 Kultapala.MaximumLifetime = TimeSpan.FromSeconds(15); 1484 1691 Kultapala.Image = kulta; 1692 Kultapala.MakeStatic(); 1485 1693 Kultapala.Tag = "Kulta"; 1486 1694 … … 1495 1703 Elppilaatikko.MaximumLifetime = TimeSpan.FromSeconds(20); 1496 1704 Elppilaatikko.Image = elppibonus; 1705 Elppilaatikko.MakeStatic(); 1497 1706 Elppilaatikko.Tag = "Elppibonus"; 1498 1707 1499 1708 Add(Elppilaatikko); 1709 } 1710 void SpawnZombie(int numero) 1711 { 1712 if(Hautausmaalista.Count == 0)return; 1713 Zombi Zombie = new Zombi(20, 20); 1714 1715 Zombie.X = Hautausmaalista[numero].X; 1716 Zombie.Y = Hautausmaalista[numero].Y; 1717 Zombie.Image = ZOMBI; 1718 Zombie.Tag = "Zombi"; 1719 Zombie.CollisionIgnoreGroup = 2; 1720 Zombie.Shape = Shape.Circle; 1721 1722 FollowerBrain zombinAivot = new FollowerBrain("pallo"); 1723 zombinAivot.Speed = Zombi.Zombinvauhti; 1724 zombinAivot.TurnWhileMoving = true; 1725 Zombie.Brain = zombinAivot; 1726 1727 Add(Zombie, 3); 1728 Zombie.elamaMittari.LowerLimit += delegate { Zombie.Destroy(); }; 1729 1730 Zombi.Zombinvauhti += 1; 1731 Zombi.Zombinelpit += 1; 1732 Zombi.Zombinvahinko += 1; 1500 1733 } 1501 1734 void Spawnvauhtibonus(int numero) … … 1507 1740 turbolaatikko.MaximumLifetime = TimeSpan.FromSeconds(20); 1508 1741 turbolaatikko.Image = energiabonus; 1742 turbolaatikko.MakeStatic(); 1509 1743 turbolaatikko.Tag = "Turbobonus"; 1510 1744 Add(turbolaatikko); … … 1559 1793 } 1560 1794 } 1795 void ZombiHyokkaa (Pelaaja olio, PhysicsObject zombi) 1796 { 1797 if (olio is Pelaaja) 1798 { 1799 olio.elamaMittari.Value -= Zombi.Zombinvahinko; 1800 } 1801 } 1802 1561 1803 1562 1804 void LippuTankoKosketus(Pelaaja p, Flag f) … … 1567 1809 { 1568 1810 p.HasFlag = true; 1811 Sinikuva.Image = Flag; 1569 1812 f.OnLippu = false; 1570 1813 punalippu.Image = Punatanko; … … 1573 1816 { 1574 1817 p.HasFlag = true; 1818 Punakuva.Image = Flag; 1575 1819 f.OnLippu = false; 1576 1820 sinilippu.Image = Sinitanko; 1577 1821 } 1578 if (p == pallo && !f.OnPunainen )1822 if (p == pallo && !f.OnPunainen && p.HasFlag) 1579 1823 { 1580 1824 p.HasFlag = false; … … 1584 1828 punalippu.OnLippu = true; 1585 1829 sinilippu.OnLippu = true; 1830 Sinikuva.Image = p.Asekuva; 1586 1831 ExplosionSystem es = new ExplosionSystem(Redlippu, 5); 1587 1832 es.Position = f.Position; … … 1592 1837 es.AddEffect(f.Position, 5); 1593 1838 } 1594 if (p == pallo2 && f.OnPunainen )1839 if (p == pallo2 && f.OnPunainen && p.HasFlag) 1595 1840 { 1596 1841 p.HasFlag = false; … … 1598 1843 punalippu.Image = Punalippu; 1599 1844 sinilippu.Image = Sinilippu; 1845 Punakuva.Image = p.Asekuva; 1600 1846 punalippu.OnLippu = true; 1601 1847 sinilippu.OnLippu = true; … … 1631 1877 } 1632 1878 } 1879 void toplista() 1880 { 1881 HighScoreWindow topIkkuna = new HighScoreWindow( 1882 "The best survivors", 1883 "Congrats, you made it to the top list with points %p, please enter your nic.", 1884 topZombeissa, pallo.Pistemittari.Value); 1885 topIkkuna.Closed += TallennaPisteet; 1886 Add( topIkkuna ); 1887 } 1888 void TallennaPisteet(Window sender) 1889 { 1890 DataStorage.Save<ScoreList>(topZombeissa, "pisteet.xml"); 1891 } 1633 1892 } -
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/FromAbove.csproj.Debug.cachefile
r3982 r3994 32 32 Content\SinilipputankoLippu.xnb 33 33 Content\PunalipputankoLippu.xnb 34 Content\CTF Middle.xnb 35 Content\BluFlag.xnb 36 Content\RedFlag.xnb 37 Content\Flag.xnb 34 38 Content\coin-drop-5.xnb 35 39 Content\tablet-bottle-1.xnb 36 40 Content\gun-cocking-01.xnb 37 Content\CTF Middle.xnb 38 Content\BluFlag.xnb 39 Content\RedFlag.xnb 41 Content\Zsurvival Arena.xnb 42 Content\Zombi.xnb 43 Content\Hautakivikakkaperkele.xnb 44 Content\Hautakivikakkaperkelehakattupaska.xnb -
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/FromAbove.sln
r3982 r3994 3 3 # Visual Studio 2010 Express for Windows Phone 4 4 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FromAbove", "FromAbove.csproj", "{274A0281-C7C6-4426-8789-FCC0D28A873C}" 5 EndProject 6 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FromAboveContent", "..\FysiikkaPeli2Content\FromAboveContent.contentproj", "{6DE8AD16-4506-434B-9096-A0F37ECAA229}" 5 7 EndProject 6 8 Global … … 14 16 {274A0281-C7C6-4426-8789-FCC0D28A873C}.Release|x86.ActiveCfg = Release|x86 15 17 {274A0281-C7C6-4426-8789-FCC0D28A873C}.Release|x86.Build.0 = Release|x86 18 {6DE8AD16-4506-434B-9096-A0F37ECAA229}.Debug|x86.ActiveCfg = Debug|x86 19 {6DE8AD16-4506-434B-9096-A0F37ECAA229}.Release|x86.ActiveCfg = Release|x86 16 20 EndGlobalSection 17 21 GlobalSection(SolutionProperties) = preSolution -
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/obj/x86/Debug/FromAbove.csproj.FileListAbsolute.txt
r3982 r3994 79 79 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\BluFlag.xnb 80 80 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\RedFlag.xnb 81 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Flag.xnb 82 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Zsurvival Arena.xnb 83 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Zombi.xnb 84 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Hautakivikakkaperkele.xnb 85 C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Hautakivikakkaperkelehakattupaska.xnb -
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/obj/x86/Debug/cachefile-{6DE8AD16-4506-434B-9096-A0F37ECAA229}-targetpath.txt
r3982 r3994 32 32 Content\SinilipputankoLippu.xnb 33 33 Content\PunalipputankoLippu.xnb 34 Content\CTF Middle.xnb 35 Content\BluFlag.xnb 36 Content\RedFlag.xnb 37 Content\Flag.xnb 34 38 Content\coin-drop-5.xnb 35 39 Content\tablet-bottle-1.xnb 36 40 Content\gun-cocking-01.xnb 37 Content\CTF Middle.xnb 38 Content\BluFlag.xnb 39 Content\RedFlag.xnb 41 Content\Zsurvival Arena.xnb 42 Content\Zombi.xnb 43 Content\Hautakivikakkaperkele.xnb 44 Content\Hautakivikakkaperkelehakattupaska.xnb -
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2Content/FromAboveContent.contentproj
r3982 r3994 285 285 </Compile> 286 286 </ItemGroup> 287 <ItemGroup> 288 <Compile Include="Flag.png"> 289 <Name>Flag</Name> 290 <Importer>TextureImporter</Importer> 291 <Processor>TextureProcessor</Processor> 292 </Compile> 293 </ItemGroup> 294 <ItemGroup> 295 <Compile Include="Zsurvival Arena.png"> 296 <Name>Zsurvival Arena</Name> 297 <Importer>TextureImporter</Importer> 298 <Processor>TextureProcessor</Processor> 299 </Compile> 300 </ItemGroup> 301 <ItemGroup> 302 <Compile Include="Zombi.png"> 303 <Name>Zombi</Name> 304 <Importer>TextureImporter</Importer> 305 <Processor>TextureProcessor</Processor> 306 </Compile> 307 </ItemGroup> 308 <ItemGroup> 309 <Compile Include="Hautakivikakkaperkele.png"> 310 <Name>Hautakivikakkaperkele</Name> 311 <Importer>TextureImporter</Importer> 312 <Processor>TextureProcessor</Processor> 313 </Compile> 314 </ItemGroup> 315 <ItemGroup> 316 <Compile Include="Hautakivikakkaperkelehakattupaska.png"> 317 <Name>Hautakivikakkaperkelehakattupaska</Name> 318 <Importer>TextureImporter</Importer> 319 <Processor>TextureProcessor</Processor> 320 </Compile> 321 </ItemGroup> 287 322 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 288 323 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2Content/obj/x86/Debug/ContentPipeline.xml
r3982 r3994 9 9 <Options>None</Options> 10 10 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Punapallo.xnb</Output> 11 <Time>2013-06-0 3T12:09:52.3808364+03:00</Time>11 <Time>2013-06-05T20:29:20.5547406+03:00</Time> 12 12 </Item> 13 13 <Item> … … 36 36 <Options>None</Options> 37 37 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Sinipallo.xnb</Output> 38 <Time>2013-06-0 3T12:11:49.0690413+03:00</Time>38 <Time>2013-06-05T18:43:03.4279898+03:00</Time> 39 39 </Item> 40 40 <Item> … … 117 117 <Options>None</Options> 118 118 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Striker.xnb</Output> 119 <Time>2013-06-0 4T16:02:57.4370873+03:00</Time>119 <Time>2013-06-05T19:05:29.8249993+03:00</Time> 120 120 </Item> 121 121 <Item> … … 144 144 <Options>None</Options> 145 145 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\HMG.xnb</Output> 146 <Time>2013-06-0 4T16:01:57.3076481+03:00</Time>146 <Time>2013-06-05T19:04:49.3096819+03:00</Time> 147 147 </Item> 148 148 <Item> … … 153 153 <Options>None</Options> 154 154 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Light.xnb</Output> 155 <Time>2013-06-0 4T16:02:19.5419198+03:00</Time>155 <Time>2013-06-05T19:05:47.0819863+03:00</Time> 156 156 </Item> 157 157 <Item> … … 189 189 <Options>None</Options> 190 190 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Spas12.xnb</Output> 191 <Time>2013-06-0 4T16:02:39.1490413+03:00</Time>191 <Time>2013-06-05T19:05:13.1260442+03:00</Time> 192 192 </Item> 193 193 <Item> … … 298 298 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\PunalipputankoLippu.xnb</Output> 299 299 <Time>2013-06-05T10:43:31.1991414+03:00</Time> 300 </Item> 301 <Item> 302 <Source>CTF Middle.png</Source> 303 <Name>CTF Middle</Name> 304 <Importer>TextureImporter</Importer> 305 <Processor>TextureProcessor</Processor> 306 <Options>None</Options> 307 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\CTF Middle.xnb</Output> 308 <Time>2013-06-05T11:01:46.1681865+03:00</Time> 309 </Item> 310 <Item> 311 <Source>BluFlag.png</Source> 312 <Name>BluFlag</Name> 313 <Importer>TextureImporter</Importer> 314 <Processor>TextureProcessor</Processor> 315 <Options>None</Options> 316 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\BluFlag.xnb</Output> 317 <Time>2013-06-05T10:40:00.0059704+03:00</Time> 318 </Item> 319 <Item> 320 <Source>RedFlag.png</Source> 321 <Name>RedFlag</Name> 322 <Importer>TextureImporter</Importer> 323 <Processor>TextureProcessor</Processor> 324 <Options>None</Options> 325 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\RedFlag.xnb</Output> 326 <Time>2013-06-05T10:40:23.5776119+03:00</Time> 327 </Item> 328 <Item> 329 <Source>Flag.png</Source> 330 <Name>Flag</Name> 331 <Importer>TextureImporter</Importer> 332 <Processor>TextureProcessor</Processor> 333 <Options>None</Options> 334 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Flag.xnb</Output> 335 <Time>2013-06-05T15:06:17.8751147+03:00</Time> 300 336 </Item> 301 337 <Item> … … 327 363 </Item> 328 364 <Item> 329 <Source>CTF Middle.png</Source> 330 <Name>CTF Middle</Name> 331 <Importer>TextureImporter</Importer> 332 <Processor>TextureProcessor</Processor> 333 <Options>None</Options> 334 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\CTF Middle.xnb</Output> 335 <Time>2013-06-05T11:01:46.1681865+03:00</Time> 336 </Item> 337 <Item> 338 <Source>BluFlag.png</Source> 339 <Name>BluFlag</Name> 340 <Importer>TextureImporter</Importer> 341 <Processor>TextureProcessor</Processor> 342 <Options>None</Options> 343 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\BluFlag.xnb</Output> 344 <Time>2013-06-05T10:40:00.0059704+03:00</Time> 345 </Item> 346 <Item> 347 <Source>RedFlag.png</Source> 348 <Name>RedFlag</Name> 349 <Importer>TextureImporter</Importer> 350 <Processor>TextureProcessor</Processor> 351 <Options>None</Options> 352 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\RedFlag.xnb</Output> 353 <Time>2013-06-05T10:40:23.5776119+03:00</Time> 365 <Source>Zsurvival Arena.png</Source> 366 <Name>Zsurvival Arena</Name> 367 <Importer>TextureImporter</Importer> 368 <Processor>TextureProcessor</Processor> 369 <Options>None</Options> 370 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Zsurvival Arena.xnb</Output> 371 <Time>2013-06-06T09:48:35.7163468+03:00</Time> 372 </Item> 373 <Item> 374 <Source>Zombi.png</Source> 375 <Name>Zombi</Name> 376 <Importer>TextureImporter</Importer> 377 <Processor>TextureProcessor</Processor> 378 <Options>None</Options> 379 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Zombi.xnb</Output> 380 <Time>2013-06-06T10:38:04.4296587+03:00</Time> 381 </Item> 382 <Item> 383 <Source>Hautakivikakkaperkele.png</Source> 384 <Name>Hautakivikakkaperkele</Name> 385 <Importer>TextureImporter</Importer> 386 <Processor>TextureProcessor</Processor> 387 <Options>None</Options> 388 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Hautakivikakkaperkele.xnb</Output> 389 <Time>2013-06-06T12:35:50.5432587+03:00</Time> 390 </Item> 391 <Item> 392 <Source>Hautakivikakkaperkelehakattupaska.png</Source> 393 <Name>Hautakivikakkaperkelehakattupaska</Name> 394 <Importer>TextureImporter</Importer> 395 <Processor>TextureProcessor</Processor> 396 <Options>None</Options> 397 <Output>C:\Users\Pelikurssi\Desktop\From above\FysiikkaPeli2\FysiikkaPeli2\bin\x86\Debug\Content\Hautakivikakkaperkelehakattupaska.xnb</Output> 398 <Time>2013-06-06T12:37:43.3470568+03:00</Time> 354 399 </Item> 355 400 <BuildSuccessful>true</BuildSuccessful>
Note: See TracChangeset
for help on using the changeset viewer.