diff --git a/Matopeli/Matopeli/Matopeli.cs b/Matopeli/Matopeli/Matopeli.cs
index 5874291e99201d614f14f82389ff01dcff623bac..b958796ba9477c8c4cee35882dad5e77225dc8b1 100644
--- a/Matopeli/Matopeli/Matopeli.cs
+++ b/Matopeli/Matopeli/Matopeli.cs
@@ -1,173 +1,189 @@
-using System;
 using System.Collections.Generic;
-using System.Runtime.ExceptionServices;
-using System.Xml.Serialization;
+using System.Security.Cryptography.X509Certificates;
 using Jypeli;
 using Jypeli.Assets;
 using Jypeli.Controls;
-using Jypeli.Effects;
 using Jypeli.Widgets;
 
-
-namespace Matopeli;
+namespace matopeli;
 
 /// @author Omanimi
-/// @version 26.10.2023
+/// @version 30.10.2023
 /// <summary>
 /// 
 /// </summary>
-    public class Matopeli : PhysicsGame
+public class matopeli : PhysicsGame
+{
+    private Objektit Mato;
+    public double MatoX;
+    public double MatoY;
+    public int SuuntaX;
+    public int SuuntaY;
+    
+    private static readonly Image seinakuva = LoadImage("seina.png");
+    private static readonly Image matopaakuva = LoadImage("matopaa.png");
+    private readonly Image matokehokuva = LoadImage("matokeho.png");
+    private readonly Image omenakuva = LoadImage("omena.png");
+    private readonly Image kenttatausta = LoadImage("kenttatausta.png");
+    
+    private bool SuuntaYlos = false;
+    private bool SuuntaAlas = false;
+    private bool SuuntaOikea = false;
+    private bool SuuntaVasen = false;
+    
+    public override void Begin()
     {
+        // Kirjoita ohjelmakoodisi tähän
 
-        private static readonly string[] kentta ={
-            "---------------",
-            "-             -",
-            "-             -",
-            "-             -",
-            "-             -",
-            "-             -",
-            "-    m        -",
-            "-             -",
-            "-             -",
-            "-             -",
-            "-             -",
-            "-             -",
-            "-             -",
-            "---------------",
-        };
-        private int seinaleveys= 600 / kentta.Length;
-        private int seinakorkeus = 600 / kentta.Length;
-
-        private static readonly Image seinakuva = LoadImage("seina.png");
-        private static readonly Image matopaakuva = LoadImage("matopaa.png");
-        private readonly Image matokehokuva = LoadImage("matokeho.png");
-        private readonly Image omenakuva = LoadImage("omena.png");
-        private readonly Image kenttatausta = LoadImage("kenttatausta.png");
-
-        private LiikkuvaMato mato;
-        private LiikkuvaMato omena;
+        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
+        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
+        AloitaUusiPeli();
         
-        public readonly IntMeter pisteet = new IntMeter(0);
+    }
 
+    public void AloitaUusiPeli()
+    {
+        ClearAll();
+        SuuntaAlas = true;
+        LuoMato();
+        Asetaohjaimet();
+        LuoAikalaskuri();
+    }
+    private void Asetaohjaimet()
+    {
+        Keyboard.Listen(Key.Up, ButtonState.Pressed, VaihdaSuuntaYlos, "Turn upwards");
+        Keyboard.Listen(Key.Down, ButtonState.Pressed, VaihdaSuuntaAlas, "Turn downwards");
+        Keyboard.Listen(Key.Left, ButtonState.Pressed, VaihdaSuuntaVasen , "Turn left");
+        Keyboard.Listen(Key.Right, ButtonState.Pressed, VaihdaSuuntaOikea, "Turn right");
+    }
+    public PhysicsObject LuoMato()
+    {
+        Mato = new Objektit(60, 60, new Vector(0,0));
+        Mato.Color = Color.Charcoal;
+        Mato.Position = new Vector(0, 0);
+        Add(Mato);
+        Mato.Tag = "mato";
+        return Mato;
+    }
 
-        public override void Begin()
+     private void VaihdaSuuntaYlos()
         {
-            ClearAll();
-           // Background.Image = LoadImage("kenttatausta");
-            //LuoTausta();
-        
-            AloitaUusiPeli();
+            
+            if (SuuntaAlas==true)
+            {
+                SuuntaOikea = false;
+                SuuntaVasen = false;
+                SuuntaYlos = false;
+                SuuntaAlas = true;
+            }
+            else
+            {
+                SuuntaOikea = false;
+                SuuntaVasen = false;
+                SuuntaYlos = true;
+                SuuntaAlas = false;
+            }
         }
-
-        public void AloitaUusiPeli()
+     
+     private void VaihdaSuuntaAlas()
         {
-            // pisteet.Value = 0;
-
-            TileMap seinat = TileMap.FromStringArray(kentta);
-            seinat.SetTileMethod('-', LuoSeina);
-            seinat['m'] = LuoMato;
-            //seinat.SetTileMethod('k',LuoMatokeho);
-            seinat.Insert(seinaleveys, seinakorkeus);
-            Asetaohjaimet();
-
-            seinat.Execute(seinaleveys, seinakorkeus);
-            LuoOmena();
+            if (SuuntaYlos==true)
+            {
+                SuuntaOikea = false;
+                SuuntaVasen = false;
+                SuuntaYlos = true;
+                SuuntaAlas = false;
+            }
+            else
+            {
+                SuuntaOikea = false;
+                SuuntaVasen = false;
+                SuuntaYlos = false;
+                SuuntaAlas = true;
+            }
         }
-
-
-
-        private void Asetaohjaimet()
+        
+     private void VaihdaSuuntaOikea()
         {
-            Keyboard.Listen(Key.Up, ButtonState.Down, KaannyYlos, "Turn upwards");
-            Keyboard.Listen(Key.Down, ButtonState.Down, KaannyAlas, "Turn downwards");
-            Keyboard.Listen(Key.Left, ButtonState.Down, KaannyVasen, "Turn left");
-            Keyboard.Listen(Key.Right, ButtonState.Down, KaannyOikea, "Turn right");
-        }
+            if (SuuntaVasen == true)
+            {
+                
+                SuuntaOikea = false;
+                SuuntaVasen = true;
+                SuuntaYlos = false;
+                SuuntaAlas = false;
+            }
+            else
+            {
+                SuuntaOikea = true;
+                SuuntaVasen = false;
+                SuuntaYlos = false;
+                SuuntaAlas = false;
+            }
 
-        private void KaannyYlos()
-        {
-            
-            mato.Velocity = new Vector(0, 150);
-            mato.Angle = Angle.FromDegrees(90);
-        }
-        private void KaannyAlas()
-        {
-            
-            mato.Velocity = new Vector(0, -150);
-            mato.Angle = Angle.FromDegrees(270);
         }
-        private void KaannyVasen()
+        
+     private void VaihdaSuuntaVasen()
         {
-            
-            mato.Velocity = new Vector(-150, 0);
-            mato.Angle = Angle.FromDegrees(180);
+            if (SuuntaOikea==true)
+            {
+                SuuntaOikea = true;
+                SuuntaVasen = false;
+                SuuntaYlos = false;
+                SuuntaAlas = false;
+            }
+            else
+            {
+                SuuntaOikea = false;
+                SuuntaVasen = true;
+                SuuntaYlos = false;
+                SuuntaAlas = false;
+            }
         }
-        private void KaannyOikea()
+     private void LuoAikalaskuri()
         {
-            
-            mato.Velocity = new Vector(150, 0);
-            mato.Angle = Angle.FromDegrees(0);
+            Timer aikalaskuri = new Timer();
+            aikalaskuri.Interval = 0.008;
+            aikalaskuri.Timeout += LiikutaMatoa;
+            aikalaskuri.Start();
         }
 
-        private void LuoSeina(Vector paikka, double leveys, double korkeus)
-            {
-                PhysicsObject seina = new PhysicsObject(leveys, korkeus);
-                seina.Position = paikka;
-                seina.Image = seinakuva;
-                seina.Tag = "seina";
-                seina.MakeStatic();
-                Add(seina);
-            }
-        
-
-        
-        private PhysicsObject LuoMato()
+    private void LiikutaMatoa()
+    {
+        if (SuuntaYlos==true)
         {
-            mato = new LiikkuvaMato(seinaleveys, seinakorkeus);
-            mato.Image = Matopeli.matopaakuva;
-            mato.Tag = "mato";
-            mato.Velocity = new Vector(150, 0);
-            AddCollisionHandler(mato, "seina", TormaaSeinaan);
-            AddCollisionHandler(mato, "omena", SyoOmenan);
-            return mato;
-
+            Mato.Y++;
         }
-
-        private PhysicsObject LuoOmena()
+        if (SuuntaAlas==true)
         {
-            omena = new LiikkuvaMato(seinaleveys, seinakorkeus);
-            omena.Image = omenakuva;
-            omena.Tag = "omena";
-            return omena;
+            Mato.Y--;
         }
-        
-        
-        private void TormaaSeinaan(IPhysicsObject mato,IPhysicsObject seina)
+        if (SuuntaOikea==true)
         {
-            mato.Velocity = new Vector(0,0);
-            seina.Velocity = new Vector(0, 0);
-            
+            Mato.X++;
         }
-
-        private void SyoOmenan(IPhysicsObject mato, IPhysicsObject omena)
+        if (SuuntaVasen==true)
         {
-            omena.Destroy();
+            Mato.X--;
         }
+        
 
     }
-    
 
-
-    public class LiikkuvaMato : PhysicsObject
+    private class Objektit : PhysicsObject
     {
-        public LiikkuvaMato(double leveys, double korkeus)
-            : base(leveys, korkeus)
+         public Objektit(double leveys, double korkeus, Vector paikka)
+        : base(leveys, korkeus)
         {
             Mass = 10000;
-            IgnoresGravity = true;
             IsUpdated = true;
         }
-    }       
+    }
+
+
+
+}
+
         
 
 
diff --git a/Matopeli/Matopeli/Matopeli.csproj b/Matopeli/Matopeli/Matopeli.csproj
index efce696cf2a5d1771ef75b10618cac1f7e942ae2..7fb590654d2a22d984bb755559c459e20a3885ce 100644
--- a/Matopeli/Matopeli/Matopeli.csproj
+++ b/Matopeli/Matopeli/Matopeli.csproj
@@ -47,4 +47,8 @@
       </None>
     </ItemGroup>
 
+    <ItemGroup>
+      <Compile Remove="nollaaja.cs" />
+    </ItemGroup>
+
 </Project>
diff --git a/Matopeli/Matopeli/nollaaja.cs b/Matopeli/Matopeli/nollaaja.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7d600fc9c3af7e4bfca0bcfe8a47ef8aead40b13
--- /dev/null
+++ b/Matopeli/Matopeli/nollaaja.cs
@@ -0,0 +1,14 @@
+namespace Matopeli;
+
+
+class nollaaja
+{
+    public int X { get; set; }
+    public int Y { get; set; }
+    public nollaaja()
+    {
+        X = 0;
+        Y = 0;
+    }
+
+}
\ No newline at end of file