diff --git a/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml b/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml index 7b08163cebc50fb3e777eea4881b68fcebc10590..a864d88ab5f12072d698e925c8637ed8577caac6 100644 --- a/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml +++ b/pelikoodi/platformerPeli/.idea/.idea.platformerPeli/.idea/indexLayout.xml @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="UserContentModel"> - <attachedFolders /> + <attachedFolders> + <Path>../../../platformerpeli-main</Path> + </attachedFolders> <explicitIncludes /> <explicitExcludes /> </component> diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt index 88315becec591452ff6d1e81627fccfa9cc49eeb..624ca0acbcafa16e913f1f7928f02ff31ee6c507 100644 --- a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt +++ b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/Content/kentta1.txt @@ -4,12 +4,12 @@ - ############## + ############## - ###### ###### + ###### ###### diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll index a905ccf9bb1e853b55835e0b2a30ab1ff61c3867..afbdc27d1159a8841b7a3aec4e5d04b25d00e93b 100644 Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.dll differ diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe index 700654386dcd0c9230e2f2f4c827039748727d91..8d0670fb258df5cc633208f15ffc38944e779a58 100644 Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.exe differ diff --git a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb index dde2da44329deaabb62019ec9bf97ddd25b67ee8..de05f0eb916f46f9747bd84554de6d112f851074 100644 Binary files a/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb and b/pelikoodi/platformerPeli/platformerPeli/bin/Debug/net8.0/platformerPeli.pdb differ diff --git a/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs b/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs index bc699998f14a68ee6e9c665ef18fc2cd32b49cd9..16898a4d0b07080f597593a041e0eae8aca410f3 100644 --- a/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs +++ b/pelikoodi/platformerPeli/platformerPeli/platformerPeli.cs @@ -9,20 +9,25 @@ namespace platformerPeli; /// <summary> /// Platformer PVP Peli /// </summary> + public class platformerPeli : PhysicsGame { - private const int RuudunKoko = 40; - private const double nopeus = 200; - private const double hyppyNopeus = 650; - private PlatformCharacter pelaaja; - private PlatformCharacter pelaaja2; - private Image pelaajankuva = LoadImage("alpha000.png"); - private Image background = LoadImage("Illustration27.png"); + private const int RuudunKoko = 40; // Kentän ruudun koko + private const double nopeus = 200; //liikkumisnopeutta + private const double hyppyNopeus = 650; //hyppyvoimaa + private PlatformCharacter pelaaja; //pelaaja 1 + private PlatformCharacter pelaaja2; //pelaaja 2 + private Image pelaajankuva = LoadImage("alpha000.png"); //lataa tyhjänkuvan minkä heti jälkeen vaihtaa animaation kanssa + private Image background = LoadImage("Illustration27.png"); //taustakuva private Image[] idleanimaatio = LoadImages("stand000", "stand001", "stand003", "stand004", "stand005", "stand006", "stand007", "stand008", "stand009", "stand010", "stand011", "stand012", "stand013", "stand014", "stand015"); private Image[] kavelyanimaatio = LoadImages("dashFront000", "dashFront001", "dashFront002", "dashFront003", "dashFront004", "dashFront005", "dashFront006"); - private Image[] hyppyanimaatio = LoadImages("jump000", "jump001", "jump003", "jump004", "jump005", "jump006", "jump007", "jump008"); - private double jumpcount = 0; - + private Image[] hyppyanimaatio = LoadImages("jump000", "jump001", "jump003", "jump004", "jump005", "jump006", "jump007", "jump008"); //nämä kolme on animaatiot mitä käytetää + private double jumpcount = 0; //lasketaan hyppy counteri + + + /// <summary> + /// kutsuu aliohjelmat joka pyörittää sitten pelin + ///</summary> public override void Begin() { Gravity = new Vector(0, -1000); @@ -38,7 +43,11 @@ public class platformerPeli : PhysicsGame LisaaAseet(); } + + /// <summary> + /// Luo kentän teksti tiedoston symbolejen avulla + /// </summary> private void LuoKentta() { TileMap kentta = TileMap.FromLevelAsset("kentta1.txt"); @@ -48,7 +57,14 @@ public class platformerPeli : PhysicsGame kentta.Execute(RuudunKoko, RuudunKoko); Camera.ZoomToLevel(); } - + + + /// <summary> + /// Luo tason + /// </summary> + /// <param name="paikka">tason paikka</param> + /// <param name="leveys">tason leveys</param> + /// <param name="korkeus">tason korkeus</param> private void LuoTaso(Vector paikka, double leveys, double korkeus) { PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); @@ -58,6 +74,13 @@ public class platformerPeli : PhysicsGame Add(taso); } + + /// <summary> + /// Luo kaksi pelaaja (on mahdollista luoda enemmän) + /// </summary> + /// <param name="paikka">Pelaajan paikka</param> + /// <param name="leveys">Pelaajan leveys</param> + /// <param name="korkeus">Pelaajan korkeus</param> private void LisaaPelaaja(Vector paikka, ref PlatformCharacter pelaaja) { pelaaja = new PlatformCharacter(52, 128); @@ -69,13 +92,23 @@ public class platformerPeli : PhysicsGame pelaaja.AnimIdle.Start(); Add(pelaaja); } - + + + /// <summary> + /// Lisää aseet pelaajoille + /// </summary> private void LisaaAseet() { LisaaAse(pelaaja); LisaaAse(pelaaja2); } - + + + /// <summary> + /// Luodaan itse ase ja sen ominaisuus + /// </summary> + /// <param name="pelaaja.Weapon">Pelaajan ase</param> + /// <param name="Image">tehdään aseesta läpinäkymätön jotta ei menisi spriten päälle</param> private void LisaaAse(PlatformCharacter pelaaja) { if (pelaaja != null) @@ -89,12 +122,21 @@ public class platformerPeli : PhysicsGame }; } } + + + /// <summary> + /// Lisätään musiikkia ja pistetään loopille + /// </summary> private void LisaaMusiikki() { MediaPlayer.Play("Twin_Crystal.wav"); MediaPlayer.IsRepeating = true; } + + /// <summary> + /// näppäimet + /// </summary> private void LisaaNappaimet() { Keyboard.Listen(Key.W, ButtonState.Pressed, () => Hyppaa(pelaaja, hyppyNopeus), "Pelaaja 1: Hyppää"); @@ -110,26 +152,39 @@ public class platformerPeli : PhysicsGame PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); } - + + + /// <summary> + /// hahmo liikkuu + /// </summary> private void Liikuta(PlatformCharacter pelaaja, double nopeus) { pelaaja.Walk(nopeus); } - + + + /// <summary> + /// suorittaa hypyn tässä + /// </summary> private void Hyppaa(PlatformCharacter pelaaja, double hyppyNopeus) { - if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) + if (pelaaja != null && (PelaajaOnMaassa(pelaaja) || jumpcount < 2)) //kattoo onko maassa tai hyppiny liian vähän { if (jumpcount == 1) { - pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus); + pelaaja.Velocity = new Vector(pelaaja.Velocity.X, hyppyNopeus); //jottei hypyn vauhti muuttuisi gravityn takia } pelaaja.Jump(hyppyNopeus); - jumpcount++; - pelaaja.LoopJumpAnim = true; + jumpcount++; //lasketaan hyppyjä + pelaaja.LoopJumpAnim = true; //pyöritään animaatio ilmassa } } + + /// <summary> + /// Ollaanko varmasti maassa + /// </summary> + /// <returns> ollaanko iha varmasti maassa </returns> private bool PelaajaOnMaassa(PlatformCharacter pelaaja) { foreach (var obj in GetAllObjects()) @@ -141,28 +196,36 @@ public class platformerPeli : PhysicsGame pelaaja.Bottom >= physicsObj.Top - 5) { jumpcount = 0; - return true; + return true; //jos ollaan maassa } } } return false; } + + /// <summary> + /// ammutaan aseella + /// </summary> private void AmmuAseella(PlatformCharacter pelaaja) { - if (pelaaja?.Weapon != null) + if (pelaaja.Weapon != null) { PhysicsObject ammus = pelaaja.Weapon.Shoot(); if (ammus != null) { ammus.Size *= 3; - ammus.Image = LoadImage("ThrowingKnife.png"); + ammus.Image = LoadImage("ThrowingKnife.png"); //ammos on puukko ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); } } } + + /// <summary> + /// katsotaan kumpi voittaa ja kumpi tuhoutuu + /// </summary> private void AmmusOsui(PhysicsObject ammus, PhysicsObject target) { if (target == pelaaja2) @@ -177,6 +240,10 @@ public class platformerPeli : PhysicsGame } } + + /// <summary> + /// PeliLopun jälkeen valinta ikkuna + /// </summary> private void ShowEndMenu(string message) { ClearControls(); @@ -195,15 +262,25 @@ public class platformerPeli : PhysicsGame exitButton.Clicked += ExitGame; Add(exitButton); } - + + + /// <summary> + /// alottaa alusta + /// </summary> private void RestartGame() { ClearAll(); Begin(); } + + /// <summary> + /// Lopettaa pelin + /// </summary> private void ExitGame() { Exit(); } + + }