Changeset 5588
- Timestamp:
- 2014-07-23 14:55:39 (9 years ago)
- Location:
- 2014/30/AleksiK
- Files:
-
- 6 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/30/AleksiK/TToDHS/TToDHS/TToDHS/TToDHS.cs
r5538 r5588 10 10 { 11 11 PhysicsObject stein; 12 PhysicsObject taistoStein; 12 13 //VAIHDA NIMI NAISESTA NIMEKSI 13 14 PhysicsObject nainen; 15 PhysicsObject taistoNainen; 16 PhysicsObject mustaTakki; 17 PhysicsObject taistoMustaTakki; 18 PhysicsObject oviEteen; 19 PhysicsObject oviTaakse; 20 PhysicsObject inventory; 14 21 double ruutuNelionSivu; 15 22 23 Light valo; 24 Timer valoAjastin = new Timer(); 25 Vector steinLuontiPiste = new Vector(0, 0); 26 27 IntMeter huoneLaskuri = new IntMeter(0); 28 IntMeter potionLaskuri = new IntMeter(0); 29 IntMeter steinHp = new IntMeter(20); 30 IntMeter steinDmg = new IntMeter(6); 31 IntMeter steinDef = new IntMeter(4); 32 IntMeter steinLvl = new IntMeter(1); 33 IntMeter steinExp = new IntMeter(0); 34 IntMeter mustaTakkiHp = new IntMeter(10); 35 IntMeter mustaTakkiDmg = new IntMeter(6); 36 IntMeter mustaTakkiDef = new IntMeter(3); 37 16 38 List<Label> alkuKohdat; 39 List<Label> taistoKohdat; 17 40 Label luetDocua; 18 19 //TO DO: Asioiden tutkiminen, Vitriini + SteinAse, Inventory, Nainen + MustaTakit, TutorialBattle + Stats + Party, Tarinaa ->, muut huoneet, itemit, battlet 41 Label potionInInv; 42 43 //TO DO: Nainen + MustaTakit, TutorialBattle + Stats + Party, Tarinaa ->, muut huoneet, itemit, battlet 20 44 21 45 public override void Begin() … … 26 50 27 51 Level.Background.Color = Color.Black; 52 Level.AmbientLight = 0; 53 54 valo = new Light(); 55 valo.Intensity = 0; 56 valo.Distance = 1000; 57 Add(valo); 58 59 PotionienLaskuri(); 60 61 steinExp.MaxValue = 32; 62 63 //Tee tälle oma aliohjelmansa, joka kutsutaan, kun stein voittaa taistelun! 64 65 steinExp.UpperLimit += delegate { steinLvl.Value += 1; }; 66 steinExp.UpperLimit += delegate { steinHp.Value += RandomGen.NextInt(1 - 5); }; 67 steinExp.UpperLimit += delegate { steinDmg.Value += 1; }; 68 steinExp.UpperLimit += delegate { steinDef.Value += 1; }; 69 steinExp.UpperLimit += delegate { steinExp.MaxValue *= steinLvl.Value; }; 70 steinExp.UpperLimit += delegate { steinExp.Reset(); }; 28 71 } 29 72 … … 56 99 } 57 100 58 Mouse.ListenOn(alku1, MouseButton.Left, ButtonState.Pressed, LuoLabra, null);101 Mouse.ListenOn(alku1, MouseButton.Left, ButtonState.Pressed, HuoneenLaskuri, null, 2); 59 102 Mouse.ListenOn(alku2, MouseButton.Left, ButtonState.Pressed, Exit, null); 60 103 Mouse.ListenMovement(1.0, AlkuKohtaHiiri, null); … … 77 120 } 78 121 79 void LuoLabra() 80 { 81 ClearAll(); 82 Level.Background.Color = Color.Black; 83 TileMap labHuone = TileMap.FromLevelAsset("Labrahuone"); 84 labHuone.SetTileMethod('X', LuoSeina); 85 labHuone.SetTileMethod('S', LuoStein); 86 labHuone.SetTileMethod('D', LuoDoc); 87 labHuone.SetTileMethod('V', LuoVitriini); 88 labHuone.SetTileMethod('A', LuoAse); 89 labHuone.Execute(ruutuNelionSivu, ruutuNelionSivu); 90 Camera.Follow(stein); 91 Camera.Zoom(0.5); 122 void HuoneenLaskuri(int x) 123 { 124 Mouse.IsCursorVisible = false; 125 126 huoneLaskuri.MinValue = 0; 127 huoneLaskuri.MaxValue = 10; 128 129 if (huoneLaskuri.Value == 0) 130 { 131 if (x == 1) 132 { 133 steinLuontiPiste = new Vector(100, 100); 134 } 135 136 LuoHuone("Labrahuone"); 137 } 138 139 else if (huoneLaskuri.Value == 1) 140 { 141 if (x == 0) 142 { 143 steinLuontiPiste = new Vector(-200, 200); 144 } 145 146 else if (x == 1) 147 { 148 steinLuontiPiste = new Vector(200, -200); 149 } 150 151 LuoHuone("INSERT ROOM 2 HERE"); 152 } 153 } 154 155 void LuoHuone(String tekstinNimi) 156 { 157 ClearGameObjects(); 158 TileMap huone = TileMap.FromLevelAsset(tekstinNimi); 159 huone.SetTileMethod('X', LuoSeina); 160 huone.SetTileMethod('S', LuoStein); 161 huone.SetTileMethod('D', LuoDoc); 162 huone.SetTileMethod('V', LuoVitriini); 163 huone.SetTileMethod('A', LuoPotionhuone1); 164 huone.SetTileMethod('F', LuoOviEteen); 165 huone.SetTileMethod('B', LuoOviTaakse); 166 huone.Execute(ruutuNelionSivu, ruutuNelionSivu); 167 168 HuoneenValo(0, 1); 92 169 } 93 170 … … 106 183 { 107 184 stein = new PhysicsObject(leveys * 0.8, korkeus * 0.8); 108 stein.Position = paikka;185 stein.Position = steinLuontiPiste; 109 186 stein.Color = Color.Green; 110 187 stein.Restitution = 0; … … 113 190 Add(stein); 114 191 115 SteinKontrollit(0); 192 Camera.Follow(stein); 193 Camera.Zoom(0.75); 194 195 Timer.SingleShot(1, delegate { SteinKontrollit(0); }); 116 196 } 117 197 … … 126 206 127 207 //Jos muutat nopeutta, moni Timer.Singleshot menee väärään aikaan, mm. PalautaStein, SteinNopeus ja LuetDoc 128 Keyboard.Listen(Key.D, ButtonState.Down, AsiaNopeus, null, stein, ruutuNelionSivu * 5, 0.0); 129 Keyboard.Listen(Key.A, ButtonState.Down, AsiaNopeus, null, stein, -ruutuNelionSivu * 5, 0.0); 130 Keyboard.Listen(Key.W, ButtonState.Down, AsiaNopeus, null, stein, 0.0, ruutuNelionSivu * 5); 131 Keyboard.Listen(Key.S, ButtonState.Down, AsiaNopeus, null, stein, 0.0, -ruutuNelionSivu * 5); 132 } 133 134 void AsiaNopeus(PhysicsObject liikkuja, double x, double y) 208 Keyboard.Listen(Key.D, ButtonState.Down, AsiaNopeus, null, stein, ruutuNelionSivu * 5, 0.0, 0.0); 209 Keyboard.Listen(Key.A, ButtonState.Down, AsiaNopeus, null, stein, -ruutuNelionSivu * 5, 0.0, 0.0); 210 Keyboard.Listen(Key.W, ButtonState.Down, AsiaNopeus, null, stein, 0.0, ruutuNelionSivu * 5, 0.0); 211 Keyboard.Listen(Key.S, ButtonState.Down, AsiaNopeus, null, stein, 0.0, -ruutuNelionSivu * 5, 0.0); 212 Keyboard.Listen(Key.E, ButtonState.Pressed, InventorinTilanMuutos, null, 0); 213 } 214 215 void AsiaNopeus(PhysicsObject liikkuja, double x, double y, double z) 135 216 { 136 217 liikkuja.Velocity = new Vector(x, y); 137 218 138 if ((x + 1 ) * (y + 1) > 1)219 if ((x + 1 ) * (y + 1) > 2) 139 220 { 140 221 ClearControls(); 141 Timer.SingleShot(0.2, delegate { AsiaNopeus(liikkuja, 0, 0 ); });222 Timer.SingleShot(0.2, delegate { AsiaNopeus(liikkuja, 0, 0, 0); }); 142 223 } 143 224 … … 145 226 { 146 227 ClearControls(); 147 Timer.SingleShot(0.2, delegate { AsiaNopeus(liikkuja, 0, 0 ); });148 } 149 150 else 228 Timer.SingleShot(0.2, delegate { AsiaNopeus(liikkuja, 0, 0, 0); }); 229 } 230 231 else if (z == 0) 151 232 { 152 233 SteinKontrollit(0); … … 158 239 dr.Velocity = dr.Velocity * -1; 159 240 //Määritetty Steinin koosta ja nopeudesta 160 Timer.SingleShot( 0.0 4, delegate { AsiaNopeus(dr, 0, 0); });241 Timer.SingleShot( 0.02, delegate { AsiaNopeus(dr, 0, 0, 1); }); 161 242 } 162 243 … … 173 254 } 174 255 175 //Selvitä miksi toisen LuetDocun jälkeen kontrollit eivät lähde176 177 256 void LuetDoc(PhysicsObject doku, PhysicsObject dr) 178 257 { … … 202 281 } 203 282 204 void Luo Ase(Vector paikka, double leveys, double korkeus)205 { 206 PhysicsObject ase= PhysicsObject.CreateStaticObject(leveys, korkeus);207 ase.Position = paikka;208 ase.Color = Color.Red;209 ase.IgnoresCollisionResponse = true;210 AddCollisionHandler( ase, "stein", SaitAseen);211 Add( ase);212 } 213 214 void Sait Aseen(PhysicsObject esine, PhysicsObject dr)283 void LuoPotionhuone1(Vector paikka, double leveys, double korkeus) 284 { 285 PhysicsObject potionhuone1 = PhysicsObject.CreateStaticObject(leveys, korkeus); 286 potionhuone1.Position = paikka; 287 potionhuone1.Color = Color.Red; 288 potionhuone1.IgnoresCollisionResponse = true; 289 AddCollisionHandler(potionhuone1, "stein", SaitPotioninHuoneessa1); 290 Add(potionhuone1); 291 } 292 293 void SaitPotioninHuoneessa1(PhysicsObject esine, PhysicsObject dr) 215 294 { 216 295 esine.Destroy(); 217 296 potionLaskuri.Value += 1; 297 298 ClearControls(); 299 Timer.SingleShot(0.201, delegate { ClearControls(); }); 218 300 Timer.SingleShot(2, Cutscene1); 219 301 } 302 303 //Säädä CUTSCENE!!! 220 304 221 305 void Cutscene1() … … 223 307 LuoNainen(new Vector(-ruutuNelionSivu * 12, -ruutuNelionSivu * 1), ruutuNelionSivu, ruutuNelionSivu); 224 308 nainen.Velocity = new Vector(ruutuNelionSivu * 5, 0); 225 Timer.SingleShot(1, delegate { AsiaNopeus(nainen, 0, 0); }); 226 Timer.SingleShot(1, delegate { nainen.Velocity = new Vector(0, -ruutuNelionSivu * 5); }); 227 Timer.SingleShot(1.8, delegate { AsiaNopeus(nainen, 0, 0); }); 228 Timer.SingleShot(1.8, delegate { nainen.Velocity = new Vector(ruutuNelionSivu * 5, 0); }); 229 Timer.SingleShot(3.2, delegate { AsiaNopeus(nainen, 0, 0); }); 309 Timer.SingleShot(1, delegate { AsiaNopeus(nainen, 0, 0, 1); 310 nainen.Velocity = new Vector(0, -ruutuNelionSivu * 5); }); 311 Timer.SingleShot(1.8, delegate { AsiaNopeus(nainen, 0, 0, 1); 312 nainen.Velocity = new Vector(ruutuNelionSivu * 5, 0); }); 313 Timer.SingleShot(3.2, delegate { AsiaNopeus(nainen, 0, 0, 1); }); 314 315 Timer.SingleShot(0.4, delegate { LuoMustaTakki(new Vector(-ruutuNelionSivu * 12, -ruutuNelionSivu * 1), ruutuNelionSivu, ruutuNelionSivu); 316 mustaTakki.Velocity = new Vector(ruutuNelionSivu * 5, 0); }); 317 Timer.SingleShot(1.4, delegate { AsiaNopeus(mustaTakki, 0, 0, 1); 318 mustaTakki.Velocity = new Vector(0, -ruutuNelionSivu * 5); }); 319 Timer.SingleShot(2.4, delegate { AsiaNopeus(mustaTakki, 0, 0, 1); 320 mustaTakki.Velocity = new Vector(ruutuNelionSivu * 5, 0); }); 321 Timer.SingleShot(4, delegate { AsiaNopeus(mustaTakki, 0, 0, 1); 322 mustaTakki.Velocity = new Vector(0, ruutuNelionSivu * 5); }); 323 Timer.SingleShot(4.02, delegate { AsiaNopeus(mustaTakki, 0, 0, 1); }); 230 324 } 231 325 … … 247 341 void LuoMustaTakki(Vector paikka, double leveys, double korkeus) 248 342 { 249 PhysicsObjectmustaTakki = new PhysicsObject(leveys, korkeus);343 mustaTakki = new PhysicsObject(leveys, korkeus); 250 344 mustaTakki.Position = paikka; 251 345 mustaTakki.Color = Color.DarkGray; 252 346 mustaTakki.Restitution = 0; 253 347 mustaTakki.CanRotate = false; 348 AddCollisionHandler(mustaTakki, "stein", AloitaTaistelu); 349 AddCollisionHandler(mustaTakki, "stein", PalautaStein); 254 350 Add(mustaTakki); 255 351 } 352 353 void LuoOviEteen(Vector paikka, double leveys, double korkeus) 354 { 355 oviEteen = PhysicsObject.CreateStaticObject(leveys, korkeus); 356 oviEteen.Position = paikka; 357 oviEteen.IgnoresCollisionResponse = true; 358 AddCollisionHandler(oviEteen, "stein", SeuraavaHuone); 359 Add(oviEteen); 360 } 361 362 void SeuraavaHuone(PhysicsObject door, PhysicsObject dr) 363 { 364 huoneLaskuri.Value = huoneLaskuri.Value + 1; 365 HuoneenValo(0, 2); 366 Timer.SingleShot(1.5, delegate { HuoneenLaskuri(0); }); 367 } 368 369 void LuoOviTaakse(Vector paikka, double leveys, double korkeus) 370 { 371 oviTaakse = PhysicsObject.CreateStaticObject(leveys, korkeus); 372 oviTaakse.Position = paikka; 373 oviTaakse.IgnoresCollisionResponse = true; 374 AddCollisionHandler(oviTaakse, "stein", EdellinenHuone); 375 Add(oviTaakse); 376 } 377 378 void EdellinenHuone(PhysicsObject door, PhysicsObject dr) 379 { 380 huoneLaskuri.Value = huoneLaskuri.Value - 1; 381 HuoneenValo(0, 2); 382 Timer.SingleShot(1.5, delegate { HuoneenLaskuri(1); }); 383 } 384 385 void HuoneenValo(int x, int y) 386 { 387 if (x == 1) 388 { 389 valo.Intensity += 0.067; 390 } 391 392 else if (x == 2) 393 { 394 valo.Intensity -= 0.067; 395 } 396 397 else if (x == 0) 398 { 399 valoAjastin.Interval = 0.05; 400 valoAjastin.Timeout += delegate { HuoneenValo(y, 0); }; 401 valoAjastin.Start(15); 402 } 403 } 404 405 void PotionienLaskuri() 406 { 407 potionLaskuri.MinValue = 0; 408 potionLaskuri.MaxValue = 10; 409 } 410 411 //Laita Label("Inventory") Inventoryn yläosaan! 412 413 void InventorinTilanMuutos(int x) 414 { 415 if (x == 0) 416 { 417 ClearControls(); 418 Keyboard.Listen(Key.E, ButtonState.Pressed, InventorinTilanMuutos, null, 1); 419 420 inventory = PhysicsObject.CreateStaticObject(ruutuNelionSivu * 10, ruutuNelionSivu * 20); 421 inventory.Color = Color.LightGray; 422 inventory.IgnoresCollisionResponse = true; 423 inventory.CollisionIgnoreGroup = 1; 424 inventory.Position = new Vector(0, 0); 425 Add(inventory); 426 427 if (potionLaskuri.Value > 0) 428 { 429 potionInInv = new Label("Potion"); 430 potionInInv.Position = new Vector(-inventory.Width / 4, inventory.Height / 7 * 2.3); 431 potionInInv.Font = Font.DefaultLarge; 432 potionInInv.TextColor = Color.Red; 433 Add(potionInInv); 434 } 435 } 436 437 else if (x == 1 && potionLaskuri.Value > 0) 438 { 439 inventory.Destroy(); 440 potionInInv.Destroy(); 441 SteinKontrollit(0); 442 } 443 444 else if (x== 1) 445 { 446 inventory.Destroy(); 447 SteinKontrollit(0); 448 } 449 } 450 451 //Selvitä miksi valo ei vähene HuoneenValo(0,2); -komennolla 452 453 void AloitaTaistelu(PhysicsObject vastus, PhysicsObject dr) 454 { 455 steinLuontiPiste = stein.Position; 456 HuoneenValo(0, 2); 457 458 Timer.SingleShot(0.75, delegate { ClearGameObjects(); 459 //HuoneenValo(0, 1); 460 TileMap taistelu = TileMap.FromLevelAsset("Taistelu"); 461 taistelu.SetTileMethod('V', LuoTaistoon, 0); 462 taistelu.SetTileMethod('S', LuoTaistoon, 1); 463 taistelu.SetTileMethod('N', LuoTaistoon, 2); 464 taistelu.Execute(ruutuNelionSivu, ruutuNelionSivu); }); 465 Timer.SingleShot(1.5, delegate { LuoTaistoValikko(); }); 466 } 467 468 void LuoTaistoon(Vector paikka, double leveys, double korkeus, int x) 469 { 470 if (x == 0) 471 { 472 taistoMustaTakki = LuoTaistoOtus(paikka, leveys, korkeus, Color.DarkGray); 473 } 474 475 else if (x == 1) 476 { 477 taistoStein = LuoTaistoOtus(paikka, leveys, korkeus, Color.Green); 478 } 479 480 else if (x == 2) 481 { 482 taistoNainen = LuoTaistoOtus(paikka, leveys, korkeus, Color.Red); 483 } 484 } 485 486 PhysicsObject LuoTaistoOtus(Vector paikka, double leveys, double korkeus, Color vari) 487 { 488 PhysicsObject taistelija = new PhysicsObject(leveys, korkeus); 489 taistelija.Position = paikka; 490 taistelija.Color = vari; 491 Add(taistelija); 492 return (taistelija); 493 } 494 495 void LuoTaistoValikko() 496 { 497 Mouse.IsCursorVisible = true; 498 499 taistoKohdat = new List<Label>(); 500 501 Label taisto1 = new Label("Attack"); 502 taisto1.Position = new Vector(-160, -30); 503 taisto1.Font = Font.DefaultLarge; 504 taistoKohdat.Add(taisto1); 505 506 Label taisto2 = new Label("Defend"); 507 taisto2.Position = new Vector(-10, -30); 508 taisto2.Font = Font.DefaultLarge; 509 taistoKohdat.Add(taisto2); 510 511 Label taisto3 = new Label("Inventory"); 512 taisto3.Position = new Vector(140, -30); 513 taisto3.Font = Font.DefaultLarge; 514 taistoKohdat.Add(taisto3); 515 516 foreach (Label taistoKohta in taistoKohdat) 517 { 518 Add(taistoKohta); 519 } 520 521 Mouse.ListenOn(taisto1, MouseButton.Left, ButtonState.Pressed, SteinAttack, null); 522 Mouse.ListenOn(taisto2, MouseButton.Left, ButtonState.Pressed, SteinDefend, null); 523 Mouse.ListenOn(taisto3, MouseButton.Left, ButtonState.Pressed, InventorinTilanMuutos, null, 0); 524 Mouse.ListenMovement(1.0, TaistoKohtaHiiri, null); 525 } 526 527 void TaistoKohtaHiiri(AnalogState hiiri) 528 { 529 foreach (Label taistoKohta in taistoKohdat) 530 { 531 if (Mouse.IsCursorOn(taistoKohta)) 532 { 533 taistoKohta.TextColor = Color.Red; 534 } 535 536 else 537 { 538 taistoKohta.TextColor = Color.Blue; 539 } 540 } 541 } 542 543 void SteinAttack() 544 { 545 mustaTakkiHp.Value -= (steinDmg.Value -= mustaTakkiDef.Value); 546 } 547 548 void SteinDefend() 549 { 550 steinDef.Value += 1; 551 } 256 552 } -
2014/30/AleksiK/TToDHS/TToDHS/TToDHS/TToDHS.csproj.Debug.cachefile
r5538 r5588 1 1 Content\Labrahuone.xnb 2 Content\Taistelu.xnb 2 3 Content\Labrahuone.txt 4 Content\Taistelu.txt -
2014/30/AleksiK/TToDHS/TToDHS/TToDHS/obj/x86/Debug/ContentPipeline-{AD575754-241C-42C2-888D-1D55D1310AD8}.xml
r5538 r5588 9 9 <Options>None</Options> 10 10 <Output>C:\MyTemp\AleksiK\TToDHS\TToDHS\TToDHS\bin\x86\Debug\Content\Labrahuone.xnb</Output> 11 <Time>2014-07-22T14:40:39.5785268+03:00</Time> 11 <Time>2014-07-23T13:14:52.4586761+03:00</Time> 12 </Item> 13 <Item> 14 <Source>Taistelu.txt</Source> 15 <Name>Taistelu</Name> 16 <Importer>TextFileImporter</Importer> 17 <Processor>TextFileContentProcessor</Processor> 18 <Options>None</Options> 19 <Output>C:\MyTemp\AleksiK\TToDHS\TToDHS\TToDHS\bin\x86\Debug\Content\Taistelu.xnb</Output> 20 <Time>2014-07-23T14:40:20.4768211+03:00</Time> 12 21 </Item> 13 22 <BuildSuccessful>true</BuildSuccessful> -
2014/30/AleksiK/TToDHS/TToDHS/TToDHS/obj/x86/Debug/TToDHS.csproj.FileListAbsolute.txt
r5538 r5588 9 9 C:\MyTemp\AleksiK\TToDHS\TToDHS\TToDHS\obj\x86\Debug\TToDHS.exe 10 10 C:\MyTemp\AleksiK\TToDHS\TToDHS\TToDHS\obj\x86\Debug\TToDHS.pdb 11 C:\MyTemp\AleksiK\TToDHS\TToDHS\TToDHS\bin\x86\Debug\Content\Taistelu.xnb 12 C:\MyTemp\AleksiK\TToDHS\TToDHS\TToDHS\bin\x86\Debug\Content\Taistelu.txt -
2014/30/AleksiK/TToDHS/TToDHS/TToDHS/obj/x86/Debug/cachefile-{AD575754-241C-42C2-888D-1D55D1310AD8}-targetpath.txt
r5538 r5588 1 1 Content\Labrahuone.xnb 2 Content\Taistelu.xnb 2 3 Content\Labrahuone.txt 4 Content\Taistelu.txt -
2014/30/AleksiK/TToDHS/TToDHS/TToDHSContent/TToDHSContent.contentproj
r5538 r5588 53 53 </Compile> 54 54 </ItemGroup> 55 <ItemGroup> 56 <Compile Include="Taistelu.txt"> 57 <Name>Taistelu</Name> 58 <Importer>TextFileImporter</Importer> 59 <Processor>TextFileContentProcessor</Processor> 60 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 61 </Compile> 62 </ItemGroup> 55 63 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 56 64 <!-- 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.