From 46141e47a298ac5ef6252a8e634edc18342182bd Mon Sep 17 00:00:00 2001 From: Hanki Sakari <sakari.s.b.hanki@student.jyu.fi> Date: Sun, 2 Mar 2025 22:54:06 +0200 Subject: [PATCH] testi --- .../.idea/.idea.KelaCombat/.idea/.gitignore | 13 ++ .../.idea.KelaCombat/.idea/indexLayout.xml | 8 ++ .../.idea/.idea.KelaCombat/.idea/vcs.xml | 6 + KelaCombat/KelaCombat.sln | 22 +++ .../KelaCombatTesti/Content/Kelabotti.png | Bin 0 -> 5149 bytes .../KelaCombatTesti/Content/Pelaaja.png | Bin 0 -> 2489 bytes KelaCombat/KelaCombatTesti/KelaCombatTesti.cs | 127 ++++++++++++++++++ .../KelaCombatTesti/KelaCombatTesti.csproj | 25 ++++ KelaCombat/KelaCombatTesti/Ohjelma.cs | 26 ++++ suunnitelma/suunnitelma.md | 10 +- 10 files changed, 232 insertions(+), 5 deletions(-) create mode 100644 KelaCombat/.idea/.idea.KelaCombat/.idea/.gitignore create mode 100644 KelaCombat/.idea/.idea.KelaCombat/.idea/indexLayout.xml create mode 100644 KelaCombat/.idea/.idea.KelaCombat/.idea/vcs.xml create mode 100644 KelaCombat/KelaCombat.sln create mode 100644 KelaCombat/KelaCombatTesti/Content/Kelabotti.png create mode 100644 KelaCombat/KelaCombatTesti/Content/Pelaaja.png create mode 100644 KelaCombat/KelaCombatTesti/KelaCombatTesti.cs create mode 100644 KelaCombat/KelaCombatTesti/KelaCombatTesti.csproj create mode 100644 KelaCombat/KelaCombatTesti/Ohjelma.cs diff --git a/KelaCombat/.idea/.idea.KelaCombat/.idea/.gitignore b/KelaCombat/.idea/.idea.KelaCombat/.idea/.gitignore new file mode 100644 index 0000000..32f5b5c --- /dev/null +++ b/KelaCombat/.idea/.idea.KelaCombat/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/projectSettingsUpdater.xml +/modules.xml +/contentModel.xml +/.idea.KelaCombat.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/KelaCombat/.idea/.idea.KelaCombat/.idea/indexLayout.xml b/KelaCombat/.idea/.idea.KelaCombat/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/KelaCombat/.idea/.idea.KelaCombat/.idea/indexLayout.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="UserContentModel"> + <attachedFolders /> + <explicitIncludes /> + <explicitExcludes /> + </component> +</project> \ No newline at end of file diff --git a/KelaCombat/.idea/.idea.KelaCombat/.idea/vcs.xml b/KelaCombat/.idea/.idea.KelaCombat/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/KelaCombat/.idea/.idea.KelaCombat/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?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 diff --git a/KelaCombat/KelaCombat.sln b/KelaCombat/KelaCombat.sln new file mode 100644 index 0000000..1e7a7c2 --- /dev/null +++ b/KelaCombat/KelaCombat.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KelaCombat", "KelaCombat\KelaCombat.csproj", "{FCA55966-05CA-4283-A710-B896BF8F5632}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KelacombatUusi", "KelacombatUusi\KelacombatUusi.csproj", "{F19A3636-29EE-45C1-BE40-20C63E42A556}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FCA55966-05CA-4283-A710-B896BF8F5632}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FCA55966-05CA-4283-A710-B896BF8F5632}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FCA55966-05CA-4283-A710-B896BF8F5632}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FCA55966-05CA-4283-A710-B896BF8F5632}.Release|Any CPU.Build.0 = Release|Any CPU + {F19A3636-29EE-45C1-BE40-20C63E42A556}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F19A3636-29EE-45C1-BE40-20C63E42A556}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F19A3636-29EE-45C1-BE40-20C63E42A556}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F19A3636-29EE-45C1-BE40-20C63E42A556}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/KelaCombat/KelaCombatTesti/Content/Kelabotti.png b/KelaCombat/KelaCombatTesti/Content/Kelabotti.png new file mode 100644 index 0000000000000000000000000000000000000000..03f4d6eac3440cb76ddfd667a054873bc698d176 GIT binary patch literal 5149 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 O0zK_VS~VK>Z~p_;RqJa2 literal 0 HcmV?d00001 diff --git a/KelaCombat/KelaCombatTesti/Content/Pelaaja.png b/KelaCombat/KelaCombatTesti/Content/Pelaaja.png new file mode 100644 index 0000000000000000000000000000000000000000..c454cca1569309bd46a8741df4dddcc43dbdf693 GIT binary patch literal 2489 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 literal 0 HcmV?d00001 diff --git a/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs b/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs new file mode 100644 index 0000000..7979fef --- /dev/null +++ b/KelaCombat/KelaCombatTesti/KelaCombatTesti.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using Jypeli; +using Jypeli.Assets; +using Jypeli.Controls; +using Jypeli.Widgets; +using Silk.NET.SDL; +using Color = Jypeli.Color; + +namespace KelaCombatTesti; + +/// @author Sakari +/// @version 17.02.2025 +/// <summary> +/// +/// </summary> + public class KelaCombatTesti : PhysicsGame + { + PlatformCharacter pelaaja; + private Image KelabottiKuva = LoadImage("Kelabotti"); + private Image PelaajaKuva = LoadImage("Pelaaja.png"); + + + public override void Begin() + { + LuoKentta(); + LuoKelabotti(); + + + + Keyboard.Listen(Key.A, ButtonState.Down, LiikuVasemmalle, null, new Vector()); + Keyboard.Listen(Key.D, ButtonState.Down, LiikuOikealle, null, new Vector()); + Keyboard.Listen(Key.W, ButtonState.Down, Hyppaa, null, new Vector()); + //Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -1000)); + Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); + + + + void LiikuVasemmalle(Vector vektori) + { + pelaaja.Walk(-100); + } + + void LiikuOikealle(Vector vektori) + { + pelaaja.Walk(100); + } + + void Hyppaa(Vector vektori) + { + pelaaja.Jump(300.0); + } + } + + void LuoKentta() + { + + Level.BackgroundColor = Color.Pink; + Gravity = new Vector(0, -981.0); + + PhysicsObject vasenReuna = Level.CreateLeftBorder(); + vasenReuna.Restitution = 0.0; + vasenReuna.KineticFriction = 0.0; + vasenReuna.IsVisible = false; + + PhysicsObject oikeaReuna = Level.CreateRightBorder(); + oikeaReuna.Restitution = 0.0; + oikeaReuna.KineticFriction = 0.0; + oikeaReuna.IsVisible = false; + + PhysicsObject ylaReuna = Level.CreateTopBorder(); + ylaReuna.Restitution = 0.0; + ylaReuna.KineticFriction = 0.0; + ylaReuna.IsVisible = false; + + PhysicsObject alaReuna = Level.CreateBottomBorder(); + alaReuna.Restitution = 1.0; + alaReuna.IsVisible = false; + alaReuna.KineticFriction = 0.0; + + pelaaja = LuoPelaaja(0.0, 0.0); + pelaaja.Acceleration = new Vector(1, 0); + + } + + PlatformCharacter LuoPelaaja(double x, double y) + { + PlatformCharacter pelaaja = new PlatformCharacter(50.0, 100.0); + pelaaja.Image = PelaajaKuva; + pelaaja.Mass = 1.0; + pelaaja.Image = LoadImage("Pelaaja.png"); + pelaaja.Shape = Shape.Rectangle; + pelaaja.Color = Color.Black; + pelaaja.X = x; + pelaaja.Y = y; + Add(pelaaja); + + + + return pelaaja; + } + + PlatformCharacter LuoKelabotti() + { + PlatformCharacter Kelabotti = new PlatformCharacter(80.0, 80.0); + Kelabotti.Color = Color.Orange; + Kelabotti.Image = KelabottiKuva; + Kelabotti.MirrorImage(); + Add(Kelabotti); + + + FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); + seuraajanAivot.Speed = 100; + + Kelabotti.Brain = seuraajanAivot; + return Kelabotti; + + } + + + + } + + + + + diff --git a/KelaCombat/KelaCombatTesti/KelaCombatTesti.csproj b/KelaCombat/KelaCombatTesti/KelaCombatTesti.csproj new file mode 100644 index 0000000..1e0a6fd --- /dev/null +++ b/KelaCombat/KelaCombatTesti/KelaCombatTesti.csproj @@ -0,0 +1,25 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>WinExe</OutputType> + <TargetFramework>net8.0</TargetFramework> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Jypeli.NET" Version="11.*"/> + <PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*"/> + </ItemGroup> + + <ItemGroup> + <None Update="KelaCombatkuvat\Pelaaja.png"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Update="Content\Pelaaja.png"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Update="Content\Kelabotti.png"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + </ItemGroup> + +</Project> diff --git a/KelaCombat/KelaCombatTesti/Ohjelma.cs b/KelaCombat/KelaCombatTesti/Ohjelma.cs new file mode 100644 index 0000000..7712c76 --- /dev/null +++ b/KelaCombat/KelaCombatTesti/Ohjelma.cs @@ -0,0 +1,26 @@ +#region Using Statements + +using System; +using System.Collections.Generic; +using System.Linq; + +#endregion + +namespace KelaCombatTesti +{ + /// <summary> + /// The main class. + /// </summary> + public static class Program + { + /// <summary> + /// The main entry point for the application. + /// </summary> + [STAThread] + static void Main() + { + using var game = new KelaCombatTesti(); + game.Run(); + } + } +} \ No newline at end of file diff --git a/suunnitelma/suunnitelma.md b/suunnitelma/suunnitelma.md index bcfa301..9c335da 100644 --- a/suunnitelma/suunnitelma.md +++ b/suunnitelma/suunnitelma.md @@ -7,7 +7,7 @@ Tekijät: Sakari Hanki ja Salla Laine Työ git-varaston osoite: <https://gitlab.jyu.fi/hankssxs/ohj1ht> -Pelin nimi: Kela Combat: Fight for Opintonopat +Pelin nimi: Kela Combat: Fight for the Opintonopat Pelialusta: Windows @@ -36,12 +36,12 @@ Helmikuu Maaliskuu -- (Tavoite 1) -- (Tavoite 2) +- (Tavoite 1: Hp mekaniikat ja Opintonoppa-laskuri) +- (Tavoite 2: taistelumekaniikat) - (Tavoite 3) Jos aikaa jää -- (Tavoite 1) -- (Tavoite 2) +- (Tavoite 1: animaatiot) +- (Tavoite 2: lisää vihollistyyppejä) - (Tavoite 3) -- GitLab