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