From 55a5273714ef790018c52799144115b316d23a6a Mon Sep 17 00:00:00 2001 From: Kopperoinen Paulus <paulus.j.kopperoinen@student.jyu.fi> Date: Thu, 26 Oct 2023 21:16:30 +0300 Subject: [PATCH] =?UTF-8?q?Uusia=20aliohjelmia=20ja=20omenoille=20kentt?= =?UTF-8?q?=C3=A4=C3=A4n=20lis=C3=A4=C3=A4mismekanismi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Matopeli/Matopeli/Matopeli.cs | 75 ++++++++++++++++++++++++++++++----- 1 file changed, 66 insertions(+), 9 deletions(-) diff --git a/Matopeli/Matopeli/Matopeli.cs b/Matopeli/Matopeli/Matopeli.cs index 1793b20..2b5e9c8 100644 --- a/Matopeli/Matopeli/Matopeli.cs +++ b/Matopeli/Matopeli/Matopeli.cs @@ -53,16 +53,22 @@ public class Matopeli : PhysicsGame ClearAll(); // Background.Image = LoadImage("kenttatausta"); //LuoTausta(); + + AloitaUusiPeli(); + } + public void AloitaUusiPeli() + { + pisteet.Value = 0; TileMap seinat = TileMap.FromStringArray(kentta); seinat.SetTileMethod('-',LuoSeina); seinat.SetTileMethod('m',LuoMatopaa); seinat.SetTileMethod('o',LuoOmena); - seinat.SetTileMethod('k',LuoMatokeho); + //seinat.SetTileMethod('k',LuoMatokeho); seinat.Execute(seinaleveys, seinakorkeus); - + ArvotaanOmena(kentta); + Matoliikkeelle(); } - private void LuoSeina(Vector paikka, double leveys, double korkeus) { PhysicsObject seina = new PhysicsObject(leveys, korkeus); @@ -76,6 +82,7 @@ public class Matopeli : PhysicsGame PhysicsObject omena = new PhysicsObject(leveys, korkeus); omena.Position = paikka; omena.Image = omenakuva; + omena.Tag = "omena"; Add(omena); } @@ -84,15 +91,65 @@ public class Matopeli : PhysicsGame PhysicsObject matopaa = new PhysicsObject(leveys, korkeus); matopaa.Position = paikka; matopaa.Image = Matopeli.matopaakuva; + matopaa.Tag = matopaa; + AddCollisionHandler(matopaa, "omena", delegate(IPhysicsObject matopaa, IPhysicsObject omena) { MatosyoOmenan(omena); pisteet.Value += 1; }); + Timer lahtoaika = new Timer(); + lahtoaika.Interval = 1.5; Add(matopaa); + lahtoaika.Timeout += KaannyOikea(matopaa); + } + + //private void LuoMatokeho(Vector paikka, double leveys, double korkeus) + //{ + // PhysicsObject matokeho = new PhysicsObject(leveys, korkeus); + //matokeho.Position = paikka; + //matokeho.Image = matokehokuva; + //Add(matokeho); + //}) + private void AsetaOhjaimet() + { + Keyboard.Listen(Key.Up, ButtonState.Down, KaannyYlos, "Turn upwards"; + Keyboard.Listen(Key.Down, ButtonState.Down, KaannyAlas, "Turn downwards"; + Keyboard.Listen(Key.Left, ButtonState.Down, KaannaVasen, "Turn left"; + Keyboard.Listen(Key.Right, ButtonState.Down, KaannaOikea, "Turn right"; + } + private void ArvotaanOmena(string[]t) + { + int x = t.GetLength(0); + int y = t.GetLength(1); + int ix = RandomGen.NextInt(1, x - 1); + int iy = RandomGen.NextInt(1, y - 1); + Vector paikka = (ix, iy); + LuoOmena(paikka, seinaleveys, seinakorkeus); } - private void LuoMatokeho(Vector paikka, double leveys, double korkeus) + + + private void MatosyoOmenan(IPhysicsObject omena) { - PhysicsObject matokeho = new PhysicsObject(leveys, korkeus); - matokeho.Position = paikka; - matokeho.Image = matokehokuva; - Add(matokeho); + + pisteet+; + omena.Destroy(); } - + + private void KaannyVasen(IPhysicsObject matopaa) + { + + } + + private void KaannyOikea(IPhysicsObject matopaa) + { + matopaa.Push(new Vector(1000, 0)); + pelaaja1.MaxVelocity = 200; + } + + private void KaannyAlas(IPhysicsObject matopaa) + { + + } + + private void KaannyYlos(IPhysicsObject matopaa) + { + } +} -- GitLab