From 50040806f3302fecb1d2fa9e66eb30970e764bc9 Mon Sep 17 00:00:00 2001 From: Salonen Leo Sakari <leo.s.salonen@student.jyu.fi> Date: Wed, 26 Mar 2025 11:01:44 +0200 Subject: [PATCH] =?UTF-8?q?Lis=C3=A4sin=20painovoiman=20ja=20hypp=C3=A4mis?= =?UTF-8?q?en=20pelaajalle,=20kuvat=20ja=20=C3=A4=C3=A4ni=20eiv=C3=A4t=20e?= =?UTF-8?q?dellenk=C3=A4=C3=A4n=20k=C3=A4=C3=A4nny=20;(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pomppu possu/pomppu possu.cs" | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" index 1f17212..60d6f26 100644 --- "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" +++ "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" @@ -18,14 +18,18 @@ namespace pomppu_possu; /// Vaihtelin muutamia nimiä, kun herjasi niitä keltasena public class PomppuPossu : PhysicsGame { - private Image _pomppuPossunKuva = LoadImage("pomppupossu.png"); - private Image _porkkanaKuva = LoadImage("porkkananKuva.png"); + private const double NOPEUS = 200; + private const double HYPPYNOPEUS = 750; + private const int RUUDUN_KOKO = 40; - private SoundEffect _pisteAani = LoadSoundEffect("maali.wav"); + private PlatformCharacter pomppuPossu; + // private Image _pomppuPossunKuva = LoadImage("pomppupossu.png"); + // private Image _porkkanaKuva = LoadImage("porkkananKuva.png"); + + // private SoundEffect _pisteAani = LoadSoundEffect("maali.wav"); public override void Begin() { - // Lisäsin painovoiman Gravity = new Vector(0, -1000); Level.Size = new Vector(1920, 1080); @@ -35,14 +39,16 @@ public class PomppuPossu : PhysicsGame Level.CreateBorders(); Level.Background.Color = Color.SpringGreen; - PhysicsObject pomppuPossu = new PhysicsObject(30, 80, Shape.Rectangle); - pomppuPossu.Image = _pomppuPossunKuva; + PlatformCharacter pomppuPossu = new PlatformCharacter(30, 80, Shape.Rectangle); + // pomppuPossu.Image = _pomppuPossunKuva; + pomppuPossu.Mass = 4.0; Add(pomppuPossu); + + - Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa ylös", pomppuPossu, new Vector(0,1000)); - Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa alas", pomppuPossu, new Vector(0,-1000)); - Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa vasemmalle", pomppuPossu, new Vector(-1000,0)); - Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikuttaa pelaajaa oikealle", pomppuPossu, new Vector(1000,0)); + 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++) { @@ -50,7 +56,8 @@ public class PomppuPossu : PhysicsGame Megaporkkanat megaporkkana = new Megaporkkanat(60, 60, varit); megaporkkana.Shape = Shape.Circle; megaporkkana.Position = RandomGen.NextVector(Level.BoundingRect); - megaporkkana.Image = _porkkanaKuva; + megaporkkana.MakeStatic(); + // megaporkkana.Image = _porkkanaKuva; AddCollisionHandler<PhysicsObject, Megaporkkanat>(pomppuPossu, megaporkkana, TormattiinEsineeseen); Add(megaporkkana); } @@ -66,11 +73,21 @@ public class PomppuPossu : PhysicsGame Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); } + + private void Liikuta(PlatformCharacter pomppuPossu, double nopeus) + { + pomppuPossu.Walk(nopeus); + } + + private void Hyppaa(PlatformCharacter pomppuPossu, double nopeus) + { + pomppuPossu.Jump(nopeus); + } public void TormattiinEsineeseen(PhysicsObject tormaaja, Megaporkkanat kohde) { kohde.OtaVastaanOsuma(); - _pisteAani.Play(); // Yritin lisätä megaporkkanoihin, en osannu xD + // _pisteAani.Play(); // Yritin lisätä megaporkkanoihin, en osannu xD MessageDisplay.Add("Megaporkkana kerätty!"); //Lisäsin viestin } -- GitLab