diff --git a/demopohjat/demo9/Kuva/Kuva.cs b/demopohjat/demo9/Kuva/Kuva.cs index 85c705713f3df59609b31f4d9a85d18005dd4a12..fbe4071950fb68d430d2e28d3983b6b2bbfe4660 100644 --- a/demopohjat/demo9/Kuva/Kuva.cs +++ b/demopohjat/demo9/Kuva/Kuva.cs @@ -148,7 +148,7 @@ public class Kuva : PhysicsGame /// <summary> - /// Lasketaan konvoluutio uint[,] kuva-matriisille käytten painomatriisia. + /// Lasketaan konvoluutio uint[,] kuva-matriisille käyttäen painomatriisia. /// Konvoluutio lasketaan kunkin pikselin kohdalla kullekin värille (R,B,G) /// erikseen. /// Reunat unohdetaan. @@ -158,17 +158,18 @@ public class Kuva : PhysicsGame /// <returns>uusi kuva-matriisi konvoloituna</returns> /// <example> /// <pre name="test"> - /// uint[,] kuva = { { 0x010905,0x55020202,0x7f030303,0x040404 }, - /// { 0x010101,0x66020202,0x7f030803,0x050505 }, - /// { 0x010102,0x77090909,0x7f030303,0x060606 } }; + /// uint[,] kuva = { { 0x010905,0x55020202,0x7f030303,0x040404 }, + /// { 0x010101,0x66020202,0x7f030803,0x050505 }, + /// { 0x010102,0x77090909,0x7f030303,0x060606 }, + /// { 0x010102,0x23111524,0x66778800,0x080808 } }; /// int[,] painot = {{1,0,0},{0,1,0},{0,0,2}}; /// /// uint[,] kuva2 = Muunna(kuva,painot); - /// kuva2[0,0] === 0U; // reunat jäävät mustiksi - /// kuva2[2,1] === 0U; /// Color.GetBlue(kuva2[1,1]) === 3; - /// kuva2[1,2] === 0x7f040504U; /// kuva2[1,1] === 0x66020403U; + /// kuva2[1,2] === 0x7f040504U; + /// kuva2[2,1] === 0x773E4602U; + /// kuva2[2,2] === 0x7F050505U; /// </pre> /// </example> public static uint[,] Muunna(uint[,] kuva, int[,] painot) diff --git a/demopohjat/demo9/PortaatYlos/Ohjelma.cs b/demopohjat/demo9/PortaatYlos/Ohjelma.cs new file mode 100644 index 0000000000000000000000000000000000000000..9cb7e355f5dc848556462b323ca7bba1e1af9fa4 --- /dev/null +++ b/demopohjat/demo9/PortaatYlos/Ohjelma.cs @@ -0,0 +1,26 @@ +#region Using Statements + +using System; +using System.Collections.Generic; +using System.Linq; + +#endregion + +namespace PortaatYlos +{ + /// <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 PortaatYlos(); + game.Run(); + } + } +} \ No newline at end of file diff --git a/demopohjat/demo9/PortaatYlos/PortaatYlos.cs b/demopohjat/demo9/PortaatYlos/PortaatYlos.cs new file mode 100644 index 0000000000000000000000000000000000000000..ff9dbdf4c3fc4ae0c7ee2ba1082abbed0ba02a5e --- /dev/null +++ b/demopohjat/demo9/PortaatYlos/PortaatYlos.cs @@ -0,0 +1,42 @@ +using Jypeli; + +namespace PortaatYlos; + +public class PortaatYlos : PhysicsGame +{ + const double LAATIKON_KOKO = 80; + // BYCODEBEGIN + public override void Begin() + { + Level.Background.Color = Color.Black; + Vector piste = new Vector(0, 0); + // Poista rivien alusta kommenttimerkit + // piste = PiirraLaatikko(this, piste); + // piste = PiirraLaatikko(this, piste); + // piste = PiirraLaatikko(this, piste); + PhysicsObject pallo = new PhysicsObject(5, 5, Shape.Circle); + Add(pallo, 1); + pallo.Color = Color.Red; + Camera.ZoomToAllObjects(100); + } + + /* poista tämä rivi ja vastaava kommentin lopetusrivi + /// <summary> + /// Aliohjelma piirtää ruutuun yhden neliön, jonka + /// sivun pituus on 80 ja vasemman alakulman koordinaatti p. + /// </summary> + /// <param name="peli">Peli, johon neliö piirretään</param> + /// <param name="p">Neliön vasemman alanurkan koordinaatti.</param> + /// <returns>Neliön oikean ylänurkan koordinaatti</returns> + public static ??? PiirraLaatikko(???) + { + double s = LAATIKON_KOKO; + GameObject nelio = new GameObject(s, s, Shape.Rectangle); + nelio.Position = ??? + peli.Add(nelio); + ??? + } + */ + // BYCODEEND + +} \ No newline at end of file diff --git a/demopohjat/demo9/PortaatYlos/PortaatYlos.csproj b/demopohjat/demo9/PortaatYlos/PortaatYlos.csproj new file mode 100644 index 0000000000000000000000000000000000000000..fb98d03a9ae4d4aa96925e3188b491c8294da81d --- /dev/null +++ b/demopohjat/demo9/PortaatYlos/PortaatYlos.csproj @@ -0,0 +1,13 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>WinExe</OutputType> + <TargetFramework>net7.0</TargetFramework> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Jypeli.NET" Version="11.*"/> + <PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*"/> + </ItemGroup> + +</Project> diff --git a/demopohjat/demo9/PortaatYlosAlas/Ohjelma.cs b/demopohjat/demo9/PortaatYlosAlas/Ohjelma.cs new file mode 100644 index 0000000000000000000000000000000000000000..bae2f305a41554368686b73e08a7b7586ca38567 --- /dev/null +++ b/demopohjat/demo9/PortaatYlosAlas/Ohjelma.cs @@ -0,0 +1,26 @@ +#region Using Statements + +using System; +using System.Collections.Generic; +using System.Linq; + +#endregion + +namespace PortaatYlosAlas +{ + /// <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 PortaatYlosAlas(); + game.Run(); + } + } +} \ No newline at end of file diff --git a/demopohjat/demo9/PortaatYlosAlas/PortaatYlosAlas.cs b/demopohjat/demo9/PortaatYlosAlas/PortaatYlosAlas.cs new file mode 100644 index 0000000000000000000000000000000000000000..c8a5d4724685d1c84749db414b7fe9a2e54e0785 --- /dev/null +++ b/demopohjat/demo9/PortaatYlosAlas/PortaatYlosAlas.cs @@ -0,0 +1,30 @@ +using Jypeli; +namespace PortaatYlosAlas; + +public class PortaatYlosAlas : PhysicsGame +{ + const double LAATIKON_KOKO = 80; + // BYCODEBEGIN + public override void Begin() + { + Level.Background.Color = Color.Black; + Vector piste = new Vector(0, 0); + // Poista rivien alusta kommenttimerkit + // piste = PiirraLaatikko(this, piste); + // piste = PiirraLaatikko(this, piste); + // piste = PiirraLaatikko(this, piste); + // piste -= new Vector(0,LAATIKON_KOKO); + // piste = PiirraLaatikkoAlas(this,piste); + // piste = PiirraLaatikkoAlas(this,piste); + PhysicsObject pallo = new PhysicsObject(5, 5, Shape.Circle); + Add(pallo, 1); + pallo.Color = Color.Red; + Camera.ZoomToAllObjects(100); + } + + // TODO: Kopioi tähän edellisen tehtävän PiirraLaatikko + // TODO: Jatka tekemällä PiirraLaatikkoAlas + + // BYCODEEND + +} \ No newline at end of file diff --git a/demopohjat/demo9/PortaatYlosAlas/PortaatYlosAlas.csproj b/demopohjat/demo9/PortaatYlosAlas/PortaatYlosAlas.csproj new file mode 100644 index 0000000000000000000000000000000000000000..fb98d03a9ae4d4aa96925e3188b491c8294da81d --- /dev/null +++ b/demopohjat/demo9/PortaatYlosAlas/PortaatYlosAlas.csproj @@ -0,0 +1,13 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>WinExe</OutputType> + <TargetFramework>net7.0</TargetFramework> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Jypeli.NET" Version="11.*"/> + <PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*"/> + </ItemGroup> + +</Project> diff --git a/demopohjat/demo9/demo9.sln b/demopohjat/demo9/demo9.sln index 83cbde4a0059edfc151e860f30c107cccad52ebb..43166cf86741e693fec5d624223718780f3368da 100644 --- a/demopohjat/demo9/demo9.sln +++ b/demopohjat/demo9/demo9.sln @@ -13,6 +13,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VarienVaihtoKonsolilla", "V EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortaatYlosAlasKonsolilla", "PortaatYlosAlasKonsolilla\PortaatYlosAlasKonsolilla.csproj", "{CE21768D-76C1-40D6-B875-89051B14486C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortaatYlos", "PortaatYlos\PortaatYlos.csproj", "{BBC7FA41-52CD-417C-9725-4649E3833118}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortaatYlosAlas", "PortaatYlosAlas\PortaatYlosAlas.csproj", "{18EA707A-815F-4041-90DF-AD4C46730C56}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -39,6 +43,14 @@ Global {CE21768D-76C1-40D6-B875-89051B14486C}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE21768D-76C1-40D6-B875-89051B14486C}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE21768D-76C1-40D6-B875-89051B14486C}.Release|Any CPU.Build.0 = Release|Any CPU + {BBC7FA41-52CD-417C-9725-4649E3833118}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BBC7FA41-52CD-417C-9725-4649E3833118}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BBC7FA41-52CD-417C-9725-4649E3833118}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BBC7FA41-52CD-417C-9725-4649E3833118}.Release|Any CPU.Build.0 = Release|Any CPU + {18EA707A-815F-4041-90DF-AD4C46730C56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {18EA707A-815F-4041-90DF-AD4C46730C56}.Debug|Any CPU.Build.0 = Debug|Any CPU + {18EA707A-815F-4041-90DF-AD4C46730C56}.Release|Any CPU.ActiveCfg = Release|Any CPU + {18EA707A-815F-4041-90DF-AD4C46730C56}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE