diff --git "a/peli/harkkaty\303\266/pomppu possu/Content/kentta1.txt" "b/peli/harkkaty\303\266/pomppu possu/Content/kentta1.txt" index c8be7dd6c19f78896070fed66c8382b82a9423ee..b9d9c18b478b47da255e5745909a2a5264ffbf5b 100644 --- "a/peli/harkkaty\303\266/pomppu possu/Content/kentta1.txt" +++ "b/peli/harkkaty\303\266/pomppu possu/Content/kentta1.txt" @@ -1,17 +1,18 @@ - * - ## - - * * - ## ## - - * * - ## ## ## - - * * * * - ## ## ## ## - - * * * * - ## ## ## ## ## - - N -###################### + + * + ## + + * * + ## ## + + * * + ## ## ## + + * * * * + ## ## ## ## + + * * * * + ## ## ## ## ## + + N +########################### diff --git "a/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" "b/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" index 21510a85692ced7596a985d792c53d5263eab15b..7e9384d108800c460f837a4690d06a1c72219909 100644 --- "a/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" @@ -1,6 +1,10 @@ namespace pomppu_possu; using Jypeli; - +/// <summary> +/// Megaporkkanat niminen olio, joka luo Megaporkkanat nimisen physics object luokan +/// Tänne on myös sisällytetty aliohjelmat megaporkkanoiden keräämistä +/// ja tuhoamista varten. +/// </summary> public class Megaporkkanat : PhysicsObject { @@ -9,6 +13,8 @@ public class Megaporkkanat : PhysicsObject { _osumat = 0; } + + /// <summary> /// Aliohjelma, joka käsittelee osumat megaporkkanoihin. /// Havaitessaan osuman, aliohjema kutsuu toista aliohjelmaa, @@ -25,6 +31,8 @@ public class Megaporkkanat : PhysicsObject } } + + /// <summary> /// Aliohjelma, joka tuhoaa megaporkkanan. /// </summary> @@ -34,5 +42,6 @@ public class Megaporkkanat : PhysicsObject } + } \ No newline at end of file diff --git "a/peli/harkkaty\303\266/pomppu possu/Tasot.cs" "b/peli/harkkaty\303\266/pomppu possu/Tasot.cs" index 1f6ff950bd67cf62d7de8d239a216ccc24917199..429cc9b3ad15ff02f26691be494b62e89e843b32 100644 --- "a/peli/harkkaty\303\266/pomppu possu/Tasot.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/Tasot.cs" @@ -1,6 +1,8 @@ namespace pomppu_possu; using Jypeli; - +/// <summary> +/// Tasot niminen olio, joka luo Tasot nimisen physics object luokan +/// </summary> public class Tasot : PhysicsObject { public Tasot(double leveys, double korkeus) diff --git "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" index 3ec74e14ddf60e515c7d8985713bf5b6e1e6336f..9b008bcf2e3bdfb32d800de8de30a22f3c011e51 100644 --- "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" @@ -7,10 +7,11 @@ using Jypeli.Widgets; namespace pomppu_possu; -/// @author suvitoivanen -/// @version 14.02.2025 +/// @author suvitoivanen, leosaksa +/// @version 02.04.2025 /// <summary> -/// Eeppinen tasohyppely peli +/// Eeppinen tasohyppely peli, jossa pelaajan tehtävä on kerätä kaikki +/// kartalta löytyvät megaporkkanat (13kpl) /// </summary> public class PomppuPossu : PhysicsGame { @@ -25,13 +26,14 @@ public class PomppuPossu : PhysicsGame private SoundEffect _pisteAani = LoadSoundEffect("maali.wav"); private IntMeter pelaajanPisteet; + + /// <summary> -/// Pääohjelma luo kentän ja näppäinkomennot. +/// Pääohjelma kutsuu kentän luovaa aliohjelmaa ja luo näppäinkomennot. /// </summary> public override void Begin() { - Gravity = new Vector(0, -1000); - + LuoKentta(); LisaaLaskuri(); @@ -40,6 +42,7 @@ public class PomppuPossu : PhysicsGame Camera.StayInLevel = true; MasterVolume = 0.5; Level.CreateBorders(); + Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pomppuPossu, HYPPYNOPEUS); Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa vasemmalle", pomppuPossu, -NOPEUS); @@ -47,18 +50,23 @@ public class PomppuPossu : PhysicsGame Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); } + + /// <summary> - /// Funktio luo kentän hyödyntäen txt tiedostoa. + /// Funktio luo kentän hyödyntäen txt tiedostoa ja lisää painovoiman. /// </summary> private void LuoKentta() { TileMap kentta = TileMap.FromLevelAsset("kentta1.txt"); + Gravity = new Vector(0, -1000); kentta.SetTileMethod('#', LisaaTaso); kentta.SetTileMethod('N', LisaaPelaaja); kentta.SetTileMethod('*', LisaaPorkkana); kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); Level.Background.CreateGradient(Color.White, Color.SkyBlue); } + + /// <summary> /// Funktio lisää kerättävät objektit kentälle /// </summary> @@ -73,6 +81,8 @@ public class PomppuPossu : PhysicsGame megaporkkana.Image = _porkkanaKuva; Add(megaporkkana); } + + /// <summary> /// Funktio lisää tasot kentälle. /// </summary> @@ -87,6 +97,8 @@ public class PomppuPossu : PhysicsGame taso.MakeStatic(); Add(taso); } + + /// <summary> /// Funktio lisää pelaajan kentälle. /// </summary> @@ -102,6 +114,8 @@ public class PomppuPossu : PhysicsGame AddCollisionHandler<PhysicsObject, Megaporkkanat>(pomppuPossu, TormattiinEsineeseen); Add(pomppuPossu); } + + /// <summary> /// Funktio luo liikkeen sivuille pelaajalle, jota kutsutaan näppäimistöllä. /// </summary> @@ -111,6 +125,8 @@ public class PomppuPossu : PhysicsGame { pomppuPossu.Walk(nopeus); } + + /// <summary> /// Funktio luo liikkeen ylöspäin, jota kutsutaan näppäimistöllä. /// </summary> @@ -120,6 +136,8 @@ public class PomppuPossu : PhysicsGame { pomppuPossu.Jump(nopeus); } + + /// <summary> /// Funktio käsittelee törmäykset. /// Törmäyksen yhteydessä tuhotaan porkkana, @@ -137,6 +155,7 @@ public class PomppuPossu : PhysicsGame } + /// <summary> /// Liikuttaa fysiikkaoliota. /// </summary> @@ -146,16 +165,18 @@ public class PomppuPossu : PhysicsGame { liikuteltava.Push(suunta); } - /// <summary> - /// Aliohjelma luo pistelaskurin - /// </summary> - /// <param name="x">laskurin x-koordinaatti näytöllä</param> - /// <param name="y">laskurin y-koordinaatti näytöllä</param> - /// <returns>Laskuri</returns> + + + /// <summary> + /// Aliohjelma luo pistelaskurin + /// </summary> + /// <param name="x">laskurin x-koordinaatti näytöllä</param> + /// <param name="y">laskurin y-koordinaatti näytöllä</param> + /// <returns>Laskuri</returns> IntMeter LuoPisteLaskuri(double x, double y) { IntMeter laskuri = new IntMeter(0); - laskuri.MaxValue = 13; + Label naytto = new Label(); naytto.BindTo(laskuri); @@ -168,6 +189,8 @@ public class PomppuPossu : PhysicsGame return laskuri; } + + /// <summary> /// Lisää Laskurin peliin ja määrittää sen sijainnin näytöllä /// </summary>