- Timestamp:
- 2015-06-24 12:02:28 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/SanteriP/gunmayhem/gunmayhem/gunmayhem/gunmayhem.cs
r6185 r6239 14 14 15 15 PlatformCharacter pelaaja1; 16 16 PlatformCharacter pelaaja2; 17 IntMeter pisteLaskuri1; 18 IntMeter pisteLaskuri2; 19 20 Vector alkupaikka1; 21 Vector alkupaikka2; 22 23 Image asekuva = LoadImage("ase"); 17 24 Image pelaajanKuva = LoadImage("pelaaja"); 25 Image pelaajanKuva2 = LoadImage("pelaaja2"); 18 26 Image tahtiKuva = LoadImage("tahti"); 19 27 Image ruohokuva = LoadImage("ruoho"); 20 28 Image pommikuva = LoadImage("pommi"); 21 29 SoundEffect maaliAani = LoadSoundEffect("maali"); 22 30 … … 28 36 LuoKentta(); 29 37 LisaaNappaimet(); 38 39 pisteLaskuri1 = LuoPistelaskuri(Screen.Right - 100); 40 pisteLaskuri2 = LuoPistelaskuri(Screen.Left + 100); 30 41 31 42 Camera.Follow(pelaaja1); … … 34 45 } 35 46 47 48 49 IntMeter LuoPistelaskuri(double x) 50 { 51 IntMeter pisteLaskuri = new IntMeter(0); 52 53 Label pisteNaytto = new Label(); 54 pisteNaytto.X = x; 55 pisteNaytto.Y = Screen.Top - 100; 56 pisteNaytto.TextColor = Color.Black; 57 pisteNaytto.Color = Color.White; 58 59 pisteNaytto.BindTo(pisteLaskuri); 60 Add(pisteNaytto); 61 return pisteLaskuri; 62 } 63 36 64 void LuoKentta() 37 65 { … … 39 67 kentta.SetTileMethod('#', LisaaTaso); 40 68 kentta.SetTileMethod('*', LisaaTahti); 41 kentta.SetTileMethod('N', LisaaPelaaja); 69 kentta.SetTileMethod('N', LisaaPelaaja1); 70 kentta.SetTileMethod('E', LisaaPelaaja2); 71 kentta.SetTileMethod('%', LisaaPommi); 72 kentta.SetTileMethod('"', Lisaapohja); 42 73 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 43 74 Level.CreateBorders(); … … 50 81 taso.Position = paikka; 51 82 taso.Image = ruohokuva; 52 //taso.MakeOneWay(new Vector(0, 1));53 83 Add(taso); 84 } 85 86 void Lisaapohja(Vector paikka, double leveys, double korkeus) 87 { 88 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 89 taso.Position = paikka; 90 taso.IsVisible=false; 91 taso.Tag = "pohja"; 92 Add(taso); 93 } 94 95 void LisaaPommi(Vector paikka, double leveys, double korkeus) 96 { 97 PhysicsObject pommi = PhysicsObject.CreateStaticObject(leveys, korkeus); 98 pommi.Position = paikka; 99 pommi.Image = pommikuva; 100 Add(pommi); 101 pommi.Tag = "pommi"; 54 102 } 55 103 … … 64 112 } 65 113 66 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 67 { 68 pelaaja1 = new PlatformCharacter(pelaajanKuva.Width * 1.4, pelaajanKuva.Height * 1.4); 69 pelaaja1.Position = paikka; 70 pelaaja1.Mass = 4.0; 71 pelaaja1.Image = pelaajanKuva; 72 pelaaja1.Shape = Shape.FromImage(pelaajanKuva); 73 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 74 Add(pelaaja1); 114 PlatformCharacter LisaaPelaaja(Vector paikka, double leveys, double korkeus,Image kuva) 115 { 116 PlatformCharacter pelaaja = new PlatformCharacter(pelaajanKuva.Width * 1.4, pelaajanKuva.Height * 1.4); 117 pelaaja.Position = paikka; 118 pelaaja.Mass = 4.0; 119 pelaaja.Image = kuva; 120 pelaaja.Tag = "pelaaja"; 121 pelaaja.Shape = Shape.FromImage(pelaajanKuva); 122 pelaaja.Weapon = new AssaultRifle(30, 10); 123 pelaaja.Weapon.Image = asekuva; 124 pelaaja.Weapon.Ammo.Value = 1000; 125 pelaaja.Weapon.ProjectileCollision = AmmusOsui; 126 127 AddCollisionHandler(pelaaja, "tahti", TormaaTahteen); 128 AddCollisionHandler(pelaaja, "pommi", Tormaapommiin); 129 AddCollisionHandler(pelaaja, "pohja", Tormaapohjaan); 130 Add(pelaaja); 131 return pelaaja; 132 } 133 134 void AmmuAseella(PlatformCharacter pelaaja) 135 { 136 PhysicsObject ammus = pelaaja.Weapon.Shoot(); 137 138 if (ammus != null) 139 { 140 //ammus.Size *= 3; 141 //ammus.Image = ... 142 //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 143 } 144 } 145 146 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 147 { 148 ammus.Destroy(); 149 150 if (kohde.Tag.Equals("pelaaja")) 151 { 152 kohde.Velocity = ammus.Velocity*7; 153 } 154 } 155 156 void LisaaPelaaja1(Vector paikka, double leveys, double korkeus) 157 { 158 pelaaja1 = LisaaPelaaja(paikka, leveys, korkeus, pelaajanKuva); 159 alkupaikka1 = paikka; 160 } 161 162 void LisaaPelaaja2(Vector paikka, double leveys, double korkeus) 163 { 164 pelaaja2 = LisaaPelaaja(paikka, leveys, korkeus, pelaajanKuva2); 165 alkupaikka2 = paikka; 75 166 } 76 167 … … 83 174 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 84 175 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 176 Keyboard.Listen(Key.Enter, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 177 178 179 Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, -nopeus); 180 Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja2, nopeus); 181 Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja2, hyppyNopeus); 182 Keyboard.Listen(Key.R, ButtonState.Down, AmmuAseella, "Ammu", pelaaja2); 183 85 184 86 185 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 109 208 tahti.Destroy(); 110 209 } 210 211 void Tormaapommiin(PhysicsObject hahmo, PhysicsObject pommi) 212 { 213 Explosion räjähdys = new Explosion(200); 214 räjähdys.Position = pommi.Position + new Vector(0, 10); 215 Add(räjähdys); 216 } 217 218 void Tormaapohjaan(PhysicsObject hahmo, PhysicsObject pohja) 219 { 220 pelaaja1.Position = alkupaikka1; 221 pelaaja2.Position = alkupaikka2; 222 223 if (hahmo == pelaaja1) 224 { 225 pisteLaskuri2.Value += 1; 226 } 227 if (hahmo == pelaaja2) 228 { 229 pisteLaskuri1.Value += 1; 230 } 231 } 111 232 }
Note: See TracChangeset
for help on using the changeset viewer.