Changeset 2900
- Timestamp:
- 2012-06-10 19:49:33 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/23/AnttiR/From above/FysiikkaPeli2/FysiikkaPeli2/FromAbove.cs
r2885 r2900 18 18 public bool Recoil = false; 19 19 public double liikkumisnopeus; 20 public DoubleMeter Pisteputki; 20 21 public Explosion Viimeisinrajahdus = null; 21 22 public double Ampumisnopeus; 23 public double Combo = 1; 22 24 public String Asekuva; 23 25 public string Ase; … … 33 35 Ammusmittari = new DoubleMeter(250, 0, 250); 34 36 Pistemittari = new DoubleMeter(0, 0, 3000); 37 Pisteputki = new DoubleMeter(0, 0, 10); 35 38 Ampumisnopeus = 512; 36 39 Ase = "Heavy"; … … 44 47 public class FromAbove : PhysicsGame 45 48 { 49 //Mitä pitää vielä tehdä:(Muistutus itselleni!: 50 //Aseet:M16,Hammer Kranaattikonekivaari 51 //Pelimuodot:Hold the territory 52 //Pelimuodot:Wheel of fortune(Saa tappo 5 satunnaisgeneroidulla aseella) 53 //Kartan vaihtaminen (Ei onnistunut) 54 //Muut:Pistemaksimista pitäisi tulla viesti 55 //Paremmat grafiikat 56 //Aseiden tasapainotusta 57 //Maksimipanokset (Palaavat joka 1min Maksimiksi) 58 //Pistecombo 3 tuhoamisesta tuhoutumatta 46 59 Pelaaja pallo; 47 60 Pelaaja pallo2; 61 48 62 PhysicsObject alareuna; 49 63 GameObject Sinikuva; … … 51 65 GameObject Text; 52 66 GameObject Text2; 53 67 PhysicsObject m; 68 PhysicsObject n; 69 PhysicsObject n2; 70 PhysicsObject m2; 54 71 BarGauge elppiPalkki = new BarGauge(50, 150); 55 72 BarGauge elppiPalkki2 = new BarGauge(50, 150); … … 79 96 Image MGH = LoadImage("Dragunov"); 80 97 Image Spas = LoadImage("Spas12"); 98 bool Kenttalad; 99 81 100 public override void Begin() 82 { 83 101 { 102 Kenttalad = false; 103 84 104 85 105 … … 87 107 //Kirjoita ohjelmakoodisi tähän 88 108 89 90 91 pallo = Luopallo(Color.Blue, Level.Left + 20, Level.Top - 20); 92 pallo2 = Luopallo(Color.Red, Level.Right - 20, Level.Top - 20); 109 110 pallo = Luopallo(Color.Blue, Level.Left + 20, Level.Top - 50); 111 pallo2 = Luopallo(Color.Red, Level.Right - 20, Level.Top - 50); 93 112 pallo.Image = sPallo; 94 113 pallo2.Image = pPallo; … … 98 117 99 118 100 Luokentta(); 101 Luopelikentta(); 119 Luokentta(); 102 120 Liikkeet(); 103 121 Luoajastin(); … … 105 123 106 124 } 125 107 126 Pelaaja Luopallo(Color vari, double x, double y) 108 127 { 109 128 Pelaaja pallo = new Pelaaja(25, 25); 110 129 pallo.elamaMittari.LowerLimit += delegate { Pelaajakuoli(pallo); }; 130 pallo.Pistemittari.UpperLimit += delegate { Maxpointsreached(pallo); }; 111 131 pallo.Shape = Shape.Circle; 112 132 pallo.Restitution = 0.0; … … 420 440 421 441 }); 422 423 //2 haulia lisää424 425 442 } 426 443 AddCollisionHandler(ammus, "pallo", delegate(PhysicsObject tormaaja, PhysicsObject kohde) … … 428 445 Pelaaja kohdepelaaja = (Pelaaja)kohde; 429 446 kohdepelaaja.elamaMittari.Value -= vahinko; 430 pallo.Pistemittari.Value += vahinko; 431 447 pallo.Pistemittari.Value += vahinko * pallo.Combo; 432 448 }); 433 449 } … … 545 561 LuoRseina(40, 50, 350, 205); 546 562 } 563 void Luopelikentta2() 564 { //Middle; Pelikartta esteet: 565 //Normaalit seinät 566 Luoseina(1000, 50, 0, 400); 567 Luoseina(50, 50, 475, 150); 568 Luoseina(70, 50, 380, 150); 569 Luoseina(40, 150, 365, 100); 570 Luoseina(300, 40, 195, 45); 571 Luoseina(40, 150, 135, 50); 572 Luoseina(40, 100, 135,215); 573 Luoseina(100, 40, 105, 245); 574 Luoseina(100, 40, -35, 245); 575 Luoseina(40, 100, -65, 215); 576 Luoseina(100, 40, -35, 45); 577 Luoseina(40, 100, -65, 75); 578 Luoseina(100, 40, -105, 105); 579 Luoseina(150, 40, -275, 105); 580 Luoseina(40, 140, -350, 155); 581 Luoseina(40, 140, -350, 345); 582 Luoseina(40, 130, -350, -10); 583 Luoseina(40, 30, -350, -130); 584 Luoseina(100, 100, -240, -30); 585 Luoseina(80, 80, -110, -90); 586 Luoseina(80, 80, 30, -60); 587 Luoseina(180, 90, 300, -75); 588 Luoseina(100, 110, 250, 160); 589 Luoseina(90, 80, -435, 160); 590 } 547 591 //Valikot!!!! 548 592 void Kutsuvalikko() 549 593 { 550 MultiSelectWindow alkuv = new MultiSelectWindow("Welcome", "Start game/Continue", " Set game", "Player 1 settings", "Player 2 settings", "Quit");594 MultiSelectWindow alkuv = new MultiSelectWindow("Welcome", "Start game/Continue", "Game settings", "Player 1 weapon", "Player 2 weapon","Under work", "Quit"); 551 595 alkuv.ItemSelected += PainettiinValikonNappia; 552 596 alkuv.Color = Color.MediumBlue; … … 562 606 case 1: 563 607 Gasetukset(); 564 // Erikoisasetukset,"Modit"608 //Kartta 565 609 break; 566 610 case 2: … … 573 617 break; 574 618 case 4: 619 if (m != null) 620 m.Destroy(); 621 if (n != null) 622 n.Destroy(); 623 Kutsuvalikko(); 624 break; 625 case 5: 575 626 Exit(); 576 627 break; … … 663 714 void Gasetukset() 664 715 { 665 MultiSelectWindow a1 = new MultiSelectWindow(" Special settings",666 " Double moving speed", "Slow shots", "Back");667 a1.Color = Color. Yellow;716 MultiSelectWindow a1 = new MultiSelectWindow("Maps (Doesnt reset)", 717 "Streets", "In the middle", "Back"); 718 a1.Color = Color.Azure; 668 719 a1.ItemSelected += PVN3; 669 720 Add(a1); … … 671 722 void PVN3(int Valinta) 672 723 { 724 if (Kenttalad == true) return; 725 //Estaa Kenttien synnyn paallekkain 726 673 727 switch (Valinta) 674 728 { 675 729 case 0: 676 // 2x vauhti677 pallo.liikkumisnopeus = pallo.liikkumisnopeus * 2;678 pallo2.liikkumisnopeus = pallo2.liikkumisnopeus * 2;679 Kutsuvalikko();680 break; 681 case 1: 682 // Hitaat panokset683 pallo.Ampumisnopeus = pallo.Ampumisnopeus / 2;684 pallo2.Ampumisnopeus = pallo2.Ampumisnopeus / 2;685 Kutsuvalikko();686 break;730 //Kentta1 731 Luopelikentta(); 732 Kenttalad = true; 733 Gasetukset2(); 734 break; 735 case 1: 736 //Kentta2 737 Luopelikentta2(); 738 Kenttalad = true; 739 Gasetukset2(); 740 break; 687 741 case 2: 688 742 Kutsuvalikko(); 689 743 //Palaa takaisin 744 break; 745 } 746 747 748 } 749 void Gasetukset2() 750 { 751 MultiSelectWindow a1 = new MultiSelectWindow("Gamemodes (Not out yet!)","Hold the territory", "DM", "Back"); 752 a1.Color = Color.Azure; 753 a1.ItemSelected += PVN32; 754 Add(a1); 755 } 756 void PVN32(int Valinta) 757 { 758 switch (Valinta) 759 { 760 case 0: 761 Gasetukset3(); 762 break; 763 case 1: 764 Gasetukset3(); 765 break; 766 case 2: 767 Kutsuvalikko(); 768 break; 769 } 770 771 772 } 773 void Gasetukset3() 774 { 775 MultiSelectWindow a1 = new MultiSelectWindow("Points limit","1000", "3000","5000","10000","15000", "Back"); 776 a1.Color = Color.Azure; 777 a1.ItemSelected += PVN33; 778 Add(a1); 779 } 780 void PVN33(int Valinta) 781 { 782 switch (Valinta) 783 { 784 case 0: 785 pallo.Pistemittari.MaxValue = 1000; 786 pallo2.Pistemittari.MaxValue = 1000; 787 Kutsuvalikko(); 788 break; 789 case 1: 790 pallo.Pistemittari.MaxValue = 3000; 791 pallo2.Pistemittari.MaxValue = 3000; 792 Kutsuvalikko(); 793 break; 794 case 2: 795 pallo.Pistemittari.MaxValue = 5000; 796 pallo2.Pistemittari.MaxValue = 5000; 797 Kutsuvalikko(); 798 break; 799 case 3: 800 pallo.Pistemittari.MaxValue = 10000; 801 pallo2.Pistemittari.MaxValue = 10000; 802 Kutsuvalikko(); 803 break; 804 case 4: 805 pallo.Pistemittari.MaxValue = 15000; 806 pallo2.Pistemittari.MaxValue = 15000; 807 Kutsuvalikko(); 808 break; 809 case 5: 810 Kutsuvalikko(); 690 811 break; 691 812 } … … 866 987 case 0: 867 988 pallo.Ase = "Dragunov"; 868 pallo.Ampumisnopeus = 1 224;989 pallo.Ampumisnopeus = 1024; 869 990 pallo.Ammusmittari.MaxValue = 11; 870 991 pallo.Ammusmittari.Value = 11; … … 876 997 case 1: 877 998 pallo.Ase = "Barret"; 878 pallo.Ampumisnopeus = 1 224;999 pallo.Ampumisnopeus = 1024; 879 1000 pallo.Ammusmittari.MaxValue =1; 880 1001 pallo.Ammusmittari.Value =1; … … 903 1024 case 0: 904 1025 pallo2.Ase = "Dragunov"; 905 pallo2.Ampumisnopeus = 1 224;1026 pallo2.Ampumisnopeus = 1024; 906 1027 pallo2.Ammusmittari.MaxValue = 11; 907 1028 pallo2.Ammusmittari.Value = 11; … … 913 1034 case 1: 914 1035 pallo2.Ase = "Barret"; 915 pallo2.Ampumisnopeus = 1 224;1036 pallo2.Ampumisnopeus = 1024; 916 1037 pallo2.Ammusmittari.MaxValue = 1; 917 1038 pallo2.Ammusmittari.Value = 1; … … 1000 1121 } 1001 1122 //Respaus 1002 void Pelaajakuoli(PhysicsObject p) 1003 { 1123 void Pelaajakuoli(Pelaaja p) 1124 { 1125 p.Pisteputki.Value = 0; 1126 p.Combo = 1; 1004 1127 if (p == pallo) 1005 1128 { 1129 pallo2.Combo = pallo2.Combo + 0.2; 1006 1130 Remove(pallo); 1007 1131 Timer.SingleShot(3.0, delegate 1008 1132 { 1009 1133 Add(pallo); 1010 pallo.Position = new Vector(Level.Left + 20, Level.Top - 20);1134 pallo.Position = new Vector(Level.Left + 20, Level.Top - 50); 1011 1135 pallo.turbomittari.Value = 100.0; 1012 1136 pallo.elamaMittari.Value = 1000.0; … … 1017 1141 if (p == pallo2) 1018 1142 { 1143 pallo.Combo = pallo2.Combo + 0.2; 1019 1144 Remove(pallo2); 1020 1145 Timer.SingleShot(3.0, delegate 1021 1146 { 1022 1147 Add(pallo2); 1023 pallo2.Position = new Vector(Level.Right - 20, Level.Top - 20);1148 pallo2.Position = new Vector(Level.Right - 20, Level.Top - 50); 1024 1149 pallo2.turbomittari.Value = 100.0; 1025 1150 pallo2.elamaMittari.Value = 1000.0; … … 1039 1164 Kransu.Position = Pallo.Position; 1040 1165 Kransu.IgnoresCollisionResponse = true; 1041 Kransu.Hit(Pallo.viimeisinSuunta*1.5); 1042 Timer.SingleShot(1.0, delegate 1166 Kransu.Hit(Pallo.viimeisinSuunta*1.4); 1167 Kransu.IgnoresExplosions = true; 1168 Timer.SingleShot(1.2, delegate 1043 1169 { 1044 1170 ExplosionSystem es = new ExplosionSystem(Boom, 80); … … 1057 1183 }); 1058 1184 } 1059 1060 1185 void Rajahdusosui(Pelaaja ampuja, IPhysicsObject kohde, Vector v, Explosion es) 1061 1186 { … … 1070 1195 ampuja.Pistemittari.Value += damage; 1071 1196 } 1072 1073 1197 void Tayta(Pelaaja p) 1074 1198 { … … 1093 1217 1094 1218 } 1095 void Kuvavaihtu() 1096 { 1219 void Maxpointsreached(Pelaaja pallow) 1220 { 1221 if (pallow == pallo2) 1222 { 1223 Label voitto = new Label("Punainen pallo voittaa pelin"); 1224 voitto.Color = Color.White; 1225 voitto.MaximumLifetime = new TimeSpan(0, 0, 0, 0, 5000); 1226 voitto.Position = new Vector(0,100); 1227 voitto.Size = new Vector(300, 50); 1228 Add(voitto); 1229 Timer.SingleShot(5.0, delegate 1230 { 1231 pallo.Pistemittari.Value = 0; 1232 pallo2.Pistemittari.Value = 0; 1233 pallo.Combo = 1; 1234 pallo2.Combo = 1; 1235 Kutsuvalikko(); 1236 }); 1237 } 1238 if (pallow == pallo) 1239 { 1240 Label voitto2 = new Label("Sininen pallo voitti pelin"); 1241 voitto2.Color = Color.White; 1242 voitto2.MaximumLifetime = new TimeSpan (0,0,0,0,5000); 1243 voitto2.Position = new Vector(0, 100); 1244 voitto2.Size = new Vector(300, 50); 1245 Add(voitto2); 1246 Timer.SingleShot(5.0, delegate 1247 { 1248 pallo.Pistemittari.Value = 0; 1249 pallo2.Pistemittari.Value = 0; 1250 pallo.Combo = 1; 1251 pallo2.Combo = 1; 1252 Kutsuvalikko(); 1253 }); 1254 1255 } 1097 1256 } 1098 1257 }
Note: See TracChangeset
for help on using the changeset viewer.