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