diff --git a/.DS_Store b/.DS_Store index 2d657bb3152e5309b31e9e26d7d540296806d600..e0f6fd6064475d446dbbc19cc4778f0affaa3630 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/peli/.DS_Store b/peli/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..461bc5d65c41e6a54aac1a4a85d78dbc481f4d4f Binary files /dev/null and b/peli/.DS_Store differ diff --git "a/peli/harkkaty\303\266/.DS_Store" "b/peli/harkkaty\303\266/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..53864099fe187f3309343fae4898378bf69fa136 Binary files /dev/null and "b/peli/harkkaty\303\266/.DS_Store" differ diff --git "a/peli/harkkaty\303\266/pomppu possu/.DS_Store" "b/peli/harkkaty\303\266/pomppu possu/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..321d22dd24de3a3467104ef22cd0a6c886c30e3b Binary files /dev/null and "b/peli/harkkaty\303\266/pomppu possu/.DS_Store" differ diff --git "a/peli/harkkaty\303\266/pomppu possu/Content/.DS_Store" "b/peli/harkkaty\303\266/pomppu possu/Content/.DS_Store" new file mode 100644 index 0000000000000000000000000000000000000000..c11fe1de2bf7b96cade3a1c1247120494cd8b46f Binary files /dev/null and "b/peli/harkkaty\303\266/pomppu possu/Content/.DS_Store" differ diff --git "a/peli/harkkaty\303\266/pomppu possu/Content/porkkananKuva.png" "b/peli/harkkaty\303\266/pomppu possu/Content/porkkananKuva.png" deleted file mode 100644 index c7be6ec5026d7e5796e80d33719057e0b84aeb8d..0000000000000000000000000000000000000000 Binary files "a/peli/harkkaty\303\266/pomppu possu/Content/porkkananKuva.png" and /dev/null differ diff --git "a/peli/harkkaty\303\266/pomppu possu/Content/porkkananKuva3.png" "b/peli/harkkaty\303\266/pomppu possu/Content/porkkananKuva3.png" new file mode 100644 index 0000000000000000000000000000000000000000..9b5b1c7582ae1d8d7961230cf0605710ad08c013 Binary files /dev/null and "b/peli/harkkaty\303\266/pomppu possu/Content/porkkananKuva3.png" differ diff --git "a/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" "b/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" index 55387b6aafcfbbb68a5a40f8c8509205d449ab79..24ce2c1839894e5803c87945fd6b47bf267425d7 100644 --- "a/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/Megaporkkanat.cs" @@ -2,14 +2,12 @@ using Jypeli; public class Megaporkkanat : PhysicsObject + { - private Color[] _varit; // Yksityinen oliomuuttuja private int _osumat; - public Megaporkkanat(double leveys, double korkeus, Color[] varit) : base(leveys, korkeus) + public Megaporkkanat(double leveys, double korkeus) : base(leveys, korkeus) { - _varit = varit; _osumat = 0; - Color = varit[0]; } public void OtaVastaanOsuma() @@ -19,14 +17,11 @@ public class Megaporkkanat : PhysicsObject { TuhoaPalikka(); } - else Color = _varit[_osumat]; } public void TuhoaPalikka() { - // Yritin lisätä äänen megaporkkanan keräämisestä ja viestin - // _pisteAani.Play(); this.Destroy(); } } \ 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 b81e19783d74ba2ef6b5f1cdaf1a7f8b345ddedd..1f6ff950bd67cf62d7de8d239a216ccc24917199 100644 --- "a/peli/harkkaty\303\266/pomppu possu/Tasot.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/Tasot.cs" @@ -1,12 +1,11 @@ namespace pomppu_possu; using Jypeli; -public class Tasot : Megaporkkanat +public class Tasot : PhysicsObject { public Tasot(double leveys, double korkeus) - : base(leveys, korkeus,new Color[] { Jypeli.Color.Pink, Jypeli.Color.SeaGreen, Jypeli.Color.Black }) + : base(leveys, korkeus, Jypeli.Shape.Rectangle) { - } } \ No newline at end of file diff --git "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" index 624a56885fba52eb4fd7f5d19db0deeb9837e133..57083d000d15d5eece84e7efd998d8f8206bcdd5 100644 --- "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" @@ -12,107 +12,120 @@ namespace pomppu_possu; /// <summary> /// Eeppinen tasohyppely peli /// </summary> -/// Kenttä pitää vielä luoda tekstitiedostoa käyttäen -/// Täytyy lisätä hyppy käskyihin -/// Lisäsin kuvat Content kansioon mutta ohjelma ei käänny nyt -/// Vaihtelin muutamia nimiä, kun herjasi niitä keltasena public class PomppuPossu : PhysicsGame { private const double NOPEUS = 200; private const double HYPPYNOPEUS = 750; - private const int RUUDUN_KOKO = 40; + private const int RUUDUN_KOKO = 60; private PlatformCharacter pomppuPossu; - // private Image pomppuPossunKuva = LoadImage("pomppupossu.png"); - // private Image porkkanaKuva = LoadImage("porkkananKuva.png"); - - // private SoundEffect _pisteAani = LoadSoundEffect("maali.wav"); + private Image _pomppuPossunKuva = LoadImage("pomppupossu.png"); + private Image _porkkanaKuva = LoadImage("porkkananKuva3.png"); + private SoundEffect _pisteAani = LoadSoundEffect("maali.wav"); +/// <summary> +/// Pääohjelma luo kentän ja näppäinkomennot. +/// </summary> public override void Begin() { Gravity = new Vector(0, -1000); LuoKentta(); - Level.Size = new Vector(1920, 1080); - SetWindowSize(1920, 1080); - CenterWindow(); - Camera.ZoomToAllObjects(100); + Camera.Follow(pomppuPossu); + Camera.ZoomFactor = 1.2; + Camera.StayInLevel = true; + MasterVolume = 0.5; Level.CreateBorders(); - Level.Background.Color = Color.SpringGreen; - - // PlatformCharacter pomppuPossu = new PlatformCharacter(30, 80, Shape.Rectangle); - // pomppuPossu.Image = _pomppuPossunKuva; - //pomppuPossu.Mass = 4.0; - // Add(pomppuPossu); - - Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pomppuPossu, HYPPYNOPEUS); Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa vasemmalle", pomppuPossu, -NOPEUS); Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa oikealle", pomppuPossu, NOPEUS); - - for (int i = 0; i < 10; i++) - { - Color[] varit = { Color.Black, Color.White }; - Megaporkkanat megaporkkana = new Megaporkkanat(60, 60, varit); - megaporkkana.Shape = Shape.Circle; - megaporkkana.Position = RandomGen.NextVector(Level.BoundingRect); - megaporkkana.MakeStatic(); - // megaporkkana.Image = _porkkanaKuva; - AddCollisionHandler<PhysicsObject, Megaporkkanat>(pomppuPossu, megaporkkana, TormattiinEsineeseen); - Add(megaporkkana); - } - // tein version jossa tasot luodaan omalla aliohjelmalla - //for (int i = 0; i < 5; i++) - //{ - // Tasot paikallaan = new Tasot(150, 20); - // paikallaan.MakeStatic(); - // paikallaan.Position = RandomGen.NextVector(Level.BoundingRect); - // Add(paikallaan); - //} - Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); } - // loin kentän aliohjelmaa käyttäen, jotta saadaan + /// <summary> + /// Funktio luo kentän hyödyntäen txt tiedostoa. + /// </summary> private void LuoKentta() { TileMap kentta = TileMap.FromLevelAsset("kentta1.txt"); 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> + /// <param name="paikka">Mihin objekti tulee kentällä</param> + /// <param name="leveys">Leveys</param> + /// <param name="korkeus">Korkeus</param> + private void LisaaPorkkana(Vector paikka, double leveys, double korkeus) + { + Megaporkkanat megaporkkana = new Megaporkkanat(60, 60); + megaporkkana.Position = paikka; + megaporkkana.MakeStatic(); + megaporkkana.Image = _porkkanaKuva; + Add(megaporkkana); + } +/// <summary> +/// Funktio lisää tasot kentälle. +/// </summary> +/// <param name="paikka">paikka</param> +/// <param name="leveys">leveys</param> +/// <param name="korkeus">korkeus</param> private void LisaaTaso(Vector paikka, double leveys, double korkeus) { - Tasot taso = new Tasot(leveys, korkeus); + Tasot taso = new Tasot(leveys, 0.5*korkeus); taso.Position = paikka; + taso.Color = Color.SpringGreen; + taso.MakeStatic(); Add(taso); } +/// <summary> +/// Funktio lisää pelaajan kentälle. +/// </summary> +/// <param name="paikka">paikka</param> +/// <param name="leveys">leveys</param> +/// <param name="korkeus">korkeus</param> private void LisaaPelaaja(Vector paikka, double leveys, double korkeus) { - pomppuPossu = new PlatformCharacter(leveys, korkeus); + pomppuPossu = new PlatformCharacter(60, 60); pomppuPossu.Position = paikka; pomppuPossu.Mass = 4.0; - //pomppuPossu.Image = pomppuPossunKuva; - //AddCollisionHandler(pomppuPossu, "tahti", TormaaTahteen); + pomppuPossu.Image = _pomppuPossunKuva; + AddCollisionHandler<PhysicsObject, Megaporkkanat>(pomppuPossu, TormattiinEsineeseen); Add(pomppuPossu); } +/// <summary> +/// Funktio luo liikkeen sivuille pelaajalle, jota kutsutaan näppäimistöllä. +/// </summary> +/// <param name="pomppuPossu">pelaaja</param> +/// <param name="nopeus">liike</param> private void Liikuta(PlatformCharacter pomppuPossu, double nopeus) { pomppuPossu.Walk(nopeus); } - +/// <summary> +/// Funktio luo liikkeen ylöspäin, jota kutsutaan näppäimistöllä. +/// </summary> +/// <param name="pomppuPossu">pelaaja</param> +/// <param name="nopeus">liike</param> private void Hyppaa(PlatformCharacter pomppuPossu, double nopeus) { pomppuPossu.Jump(nopeus); } - +/// <summary> +/// Funktio käsittelee törmäykset. +/// </summary> +/// <param name="tormaaja">pelaaja</param> +/// <param name="kohde">kerättävät pisteet</param> public void TormattiinEsineeseen(PhysicsObject tormaaja, Megaporkkanat kohde) { kohde.OtaVastaanOsuma(); - // _pisteAani.Play(); // Yritin lisätä megaporkkanoihin, en osannu xD + _pisteAani.Play(); MessageDisplay.Add("Megaporkkana kerätty!"); //Lisäsin viestin } @@ -125,8 +138,6 @@ public class PomppuPossu : PhysicsGame { liikuteltava.Push(suunta); } - // Pomppu possun megamaailma - } diff --git "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.csproj" "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.csproj" index aee6acf37bade12bf0353105f34a738581556d78..c33aa1b8ed79bac07c392a8b6d433bb94b61d24c 100644 --- "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.csproj" +++ "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.csproj" @@ -18,4 +18,19 @@ <Content Include="Content\Content\.DS_Store" /> </ItemGroup> + <ItemGroup> + <None Update="Content\porkkananKuva3.png"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Update="Content\pomppupossu.png"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Update="Content\maali.wav"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + <None Update="Content\kentta1.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </None> + </ItemGroup> + </Project>