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;
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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment