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