diff --git "a/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" "b/peli/harkkaty\303\266/pomppu possu/pomppu possu.cs" index 1f172124c3b2e2a3892e58db4832eee7524a57e2..60d6f2667f3b7fd9c0c45f341bc2590d259f7c79 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 }