- Timestamp:
- 2013-07-04 15:07:12 (10 years ago)
- Location:
- 2013/24/AleksanteriV/Protokolla236/Protokolla236
- Files:
-
- 12 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/24/AleksanteriV/Protokolla236/Protokolla236/Protokolla236/Protokolla236.cs
r4411 r4440 27 27 { 28 28 29 Image tausta = LoadImage("tausta 02");29 Image tausta = LoadImage("taustakuvastarfield"); 30 30 31 31 Image pelaajankuva = LoadImage("pelaaja1.0"); … … 43 43 Image Blocklasi = LoadImage("Blocklasi"); 44 44 Image Block121 = LoadImage("Block121"); 45 private Image[] Blockanim = LoadImages("Block1.1", "Block1.2", "Block1.3", "Block1.2"); 45 Image Lasitausta = LoadImage("lasitausta"); 46 Image isolasi1 = LoadImage("isolasi1"); 47 Image isolasi2 = LoadImage("isolasi2"); 48 Image isolasi3 = LoadImage("isolasi3"); 49 Image isolasi4 = LoadImage("isolasi4"); 50 Image isolasi5 = LoadImage("isolasi5"); 51 Image isolasi6 = LoadImage("isolasi6"); 52 Image isolasi7 = LoadImage("isolasi7"); 53 Image isolasi8 = LoadImage("isolasi8"); 54 private Image[] LabRat = LoadImages("Block1.1", "Block1.2", "Block1.3", "Block1.2"); 46 55 private Image[] Block06anim = LoadImages("Block06", "Block061", "Block062", "Block063", "Block064", "Block063", "Block062", "Block063", "Block061"); 47 56 … … 52 61 Image sikioanim = LoadImage("sikio03"); 53 62 63 64 54 65 private Image[] tasoliekkianim = LoadImages("taso23.1", "taso23.2", "taso23.3"); 55 66 … … 58 69 Timer MessageDisplaynAjastin; 59 70 60 //AssaultRifle pelaajan1Ase;61 71 SoundEffect laser = LoadSoundEffect("lasershot"); 62 72 private Image[] ammusanim = LoadImages("ammus", "ammus"); … … 64 74 private string[] soitin = { "nitrome - N.M.D", "nitrome - enemy 585 3", "nitrome - bullethead" }; 65 75 66 76 bool joMaalissa = false; 77 78 int nopeus = RandomGen.NextInt(3, 5); 67 79 int kenttaNro = 1; 68 80 private string mihinSpawnaaSeuraavaksi = "00FF00"; // ihan ekassa kentässä spawnaa tähän … … 73 85 74 86 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 75 "yksinpeli tarina (1P)", "selviytyminen (2P) ", "Lopeta");87 "yksinpeli tarina (1P)", "selviytyminen (2P):ei toimi", "Lopeta"); 76 88 Add(alkuValikko); 77 89 … … 87 99 seuraavakentta(); 88 100 MediaPlayer.IsRepeating = true; 101 MessageDisplay.Add("Tehtävänäsi on päästa ulos mottiin joutuneen emä aluksesi sisältä."); 102 MessageDisplay.Add("Kulje vihollis linjojen läpi äläkä jää turhaan odottamaan omaa tuhoasi!!!"); 89 103 Keyboard.Listen(Key.F1, ButtonState.Pressed, Begin, null); 90 104 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, null); … … 112 126 113 127 ruudut.SetTileMethod(Color.FromHexCode("00FF00"), AsetaPelaajanPaikka, "00FF00", pelaaja1); 114 //ruudut.SetTileMethod(Color.FromHexCode("00FFC5"), LuoPelaaja2); 128 //ruudut.SetTileMethod(Color.FromHexCode("00FFC5"), LuoPelaaja2); 6DFF54 129 ruudut.SetTileMethod(Color.FromHexCode("6DFF54"), Luomaali); 115 130 ruudut.SetTileMethod(Color.FromHexCode("000000"), LuoTaso, new Animation(tasoanim)); 116 131 ruudut.SetTileMethod(Color.FromHexCode("FFFF00"), LuoTaso, (Animation)taso3); … … 119 134 ruudut.SetTileMethod(Color.FromHexCode("0000FF"), LuoTaso, new Animation(tasoliekkianim)); 120 135 ruudut.SetTileMethod(Color.FromHexCode("D9FF93"), LuoTaso, (Animation)Blocklasi); 121 ruudut.SetTileMethod(Color.FromHexCode("FF42C0"), LuoTausta, new Animation( Blockanim));136 ruudut.SetTileMethod(Color.FromHexCode("FF42C0"), LuoTausta, new Animation(LabRat)); 122 137 ruudut.SetTileMethod(Color.FromHexCode("B7FF9E"), LuoTausta, new Animation(Block06anim)); 123 138 ruudut.SetTileMethod(Color.FromHexCode("42B9FF"), LuoTausta, (Animation)BlockMusta); 124 139 ruudut.SetTileMethod(Color.FromHexCode("00FF90"), LuoTausta, (Animation)Block021); 125 140 ruudut.SetTileMethod(Color.FromHexCode("478DFF"), LuoTausta, (Animation)Block121); 141 ruudut.SetTileMethod(Color.FromHexCode("FFDB4C"), LuoTausta, (Animation)Lasitausta); 142 ruudut.SetTileMethod(Color.FromHexCode("A72BFF"), LuoTausta, (Animation)isolasi1); 143 ruudut.SetTileMethod(Color.FromHexCode("A73AFF"), LuoTausta, (Animation)isolasi2); 144 ruudut.SetTileMethod(Color.FromHexCode("A75BFF"), LuoTausta, (Animation)isolasi3); 145 ruudut.SetTileMethod(Color.FromHexCode("A746FF"), LuoTausta, (Animation)isolasi4); 146 ruudut.SetTileMethod(Color.FromHexCode("A778FF"), LuoTausta, (Animation)isolasi5); 147 ruudut.SetTileMethod(Color.FromHexCode("A797FF"), LuoTausta, (Animation)isolasi6); 148 ruudut.SetTileMethod(Color.FromHexCode("A788FF"), LuoTausta, (Animation)isolasi7); 149 ruudut.SetTileMethod(Color.FromHexCode("A7BAFF"), LuoTausta, (Animation)isolasi8); 126 150 ruudut.SetTileMethod(Color.FromHexCode("FF0000"), LuoVihu, new Animation(vihu2)); 127 151 ruudut.SetTileMethod(Color.FromHexCode("FF5700"), LuoVihu, new Animation(vihu3)); 128 152 ruudut.SetTileMethod(Color.FromHexCode("FF5711"), LuoVihu, new Animation(vihu4)); 129 153 130 ruudut.SetTileMethod(Color.FromHexCode("A860FF"), LuoPortti, 1, 2, "000102"); // kentt ä1 --> kenttä2154 ruudut.SetTileMethod(Color.FromHexCode("A860FF"), LuoPortti, 1, 2, "000102"); // kentta1 --> kentta2 131 155 ruudut.SetTileMethod(Color.FromHexCode("BD87FF"), LuoPortti, 2, 1, "000201"); // kentta2 --> kentta1 132 156 ruudut.SetTileMethod(Color.FromHexCode("FFA8AC"), LuoPortti, 2, 3, "000203"); // kentta2 --> kentta3 133 157 ruudut.SetTileMethod(Color.FromHexCode("6DFF81"), LuoPortti, 3, 2, "000302"); // kentta3 --> kentta2 158 ruudut.SetTileMethod(Color.FromHexCode("35FFA7"), LuoPortti, 3, 4, "000304"); // kentta3 --> kentta4 159 ruudut.SetTileMethod(Color.FromHexCode("548DFF"), LuoPortti, 4, 3, "000403"); // kentta4 --> kentta3 160 ruudut.SetTileMethod(Color.FromHexCode("4C70FF"), LuoPortti, 4, 5, "000405"); // kentta4 --> kentta5 161 ruudut.SetTileMethod(Color.FromHexCode("9A02FF"), LuoPortti, 5, 4, "000504"); // kentta5 --> kentta4 162 ruudut.SetTileMethod(Color.FromHexCode("FFCE93"), LuoPortti, 5, 6, "000506"); // kentta5 --> kentta6 163 ruudut.SetTileMethod(Color.FromHexCode("FF4989"), LuoPortti, 6, 5, "000605"); // kentta6 --> kentta5 164 ruudut.SetTileMethod(Color.FromHexCode("79FF3F"), LuoPortti, 6, 1, "000601"); // kentta6 --> kentta1 165 ruudut.SetTileMethod(Color.FromHexCode("35FFDA"), LuoPortti, 1, 6, "000106"); // kentta1 --> kentta6 166 ruudut.SetTileMethod(Color.FromHexCode("FF8797"), LuoPortti, 4, 7, "000407"); // kentta4 --> kentta7 167 ruudut.SetTileMethod(Color.FromHexCode("FF8793"), LuoPortti, 7, 4, "000704"); // kentta7 --> kentta4 134 168 135 169 ruudut.SetTileMethod(Color.FromHexCode("000102"), AsetaPelaajanPaikka, "000102", pelaaja1); … … 137 171 ruudut.SetTileMethod(Color.FromHexCode("000203"), AsetaPelaajanPaikka, "000203", pelaaja1); 138 172 ruudut.SetTileMethod(Color.FromHexCode("000302"), AsetaPelaajanPaikka, "000302", pelaaja1); 173 ruudut.SetTileMethod(Color.FromHexCode("000304"), AsetaPelaajanPaikka, "000304", pelaaja1); 174 ruudut.SetTileMethod(Color.FromHexCode("000403"), AsetaPelaajanPaikka, "000403", pelaaja1); 175 ruudut.SetTileMethod(Color.FromHexCode("000405"), AsetaPelaajanPaikka, "000405", pelaaja1); 176 ruudut.SetTileMethod(Color.FromHexCode("000504"), AsetaPelaajanPaikka, "000504", pelaaja1); 177 ruudut.SetTileMethod(Color.FromHexCode("000506"), AsetaPelaajanPaikka, "000506", pelaaja1); 178 ruudut.SetTileMethod(Color.FromHexCode("000605"), AsetaPelaajanPaikka, "000605", pelaaja1); 179 ruudut.SetTileMethod(Color.FromHexCode("000601"), AsetaPelaajanPaikka, "000601", pelaaja1); 180 ruudut.SetTileMethod(Color.FromHexCode("000106"), AsetaPelaajanPaikka, "000106", pelaaja1); 181 ruudut.SetTileMethod(Color.FromHexCode("000407"), AsetaPelaajanPaikka, "000407", pelaaja1); 182 ruudut.SetTileMethod(Color.FromHexCode("000704"), AsetaPelaajanPaikka, "000704", pelaaja1); 139 183 140 184 ruudut.Execute(50, 50); 141 185 142 Gravity = new Vector(0.0, -200.0); 186 /* taustakuva */ 187 GameObject tausta1 = new GameObject(Level.Width, Level.Height); 188 tausta1.Image = tausta; 189 Add(tausta1, -3); 190 Layers[-3].RelativeTransition = new Vector(0.2, 0.2); 191 192 193 Gravity = new Vector(0.0, -150.0); 143 194 Level.CreateBorders(0.5, true); 144 145 195 LisaaNappaimet(pelaajat); 146 147 196 Camera.Follow(pelaajat.ToArray()); 148 197 } … … 151 200 { 152 201 if (mihinSpawnaa == this.mihinSpawnaaSeuraavaksi) pelaaja.Position = paikka; 202 } 203 204 void Luomaali(Vector paikka, double leveys, double korkeus) 205 { 206 PhysicsObject maali = new PhysicsObject(leveys, korkeus); 207 maali.MakeStatic(); 208 maali.Position = paikka; 209 maali.IsVisible = false; 210 211 AddCollisionHandler(maali, "pelaaja", maaliintultiin); 212 213 Add(maali); 214 215 } 216 217 void maaliintultiin(PhysicsObject obj, PhysicsObject toinen) 218 { 219 if (joMaalissa) { return; } 220 joMaalissa = true; 221 MessageDisplay.Add("Hyvä!"); 222 MessageDisplay.Add("Pääsit pois aluksesta. Ehjänä... Ja..."); 223 MessageDisplay.Add("valmiina kostoon!"); 224 153 225 } 154 226 … … 173 245 pelaajat.Clear(); 174 246 175 if (kenttaNro == 1) luokentta("kentta1"); 176 else if (kenttaNro == 2) luokentta("kentta2"); 177 else if (kenttaNro == 3) luokentta("kentta3"); 178 else if (kenttaNro == 4) luokentta("kentta4"); 179 else if (kenttaNro == 5) luokentta("kentta121"); 180 else if (kenttaNro == 6) luokentta("kentta1"); 247 if (kenttaNro == 1) luokentta("Kentta1"); 248 else if (kenttaNro == 2) luokentta("Kentta2"); 249 else if (kenttaNro == 3) luokentta("Kentta3"); 250 else if (kenttaNro == 4) luokentta("Kentta4"); 251 else if (kenttaNro == 5) luokentta("Kentta5"); 252 else if (kenttaNro == 6) luokentta("Kentta6"); 253 else if (kenttaNro == 7) luokentta("Kentta7"); 181 254 182 255 } … … 199 272 taso.Animation = kuva; 200 273 taso.Animation.Start(); 201 taso.Animation.FPS = RandomGen.NextDouble(3.0, 7.0);274 taso.Animation.FPS = nopeus; 202 275 } 203 276 … … 209 282 Block.Animation = kuva; 210 283 Block.Animation.Start(); 211 Block.Animation.FPS = 5;284 Block.Animation.FPS = nopeus; 212 285 } 213 286 … … 215 288 void LuoElamaLaskuri(Pelaaja pelaaja, double x, double y, Color vari) 216 289 { 217 ProgressBar elamaPalkki = new ProgressBar(200, 20);218 elamaPalkki.X = x;290 ProgressBar elamaPalkki = new ProgressBar(200, 10); 291 elamaPalkki.X = 0; 219 292 elamaPalkki.BarColor = vari; 220 293 elamaPalkki.Y = y; 221 294 elamaPalkki.BindTo(pelaaja.ElamaLaskuri); 222 elamaPalkki.BorderColor = Color. Black;295 elamaPalkki.BorderColor = Color.White; 223 296 Add(elamaPalkki); 224 297 } 225 298 226 void PelaajaOsuu(PhysicsObject pel, PhysicsObject kohde )299 void PelaajaOsuu(PhysicsObject pel, PhysicsObject kohde, string tyyppi) 227 300 { 228 301 if (!(pel is Pelaaja)) return; 229 302 Pelaaja pelaaja = (Pelaaja)pel; 230 pelaaja.ElamaLaskuri.Value -= 2; 231 } 232 233 void TekstiaDisplaylle(string tekst) 234 { 235 MessageDisplay.Add(tekst); 236 MessageDisplaynAjastin = new Timer(); 237 MessageDisplaynAjastin.Timeout += delegate { MessageDisplay.Clear(); }; 238 MessageDisplaynAjastin.Interval = 5; 239 MessageDisplaynAjastin.Start(1); 303 304 switch (tyyppi) { 305 case "sikio": 306 pelaaja.ElamaLaskuri.Value -= 1; 307 break; 308 case "vihu": 309 pelaaja.ElamaLaskuri.Value -= 2; 310 break; 311 case "taso": 312 double maxvel = 0; 313 if (Math.Abs(pelaaja.Velocity.X) > Math.Abs(pelaaja.Velocity.Y)) { maxvel = Math.Round(pelaaja.Velocity.X); } else { maxvel = Math.Round(pelaaja.Velocity.Y); } 314 pelaaja.ElamaLaskuri.Value -= (int)Math.Round(maxvel/8); 315 break; 316 } 317 318 240 319 } 241 320 … … 244 323 { 245 324 pelaajat.Clear(); 246 TekstiaDisplaylle("Kuolit!");247 325 kenttaNro = 1; 248 326 mihinSpawnaaSeuraavaksi = "00FF00"; … … 259 337 } 260 338 pelaajat.Clear(); 261 TekstiaDisplaylle("Kuolitte!");262 339 seuraavakentta(); 263 340 … … 271 348 if (kenttaNro == 5) 272 349 pelaaja.ElamaLaskuri.LowerLimit += delegate { ElamaLoppuiSurvivalissa(); }; 273 else pelaaja.ElamaLaskuri.LowerLimit += delegate { 274 ElamaLoppui(); 275 }; 350 else pelaaja.ElamaLaskuri.LowerLimit += delegate { ElamaLoppui(); }; 276 351 pelaaja.CanRotate = false; 277 352 Camera.StayInLevel = true; 278 353 pelaaja.Shape = Shape.FromImage(pelaajankuva); 279 354 pelaaja.Tag = "pelaaja"; 280 pelaaja.Restitution = 0. 5;355 pelaaja.Restitution = 0.1; 281 356 return pelaaja; 282 357 } … … 288 363 289 364 AddCollisionHandler<Pelaaja, Portti>(pelaaja, TormattiinPorttiin); 290 AddCollisionHandler(pelaaja, "vihu", PelaajaOsuu);291 AddCollisionHandler(pelaaja, "sikio", PelaajaOsuu );292 AddCollisionHandler(pelaaja, "taso", PelaajaOsuu );365 AddCollisionHandler(pelaaja, "vihu", delegate (Pelaaja p, PhysicsObject vihu){ PelaajaOsuu(p, vihu, "vihu"); }); 366 AddCollisionHandler(pelaaja, "sikio", PelaajaOsuu, "sikio"); 367 AddCollisionHandler(pelaaja, "taso", PelaajaOsuu, "taso"); 293 368 294 369 AssaultRifle pelaajanAse = new AssaultRifle(30, 10); … … 296 371 pelaajanAse.Angle = Angle.RightAngle; 297 372 pelaajanAse.AttackSound = laser; 298 pelaajanAse. Ammo.Value = 1000;373 pelaajanAse.InfiniteAmmo = true; 299 374 pelaajanAse.Power.DefaultValue = 200; 375 pelaajanAse.FireRate = 8; 300 376 pelaajanAse.ProjectileCollision = AmmusOsui; 301 377 pelaaja.Add(pelaajanAse); … … 308 384 pelaaja.Add(liekki); 309 385 liekki.Y = -25; 310 311 GameObject tausta1 = new GameObject(Level.Width, Level.Height);312 tausta1.Image = tausta;313 386 pelaaja.Liekki = liekki; 314 Add(tausta1, -3); 315 Layers[-3].RelativeTransition = new Vector(0.5, 0.5); 387 316 388 pelaajat.Add(pelaaja); 317 389 return pelaaja; … … 320 392 321 393 322 323 324 void LuoPelaaja1(Vector paikka, double leveys, double korkeus)325 {326 327 328 }329 330 394 private void LisaaNappaimet(List<Pelaaja> pelaajat) 331 395 { 332 396 Keyboard.Listen(Key.Left, ButtonState.Down, kaannaPelaajaa, null, 5.0, pelaajat[0]); 333 397 Keyboard.Listen(Key.Right, ButtonState.Down, kaannaPelaajaa, null, -5.0, pelaajat[0]); 334 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, 900.0, pelaajat[0]);335 Keyboard.Listen(Key. Space, ButtonState.Down, AmmuAseella, null, pelaajat[0].Ase);398 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, 800.0, pelaajat[0]); 399 Keyboard.Listen(Key.LeftControl, ButtonState.Down, AmmuAseella, null, pelaajat[0].Ase); 336 400 337 401 //----------------------------------------------------------------- … … 411 475 { 412 476 pelaaja1.Push(Vector.FromLengthAndAngle(nopeus, pelaaja1.Angle + Angle.RightAngle)); 413 }414 415 void luotaso(Vector paikka, double leveys, double korkeus)416 {417 418 477 } 419 478 … … 427 486 vihu.AngularDamping = 0.1; 428 487 vihu.IgnoresGravity = true; 429 430 431 488 Add(vihu, 1); 432 489 -
2013/24/AleksanteriV/Protokolla236/Protokolla236/Protokolla236Content/Protokolla236Content.contentproj
r4411 r4440 434 434 </Compile> 435 435 </ItemGroup> 436 <ItemGroup> 437 <Compile Include="Kentta4.png"> 438 <Name>Kentta4</Name> 439 <Importer>TextureImporter</Importer> 440 <Processor>TextureProcessor</Processor> 441 </Compile> 442 </ItemGroup> 443 <ItemGroup> 444 <Compile Include="kentta5.png"> 445 <Name>kentta5</Name> 446 <Importer>TextureImporter</Importer> 447 <Processor>TextureProcessor</Processor> 448 </Compile> 449 </ItemGroup> 450 <ItemGroup> 451 <Compile Include="Kentta6.png"> 452 <Name>Kentta6</Name> 453 <Importer>TextureImporter</Importer> 454 <Processor>TextureProcessor</Processor> 455 </Compile> 456 </ItemGroup> 457 <ItemGroup> 458 <Compile Include="Lasitausta.png"> 459 <Name>Lasitausta</Name> 460 <Importer>TextureImporter</Importer> 461 <Processor>TextureProcessor</Processor> 462 </Compile> 463 </ItemGroup> 464 <ItemGroup> 465 <Compile Include="taustakuvastarfield.png"> 466 <Name>taustakuvastarfield</Name> 467 <Importer>TextureImporter</Importer> 468 <Processor>TextureProcessor</Processor> 469 </Compile> 470 </ItemGroup> 471 <ItemGroup> 472 <Compile Include="isolasi1.png"> 473 <Name>isolasi1</Name> 474 <Importer>TextureImporter</Importer> 475 <Processor>TextureProcessor</Processor> 476 </Compile> 477 <Compile Include="isolasi2.png"> 478 <Name>isolasi2</Name> 479 <Importer>TextureImporter</Importer> 480 <Processor>TextureProcessor</Processor> 481 </Compile> 482 <Compile Include="isolasi3.png"> 483 <Name>isolasi3</Name> 484 <Importer>TextureImporter</Importer> 485 <Processor>TextureProcessor</Processor> 486 </Compile> 487 <Compile Include="isolasi4.png"> 488 <Name>isolasi4</Name> 489 <Importer>TextureImporter</Importer> 490 <Processor>TextureProcessor</Processor> 491 </Compile> 492 <Compile Include="isolasi5.png"> 493 <Name>isolasi5</Name> 494 <Importer>TextureImporter</Importer> 495 <Processor>TextureProcessor</Processor> 496 </Compile> 497 <Compile Include="isolasi6.png"> 498 <Name>isolasi6</Name> 499 <Importer>TextureImporter</Importer> 500 <Processor>TextureProcessor</Processor> 501 </Compile> 502 <Compile Include="isolasi7.png"> 503 <Name>isolasi7</Name> 504 <Importer>TextureImporter</Importer> 505 <Processor>TextureProcessor</Processor> 506 </Compile> 507 <Compile Include="isolasi8.png"> 508 <Name>isolasi8</Name> 509 <Importer>TextureImporter</Importer> 510 <Processor>TextureProcessor</Processor> 511 </Compile> 512 </ItemGroup> 513 <ItemGroup> 514 <Compile Include="Kentta7.png"> 515 <Name>Kentta7</Name> 516 <Importer>TextureImporter</Importer> 517 <Processor>TextureProcessor</Processor> 518 </Compile> 519 </ItemGroup> 436 520 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 437 521 <!-- 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.