From c4effa1f0f5b3f294958b5a7df79564276ab3d28 Mon Sep 17 00:00:00 2001 From: Lehtinen Anni Henriikka <lehtineah@gmail.com> Date: Sun, 30 Mar 2025 22:56:18 +0300 Subject: [PATCH] =?UTF-8?q?Kiekkojen=20lis=C3=A4=C3=A4minen=20kent=C3=A4ll?= =?UTF-8?q?e=20korjattu,=20Kiekkojen=20ker=C3=A4=C3=A4minen=20(poistaminen?= =?UTF-8?q?)=20kent=C3=A4lt=C3=A4=20lis=C3=A4tty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Escape/Escape/Escape.cs | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/Escape/Escape/Escape.cs b/Escape/Escape/Escape.cs index 2f08d4a..d9acea3 100644 --- a/Escape/Escape/Escape.cs +++ b/Escape/Escape/Escape.cs @@ -8,7 +8,7 @@ using Jypeli.Widgets; namespace Escape; /// @author annilehtinen -/// @version 29.03.2025 +/// @version 30.03.2025 / 2 /// <summary> /// Peli, jossa pelaajaan tavoitteena on vältellä vastustajaa (Barkov) ja kerätä kiekkoja saadakseen pisteitä. /// </summary> @@ -23,9 +23,10 @@ public class Escape : PhysicsGame SetControls(player); PhysicsObject barkov = AddBarkov(this); - AddCollisionHandler(player, barkov, Tackle); + AddCollisionHandler(player, "puck", CollectPuck); + Timer.CreateAndStart(4.0, SpawnPucks); } @@ -61,6 +62,7 @@ public class Escape : PhysicsGame return player; } + /// <summary> /// Lisää "vihollisen" eli Barkovin pelikentälle /// </summary> @@ -76,6 +78,7 @@ public class Escape : PhysicsGame return barkov; } + /// <summary> /// Törmäyksenkäsittelijä pelaajahahmolle ja Barkoville (kesken) /// </summary> @@ -84,6 +87,18 @@ public class Escape : PhysicsGame void Tackle(PhysicsObject player, PhysicsObject barkov) { MessageDisplay.Add("Taklaus"); + //Peli päättyy tähän taklaukseen + } + + + /// <summary> + /// Pelaaja kerää kiekon pelikentältä + /// </summary> + /// <param name="player">Pelaajan hahmo</param> + /// <param name="puck">Kiekko, joka poistetaan kentältä</param> + void CollectPuck(PhysicsObject player, PhysicsObject puck) + { + puck.Destroy(); } @@ -116,13 +131,16 @@ public class Escape : PhysicsGame /// <param name="lifetime">Aika, jonka kiekko on kentällä ennen kuin se katoaa</param> void SpawnPucks(int amount, double lifetime) { - PhysicsObject puck = new PhysicsObject(18, 18); - puck.Shape = Shape.Circle; - puck.Color = Color.Black; - puck.LifetimeLeft = TimeSpan.FromSeconds(lifetime); - puck.Position = Level.GetRandomPosition(); - - for (int i = 1; i <= amount; i++) this.Add(puck); + for (int i = 1; i <= amount; i++) + { + PhysicsObject puck = new PhysicsObject(18, 18); + puck.Shape = Shape.Circle; + puck.Color = Color.Black; + puck.LifetimeLeft = TimeSpan.FromSeconds(lifetime); + puck.Position = Level.GetRandomPosition(); + puck.Tag = "puck"; + this.Add(puck); + } } @@ -133,13 +151,13 @@ public class Escape : PhysicsGame void SpawnPucks() { SpawnPucks(1, 5.0); - } + } /// <summary> /// Lisätään kentälle haluttu määrä kiekkoja (pelin alkaessa) /// </summary> - void CreateLevel() //TODO: Kiekkojen lisääminen ei toimi + void CreateLevel() { Surfaces borders = Level.CreateBorders(0.5, true, Color.White); SpawnPucks(5, 10.0); -- GitLab