- Timestamp:
- 2011-08-04 14:58:56 (11 years ago)
- Location:
- 2011/31/PavelT/gee tee aa ssek
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/31/PavelT/gee tee aa ssek/Peli.cs
r2541 r2558 13 13 14 14 PhysicsObject sampodiego; 15 Image olionkuva = LoadImage("Kari");15 PhysicsObject niko; 16 16 AssaultRifle pyssy; 17 AssaultRifle pyssy2; 18 AssaultRifle pyssy3; 17 19 PhysicsObject vihu; 18 20 Image vihunKuva = LoadImage("vihu"); … … 26 28 Valikko(); 27 29 28 29 30 } 30 31 void Valikko() 31 32 { 33 Level.BackgroundColor = Color.Black; 32 34 ClearAll(); 33 35 valikonKohdat = new List<Label>(); 34 36 35 Label kohta1 = new Label(" Aloita uusi peli");37 Label kohta1 = new Label("Kaksipelaajaa"); 36 38 kohta1.Position = new Vector(0, 40); 37 39 valikonKohdat.Add(kohta1); … … 41 43 valikonKohdat.Add(kohta2); 42 44 45 Label kohta3 = new Label("DeadLand"); 46 kohta3.Position = new Vector(0, 250); 47 kohta3.TextColor = Color.Red; 48 kohta3.TextScale = new Vector(10,10); 49 Add(kohta3); 50 51 Label kohta4 = new Label("The rise of zombies"); 52 kohta4.Position = new Vector(0, -250); 53 kohta4.TextColor = Color.Red; 54 kohta4.TextScale = new Vector(5,5); 55 Add(kohta4); 56 57 Label kohta5 = new Label("Kolmepelaajaa"); 58 kohta5.Position = new Vector(0, 1); 59 valikonKohdat.Add(kohta5); 60 61 43 62 foreach (Label valikonKohta in valikonKohdat) 44 63 { … … 46 65 } 47 66 48 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);67 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, Kaksipelaajaa, null); 49 68 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 50 69 ControllerOne.Listen(Button.B, ButtonState.Down, Exit, ""); 51 ControllerOne.Listen(Button.A, ButtonState.Down, AloitaPeli, ""); 70 ControllerOne.Listen(Button.A, ButtonState.Down, Kaksipelaajaa, ""); 71 ControllerOne.Listen(Button.X, ButtonState.Down, Kolmepelaajaa, ""); 52 72 Mouse.IsCursorVisible = true; 53 73 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); … … 65 85 else 66 86 { 67 kohta.TextColor = Color. Black;87 kohta.TextColor = Color.Red; 68 88 } 69 89 … … 75 95 76 96 77 void AloitaPeli( )97 void AloitaPeli(int pelaajienmäärä) 78 98 { 79 99 ClearAll(); 80 100 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 81 101 Timer ajastin = new Timer(); 82 ajastin.Interval = 0.1;102 ajastin.Interval = 1.0; 83 103 ajastin.Timeout += lisaavihu; 84 104 ajastin.Start(); 85 105 106 MediaPlayer.Play("Darkness of the Unknown"); 86 107 87 108 olio = luokari(); … … 93 114 sampodiego.Y = -60; 94 115 Add(sampodiego); 116 117 if (pelaajienmäärä ==3) 118 { 119 niko = luoniko(); 120 niko.X = 400; 121 niko.Y = -100; 122 Add(niko); 123 124 LuoLaskuri3(); 125 126 127 } 95 128 96 129 … … 124 157 ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0.1, 125 158 Käännäpelaajaa2, "Käännä pelaajaa tattia pyörittämällä."); 126 127 128 Camera.ZoomFactor = (0.3); 159 ControllerTwo.Listen(Button.B, ButtonState.Down, ammu2, null); 160 ControllerThree.ListenAnalog(AnalogControl.LeftStick, 0.1, 161 LiikutaPelaajaa3, "Liikuta pelaajaa tattia pyörittämällä."); 162 ControllerThree.ListenAnalog(AnalogControl.RightStick, 0.1, 163 Käännäpelaajaa3, "Käännä pelaajaa tattia pyörittämällä."); 164 ControllerThree.Listen(Button.B, ButtonState.Down, ammu3, null); 165 166 Camera.ZoomFactor = (0.4); 129 167 olio.AngularVelocity = 5.0; 130 131 lisäävihollinen(Vector.Zero, 200, 100); 168 int savujenmaara = 0; 169 LuoLaskuri(); 170 LuoLaskuri2(); 171 while (savujenmaara < 150) 172 { 173 Smoke savu = new Smoke(); 174 savu.Position = new Vector(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)); 175 Add(savu); 176 savujenmaara++; 177 Wind = new Vector(100, 20); 178 179 180 } 132 181 182 183 184 // lisäävihollinen(Vector.Zero, 200, 100); 185 133 186 134 187 } … … 141 194 142 195 } 196 void Kaksipelaajaa() 197 { 198 AloitaPeli(2); 199 } 200 void Kolmepelaajaa() 201 { 202 AloitaPeli(3); 203 } 143 204 void Käännäpelaajaa(AnalogState tatinTila) 144 205 { … … 149 210 { 150 211 Vector tatinAsento = tatinTila.StateVector; 151 olio.Push(tatinAsento * 1000);212 sampodiego.Push(tatinAsento * 1000); 152 213 } 153 214 void Käännäpelaajaa2(AnalogState tatinTila) 154 215 { 155 216 Vector tatinAsento = tatinTila.StateVector; 156 olio.AngularVelocity = tatinAsento.X * 15; 157 } 217 sampodiego.AngularVelocity = tatinAsento.X * 15; 218 } 219 void LiikutaPelaajaa3(AnalogState tatinTila) 220 { 221 Vector tatinAsento = tatinTila.StateVector; 222 niko.Push(tatinAsento * 1000); 223 } 224 void Käännäpelaajaa3(AnalogState tatinTila) 225 { 226 Vector tatinAsento = tatinTila.StateVector; 227 niko.AngularVelocity = tatinAsento.X * 15; 228 } 229 158 230 159 231 … … 163 235 void ammu() 164 236 { 165 pyssy.Shoot(); 166 167 } 237 PhysicsObject ammus = pyssy.Shoot(); 238 if (ammus != null) 239 { 240 ammus.Tag = "pelaaja1"; 241 } 242 243 } 244 void ammu2() 245 { 246 PhysicsObject ammus = pyssy2.Shoot(); 247 if (ammus != null) 248 { 249 ammus.Tag = "pelaaja2"; 250 } 251 } 252 void ammu3() 253 { 254 PhysicsObject ammus = pyssy3.Shoot(); 255 if (ammus != null) 256 { 257 ammus.Tag = "pelaaja3"; 258 } 259 260 } 261 168 262 169 263 void käännäpelaajaa(double kulmanopeus) … … 177 271 olio.Push(vektori); 178 272 } 179 273 IntMeter pisteLaskuri; 274 275 void LuoLaskuri() 276 { 277 pisteLaskuri = new IntMeter(0); 278 279 Label pisteNaytto = new Label(); 280 pisteNaytto.X = Screen.Left + 200; 281 pisteNaytto.Y = Screen.Top - 100; 282 pisteNaytto.TextColor = Color.Red; 283 284 pisteNaytto.BindTo(pisteLaskuri); 285 Add(pisteNaytto); 286 287 Label pisteTeksti = new Label("Zombies killed: "); 288 pisteTeksti.X = Screen.Left + 100; 289 pisteTeksti.Y = Screen.Top - 100; 290 pisteTeksti.TextColor = Color.Red; 291 Add(pisteTeksti); 292 293 } 294 IntMeter pisteLaskuri2; 295 void LuoLaskuri2() 296 { 297 pisteLaskuri2 = new IntMeter(0); 298 299 Label pisteNaytto2 = new Label(); 300 pisteNaytto2.X = Screen.Right - 200; 301 pisteNaytto2.Y = Screen.Top - 100; 302 pisteNaytto2.TextColor = Color.Red; 303 304 pisteNaytto2.BindTo(pisteLaskuri2); 305 Add(pisteNaytto2); 306 307 Label pisteTeksti2 = new Label("Zombies killed: "); 308 pisteTeksti2.X = Screen.Right -100; 309 pisteTeksti2.Y = Screen.Top -20; 310 pisteTeksti2.TextColor = Color.Red; 311 Add(pisteTeksti2); 312 313 } 314 void pistelaskuri2() 315 { 316 } 317 IntMeter pisteLaskuri3; 318 void LuoLaskuri3() 319 { 320 pisteLaskuri3 = new IntMeter(0); 321 322 Label pisteNaytto3 = new Label(); 323 pisteNaytto3.X = Screen.Right - 200; 324 pisteNaytto3.Y = Screen.Bottom + 100; 325 326 pisteNaytto3.TextColor = Color.Red; 327 328 pisteNaytto3.BindTo(pisteLaskuri3); 329 Add(pisteNaytto3); 330 331 Label pisteTeksti3 = new Label("Zombies killed: "); 332 pisteTeksti3.X = Screen.Right -100; 333 pisteTeksti3.Y = Screen.Bottom + 100; 334 pisteTeksti3.TextColor = Color.Red; 335 Add(pisteTeksti3); 336 } 337 void pistelaskuri3() 338 { 339 } 180 340 181 341 void LuoPalikka(Vector paikka, double leveys, double korkeus) … … 209 369 { 210 370 luoti.Destroy(); 371 if (kohde is PeliHahmo) 372 { 373 PeliHahmo p = (PeliHahmo)kohde; 374 p.Elamat--; 375 if (p.Elamat < 0) { 376 p.Destroy(); 377 378 if (luoti.Tag == "pelaaja1") 379 380 381 { 382 pisteLaskuri.Value++; 383 384 } 385 if (luoti.Tag == "pelaaja2") 386 { 387 pisteLaskuri2.Value++; 388 } 389 if (luoti.Tag == "pelaaja3") 390 { 391 pisteLaskuri3.Value++; 392 } 393 } 394 } 395 211 396 } 212 397 … … 218 403 sampodiego.LinearDamping = 0.950; 219 404 sampodiego.AngularDamping = 0.8; 220 AssaultRifle pyssy= new AssaultRifle(50, 50);221 pyssy .Angle += Angle.FromDegrees(5);222 pyssy .InfiniteAmmo = false;223 pyssy .ProjectileCollision = LuotiOsuu;224 sampodiego.Add(pyssy );405 pyssy2 = new AssaultRifle(50, 50); 406 pyssy2.Angle += Angle.FromDegrees(5); 407 pyssy2.InfiniteAmmo = true; 408 pyssy2.ProjectileCollision = LuotiOsuu; 409 sampodiego.Add(pyssy2); 225 410 226 411 … … 232 417 void lisäävihollinen(Vector sijainti, double leveys, double korkeus) 233 418 { 234 PhysicsObject vihu = new PhysicsObject(100.0, 150); 419 PeliHahmo vihu = new PeliHahmo(100.0, 150); 420 vihu.Elamat = 3; 235 421 vihu.Image = vihunKuva; 236 422 vihu.LinearDamping = 0.950; … … 242 428 seuraajaAivot.StopWhenTargetClose = false; 243 429 seuraajaAivot.Active = true; 244 seuraajaAivot.Target = olio; 430 int luku = RandomGen.NextInt(0, 2); 431 switch (luku) 432 { 433 case 0: 434 seuraajaAivot.Target = olio; 435 break; 436 case 1: 437 seuraajaAivot.Target = sampodiego; 438 break; 439 default: 440 break; 441 } 245 442 vihu.Brain = seuraajaAivot; 246 443 247 444 248 445 vihu.Position = sijainti; 249 250 446 447 251 448 Add(vihu); 252 449 } … … 257 454 void lisaavihu() 258 455 { 259 lisäävihollinen(new Vector(RandomGen.NextDouble(Level.Left, Level.Right), RandomGen.NextDouble(Level.Bottom, Level.Top)), 0, 0); 260 261 262 } 263 264 456 457 double x = 0; 458 double y = 0; 459 bool lahellapelaajaa = true; 460 while (lahellapelaajaa) 461 { 462 x = RandomGen.NextDouble(Level.Left, Level.Right); 463 y = RandomGen.NextDouble(Level.Bottom, Level.Top); 464 if (Math.Abs(x - olio.X) > 500) 465 { 466 if (Math.Abs(y - olio.Y) > 500) 467 { 468 lahellapelaajaa = false; 469 } 470 } 471 } 472 473 lisäävihollinen(new Vector(x, y), 0, 0); 474 475 } 476 477 478 479 PhysicsObject luoniko() 480 { 481 PhysicsObject kolmaspelaaja = new PhysicsObject(100, 50); 482 kolmaspelaaja.Image = olionKuva; 483 kolmaspelaaja.Size = new Vector(100.0, 150); 484 kolmaspelaaja.LinearDamping = 0.950; 485 kolmaspelaaja.AngularDamping = 0.8; 486 pyssy3 = new AssaultRifle(60, 30); 487 pyssy3.Angle += Angle.FromDegrees(5); 488 pyssy3.InfiniteAmmo = true; 489 pyssy3.ProjectileCollision = LuotiOsuu; 490 kolmaspelaaja.Add(pyssy3); 491 return kolmaspelaaja; 492 } 265 493 266 494 267 495 } 496 497 class PeliHahmo : PhysicsObject 498 { 499 public int Elamat = 3; 500 501 public PeliHahmo(double leveys, double korkeus) 502 : base(leveys, korkeus) 503 { 504 } 505 506 } -
2011/31/PavelT/gee tee aa ssek/gee tee aa ssek/gee tee aa ssekContent/gee tee aa ssekContent.contentproj
r2541 r2558 66 66 </Compile> 67 67 </ItemGroup> 68 <ItemGroup> 69 <Compile Include="Darkness of the Unknown.mp3"> 70 <Name>Darkness of the Unknown</Name> 71 <Importer>Mp3Importer</Importer> 72 <Processor>SongProcessor</Processor> 73 </Compile> 74 </ItemGroup> 68 75 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 69 76 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.