From 01101bed2064eabf0bcb49f37299865bbe6eb995 Mon Sep 17 00:00:00 2001
From: Lehtinen Anni Henriikka <lehtineah@gmail.com>
Date: Sun, 30 Mar 2025 20:48:19 +0300
Subject: [PATCH] =?UTF-8?q?Rakennetta=20siistitty,=20T=C3=B6rm=C3=A4yksenk?=
 =?UTF-8?q?=C3=A4sittelij=C3=A4=20pelaajalle=20ja=20Barkoville=20lis=C3=A4?=
 =?UTF-8?q?tty=20(toteutus=20kesken)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Escape/Escape/Escape.cs | 37 ++++++++++++++++++++++++++++++-------
 1 file changed, 30 insertions(+), 7 deletions(-)

diff --git a/Escape/Escape/Escape.cs b/Escape/Escape/Escape.cs
index f6f8f1d..2f08d4a 100644
--- a/Escape/Escape/Escape.cs
+++ b/Escape/Escape/Escape.cs
@@ -22,12 +22,10 @@ public class Escape : PhysicsGame
         PhysicsObject player = AddPlayer(this);
         SetControls(player);
 
-        PhysicsObject barkov = new PhysicsObject(50, 50);
-        barkov.Image = LoadImage("Barkov.png");
-        barkov.X = 60;
-        barkov.Y = -60;
-        this.Add(barkov);
-
+        PhysicsObject barkov = AddBarkov(this);
+        
+        AddCollisionHandler(player, barkov, Tackle);
+        
         Timer.CreateAndStart(4.0, SpawnPucks);
     }
     
@@ -63,6 +61,31 @@ public class Escape : PhysicsGame
         return player;
     } 
     
+    /// <summary>
+    /// Lisää "vihollisen" eli Barkovin pelikentälle
+    /// </summary>
+    /// <param name="game">Peli, johon hahmo lisätään</param>
+    /// <returns>Barkov</returns>
+    static PhysicsObject AddBarkov(PhysicsGame game)
+    {
+        PhysicsObject barkov = new PhysicsObject(50, 50);
+        barkov.Image = LoadImage("Barkov.png");
+        barkov.X = 60;
+        barkov.Y = -60;
+        game.Add(barkov);
+        return barkov;
+    } 
+    
+    /// <summary>
+    /// Törmäyksenkäsittelijä pelaajahahmolle ja Barkoville (kesken)
+    /// </summary>
+    /// <param name="player">Pelaajan hahmo</param>
+    /// <param name="barkov">Barkov</param>
+    void Tackle(PhysicsObject player, PhysicsObject barkov)
+    {
+        MessageDisplay.Add("Taklaus");
+    }
+    
     
     /// <summary>
     /// Pelaajan liikuttaminen eteenpäin (myöhemmin animaation kanssa)
@@ -93,7 +116,7 @@ public class Escape : PhysicsGame
     /// <param name="lifetime">Aika, jonka kiekko on kentällä ennen kuin se katoaa</param>
     void SpawnPucks(int amount, double lifetime)
     {
-        GameObject puck = new GameObject(18, 18);
+        PhysicsObject puck = new PhysicsObject(18, 18);
         puck.Shape = Shape.Circle;
         puck.Color = Color.Black;
         puck.LifetimeLeft = TimeSpan.FromSeconds(lifetime);
-- 
GitLab