Skip to content
Snippets Groups Projects
Commit c4effa1f authored by Lehtinen Anni Henriikka's avatar Lehtinen Anni Henriikka
Browse files

Kiekkojen lisääminen kentälle korjattu, Kiekkojen kerääminen (poistaminen) kentältä lisätty

parent 01101bed
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,7 @@ using Jypeli.Widgets; ...@@ -8,7 +8,7 @@ using Jypeli.Widgets;
namespace Escape; namespace Escape;
/// @author annilehtinen /// @author annilehtinen
/// @version 29.03.2025 /// @version 30.03.2025 / 2
/// <summary> /// <summary>
/// Peli, jossa pelaajaan tavoitteena on vältellä vastustajaa (Barkov) ja kerätä kiekkoja saadakseen pisteitä. /// Peli, jossa pelaajaan tavoitteena on vältellä vastustajaa (Barkov) ja kerätä kiekkoja saadakseen pisteitä.
/// </summary> /// </summary>
...@@ -23,9 +23,10 @@ public class Escape : PhysicsGame ...@@ -23,9 +23,10 @@ public class Escape : PhysicsGame
SetControls(player); SetControls(player);
PhysicsObject barkov = AddBarkov(this); PhysicsObject barkov = AddBarkov(this);
AddCollisionHandler(player, barkov, Tackle); AddCollisionHandler(player, barkov, Tackle);
AddCollisionHandler(player, "puck", CollectPuck);
Timer.CreateAndStart(4.0, SpawnPucks); Timer.CreateAndStart(4.0, SpawnPucks);
} }
...@@ -61,6 +62,7 @@ public class Escape : PhysicsGame ...@@ -61,6 +62,7 @@ public class Escape : PhysicsGame
return player; return player;
} }
/// <summary> /// <summary>
/// Lisää "vihollisen" eli Barkovin pelikentälle /// Lisää "vihollisen" eli Barkovin pelikentälle
/// </summary> /// </summary>
...@@ -76,6 +78,7 @@ public class Escape : PhysicsGame ...@@ -76,6 +78,7 @@ public class Escape : PhysicsGame
return barkov; return barkov;
} }
/// <summary> /// <summary>
/// Törmäyksenkäsittelijä pelaajahahmolle ja Barkoville (kesken) /// Törmäyksenkäsittelijä pelaajahahmolle ja Barkoville (kesken)
/// </summary> /// </summary>
...@@ -84,6 +87,18 @@ public class Escape : PhysicsGame ...@@ -84,6 +87,18 @@ public class Escape : PhysicsGame
void Tackle(PhysicsObject player, PhysicsObject barkov) void Tackle(PhysicsObject player, PhysicsObject barkov)
{ {
MessageDisplay.Add("Taklaus"); 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();
} }
...@@ -115,14 +130,17 @@ public class Escape : PhysicsGame ...@@ -115,14 +130,17 @@ public class Escape : PhysicsGame
/// <param name="amount">Kuinka monta kiekkoa luodaan kentälle</param> /// <param name="amount">Kuinka monta kiekkoa luodaan kentälle</param>
/// <param name="lifetime">Aika, jonka kiekko on kentällä ennen kuin se katoaa</param> /// <param name="lifetime">Aika, jonka kiekko on kentällä ennen kuin se katoaa</param>
void SpawnPucks(int amount, double lifetime) void SpawnPucks(int amount, double lifetime)
{
for (int i = 1; i <= amount; i++)
{ {
PhysicsObject puck = new PhysicsObject(18, 18); PhysicsObject puck = new PhysicsObject(18, 18);
puck.Shape = Shape.Circle; puck.Shape = Shape.Circle;
puck.Color = Color.Black; puck.Color = Color.Black;
puck.LifetimeLeft = TimeSpan.FromSeconds(lifetime); puck.LifetimeLeft = TimeSpan.FromSeconds(lifetime);
puck.Position = Level.GetRandomPosition(); puck.Position = Level.GetRandomPosition();
puck.Tag = "puck";
for (int i = 1; i <= amount; i++) this.Add(puck); this.Add(puck);
}
} }
...@@ -139,7 +157,7 @@ public class Escape : PhysicsGame ...@@ -139,7 +157,7 @@ public class Escape : PhysicsGame
/// <summary> /// <summary>
/// Lisätään kentälle haluttu määrä kiekkoja (pelin alkaessa) /// Lisätään kentälle haluttu määrä kiekkoja (pelin alkaessa)
/// </summary> /// </summary>
void CreateLevel() //TODO: Kiekkojen lisääminen ei toimi void CreateLevel()
{ {
Surfaces borders = Level.CreateBorders(0.5, true, Color.White); Surfaces borders = Level.CreateBorders(0.5, true, Color.White);
SpawnPucks(5, 10.0); SpawnPucks(5, 10.0);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment