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

Pelaajan liikuttaminen päivitetty

parent e88c6009
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
File added
File added
Escape/Escape/Content/Barkov.png

564 B

Escape/Escape/Content/Barkov_move1.png

537 B

Escape/Escape/Content/Barkov_move2.png

517 B

Escape/Escape/Content/player.png

1.03 KiB

Escape/Escape/Content/player_move1 kopio.png

1.02 KiB

Escape/Escape/Content/player_move1.png

1.02 KiB

Escape/Escape/Content/player_move2.png

1.03 KiB

......@@ -8,9 +8,9 @@ using Jypeli.Widgets;
namespace Escape;
/// @author annilehtinen
/// @version 24.03.2025
/// @version 28.03.2025
/// <summary>
///
/// Peli, jossa pelaajaan tavoitteena on vältellä vastustajaa (Barkov) ja kerätä kiekkoja saadakseen pisteitä.
/// </summary>
public class Escape : PhysicsGame
{
......@@ -20,26 +20,49 @@ public class Escape : PhysicsGame
Camera.ZoomToLevel();
PhysicsObject player = new PhysicsObject(40, 40);
player.Shape = Shape.Circle;
player.Color = Color.White;
player.Image = LoadImage("player.png");
player.CanRotate = false;
player.LinearDamping = 0.95;
this.Add(player);
SetControls();
PhysicsObject barkov = new PhysicsObject(50, 50);
barkov.Shape = Shape.Circle;
barkov.Color = Color.Red;
barkov.Image = LoadImage("Barkov.png");
barkov.X = 60;
barkov.Y = -60;
this.Add(barkov);
Keyboard.Listen(Key.Left, ButtonState.Down, MovePlayer, null, new Vector(-100, 0));
Keyboard.Listen(Key.Right, ButtonState.Down, MovePlayer, null, new Vector(100, 0));
Keyboard.Listen(Key.Up, ButtonState.Down, MovePlayer, null, new Vector(0, 100));
Keyboard.Listen(Key.Down, ButtonState.Down, MovePlayer, null, new Vector(0, -100));
this.Add(barkov);
/// <summary>
/// Peliohjainten asettaminen
/// </summary>
void SetControls()
{
Keyboard.Listen(Key.Up, ButtonState.Down, MovePlayer, "Liikuta pelaajaa eteenpäin");
Keyboard.Listen(Key.Left, ButtonState.Down, TurnPlayer, "Käännä pelaajaa vasemmalle", 2.0);
Keyboard.Listen(Key.Left, ButtonState.Released, TurnPlayer, null, 0.0);
Keyboard.Listen(Key.Right, ButtonState.Down, TurnPlayer, "Käännä pelaajaa oikealle", -2.0);
Keyboard.Listen(Key.Right, ButtonState.Released, TurnPlayer, null, 0.0);
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
/// <summary>
/// Pelaajan liikuttaminen eteenpäin (myöhemmin animaation kanssa)
/// </summary>
void MovePlayer()
{
int playerSpeed = 10;
Vector playerDirection = Vector.FromLengthAndAngle(50.0, player.Angle);
player.Push(playerDirection * playerSpeed);
}
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
void MovePlayer(Vector vector1)
/// <summary>
/// Pelaajan kääntäminen nuolinäppäinten avulla
/// </summary>
void TurnPlayer(double angle)
{
player.Push(vector1);
player.Angle += Angle.FromDegrees(angle);
}
}
}
\ No newline at end of file
......@@ -10,4 +10,31 @@
<PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*"/>
</ItemGroup>
<ItemGroup>
<None Update="Content\Barkov.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\still_player.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\player.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\player_move1.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\player_move2.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\Barkov_move1.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\Barkov_move2.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\player_move1 kopio.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
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