Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tie/ohj1/2023s/ohj1ht
  • ojkoykka/ohj1ht
  • lemaline/ohj-1-ht-leo
  • altuoles/ohj1ht
  • ajviitan/ohj1ht
  • esahakki/ohj1ht
  • olieemka/ohj1ht
  • keinkont/ohj1ht
  • jejojuha/ohj1ht
  • parmisee/sidotut-sielut
  • wkoskine/kolikkopeli
  • aimaasko/ohj1ht
  • rapalare/ohj1ht
  • arsepiip/ohj1ht
  • tuliat/ohj1ht
  • khlaine/ohj1ht
  • thesanos/map-harkka
  • taanlaak/ohj1ht
  • avkesti/ohj1ht
  • siniseyt/ohj1ht
  • vesal/ohj1hta
  • anhahyvo/ohj1ht
  • jcvehman/leppakerttu
  • kmjaaske/ohj1ht
  • aapiippu/ohj1ht
  • reelmann/ohj1ht
  • ijkurki/ohj1ht
  • ttkelaw/ohj1ht
  • koallaht/ohj1ht
  • vesal/ohj1ht3
  • pasaikon/ohj-1-ht
  • piipaisa/ohj1ht
  • hkoktany/ohj1ht
  • pamahete/ohj1ht
  • hvriikon/ohj1ht
  • uekolehm/ohj1ht
  • njsaari/ohj1ht
  • lampiemw/rallipeli
  • tkmeskan/ohj1ht
  • aurmirle/ohj1ht
  • grohju/ohj1ht
  • awsorri/ohj1ht
  • jamamokk/ohj1ht
  • sakksama/ohj1ht
  • levalaaa/ohj1ht
  • jpjturtu/ohj1ht
  • vvvkorhv/ohj1ht
  • torkalju/s2023ohj1ht
  • koskelju/ohj1ht
  • eimaki/ohj1ht
  • matuhakk/kauppakassi
  • ollvilhi/ohj1ht
  • nktuorin/ohj1ht
  • elpeviva/ohj1ht
  • kumpuvex/ohj-1-ht
  • mvpalola/ohj1ht
  • pasonnpe/ohj1ht
  • tornhale/ohj1ht
  • iljitesa/ohj1ht
  • ruusii/ohj1ht
  • javirjo/ohj1ht
  • katahe/ohj1ht
  • niktapli/ohj1ht
  • vaalanti/ohj1ht
  • eijuhokk/ohj1ht
  • ricroos/ohj1ht
  • jjmalizy/ohj1ht
  • kirskaxt/ohj1ht
  • haemhaat/ohj1ht
  • korhanjo/ohj1ht
  • runnjuta/ohj1ht
  • jueeasik/ddr-tetris
  • kojalewa/ohj1ht
  • vejokeso/ohj1ht
  • koskeltu/ohj1ht
  • eorhala/ohj1ht
  • kiukklju/ohj1ht
  • oneemasa/ohj1ht
  • kylmsama/ohj1ht
  • mikrkonk/ohj1ht
  • viikarma/ohj1ht
  • jesvilju/ohj1ht
  • viekataj/ohj1ht
  • eerikano/ohj1ht
  • vevejuha/ohj1ht
  • ekpakkal/ohj1ht
  • otjuahos/ohj1ht
  • rajanije/ohj1ht
  • rintahe/ohj1ht
  • mpaavola/ohj1ht
  • lalaajal/ohj1ht
  • tevesiku/ohj1ht
  • malmente/ohj1ht
  • lahdelai/ohj1ht
  • lehtlrvt/syksy-2023-project
  • tuilkark/ohj1ht
  • shurmeri/ohj1ht
  • npura/ohj1ht
  • ljkarna/ohj1ht
  • pejokarj/ohj1ht
  • hytosama/ohj1ht
  • arpevile/ohj1ht
  • tspuhari/ohj1ht
  • meematma/ohj1ht
  • msvekkel/ohj1ht
  • lskumpus/temppelirosvo
  • lskumpus/ohj1ht
  • parikkp/ohj1ht
  • oopummww/sahkonhintalaskuri
  • emjowebe/ohj1ht
  • esolin/ohj1ht
  • anjakinn/ohj1ht
  • eronenve/ohj1ht
  • kautuoee/sijottajat
  • ammarttu/seikkailupeli
  • jhkortww/ohj1ht
  • tiainela/ohj1ht
  • lajoraiv/avaruushyokkaajat
  • vjkoski/ohj1ht
  • limmakyn/ohj1ht
  • kreenk/ohj1ht
  • tynnijtt/ohj1ht
  • jovesaar/ohj1ht
  • jmsutizy/ohj-1-harjoitustyo
  • veijantt/asteroidpossu
  • krseppen/ohj1ht
  • sjlihava/ohj1ht
  • kmpaanan/ohj1ht
  • emelmann/ohj1ht
  • sasavoli/jaatelokesa
  • alarojal/take-them-all
  • huhtjyil/pysakointisimulaattori
  • ttaho/ohj1ht
  • koivulmi/omenat
  • tosajaas/ohj1ht
  • sievanee/ohj1ht
  • vavavima/ohj1ht
  • adjotuhk/ohj1ht
  • heijoshe/ohj1ht
  • sammakko/kohti-aaretonta
  • anneveka/kohti-aaretonta
  • piippoje/lentokonepeli
  • emalmale/frog-jump
  • niemlexy/ohj1ht
  • jasajuyl/ohj1ht
  • peoswasa/pirtin-puolustus
  • mzitting/ohj1ht
  • heikkiaa/ohj1ht
  • mattarma/ohj-1-ht
  • kiiskiev/ohj1ht
  • noelleht/ohj1ht
  • vtsarkka/ohj1ht
  • majuvaaj/ohj-1-ht
  • eiekuiri/ohj1ht2
  • moilanii/ohj1ht
  • jpmoilan/ohj1ht
  • lipavaxy/lipavaxy
  • varauhal/ohj1ht
  • seastrom/ohj1ht3
  • jlinnik/metsakissa
  • mipeolli/ohj1ht
  • majugroh/ohj1ht
  • aijaeeus/ohj1ht
  • anjopitk/ohj1ht
  • ulentika/ohj1ht
  • paajooni/ohj1ht
  • avfresta/ohj-1-harjoitustyo-peli
  • jueesark/ohj1ht
  • sulasaal/ohj1ht
  • tervomhj/ohj1ht
  • pelkkezz/ohj1ht
  • otjalouk/hoylaajanpaluu
  • jupeupol/ohj1ht
  • jojuhemu/ilmailusaatiedotus
  • karnlazy/ohj1ht
  • tornbeev/eetu-t-ht
  • makelkjt/ohj1ht
  • masakoiv/ohj1ht
  • jerantat/ohj1ht
  • reevirta/ohj1ht
  • junijuku/ohj1ht
  • oaaltola/ohj1ht
  • renmikta/ohj1ht
  • kuntekys/ohj1ht
  • emhaauha/ohj1ht
  • lijovest/ohj1ht
  • sjuskivs/ohj1ht
  • joohirvo/ohj1ht
  • rekallio/ohj1ht
  • tuzuneru/ohj1ht
  • jacheryy/vapaa-maailma-ht
  • salompxs/ohj1ht
  • vamavatu/peliprojekti
  • mikalese/project-color
  • vimimalu/ohj1ht
  • vehartzz/ohj1ht
  • anlutuho/vilsun-seikkailu
  • saadmikk/ohj-1-ht-2
  • topevoud/ohj1ht
  • mvhonkzz/kana-kana
  • kopperp/ohj1ht
  • jutalapp/ohj1ht
  • jejajoko/ohj1ht
  • suholaju/Webbi
  • askuisyy/ohj1ht
  • samjaajo/ohj1ht
  • penttu/ohj1ht
  • ekkoykka/ohj1ht
  • tamakark/ohj1ht
  • ckbboman/ohj1ht
  • jomuhaat/ohj-1-ht
  • tslahtin/ohj1ht
  • salmatel/ohj1ht
  • linnahee/pelastapeikoilta
  • pirhonmx/ohj1ht
  • perkem/ohj1ht
  • ssniinim/ohj-1-ht
  • nikaleko/ajope
  • heijohra/ohj1ht
  • kaikkoju/ohj1ht
  • rekanyys/ohj1ht
  • nijomagg/ohj1ht
  • solismpa/ohj1ht
  • enhekorp/ohj1ht
  • myahsumy/h-tohj-1
  • nynalynn/ohj1ht
  • iitojopi/ohj1ht
  • harmjosa/ohj1ht
  • joalsaun/ohj-1-ht
  • jimsebna/ohj1ht
  • jcmbergg/ohj1ht
  • vemaveij/ohj-1-ht
232 results
Show changes
Commits on Source (8)
Showing with 219 additions and 0 deletions
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/projectSettingsUpdater.xml
/modules.xml
/contentModel.xml
/.idea.Harjoitustyo.iml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
\ No newline at end of file
<?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

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HyttysPeli", "HyttysPeli\HyttysPeli.csproj", "{EE8974F7-0971-448C-8A48-234F4E003BDF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EE8974F7-0971-448C-8A48-234F4E003BDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EE8974F7-0971-448C-8A48-234F4E003BDF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE8974F7-0971-448C-8A48-234F4E003BDF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE8974F7-0971-448C-8A48-234F4E003BDF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
Harjoitustyo/HyttysPeli/Content/hyttynen (2).png

505 KiB

Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png

386 KiB

using System;
using System.Collections.Generic;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
namespace HyttysPeli;
/// @author salmatel
/// @version 12.11.2023
/// <summary>
///
/// </summary>
public class HyttysPeli : PhysicsGame
{
public override void Begin()
{
MasterVolume = 0.05;
Level.Background.Color = Color.Green;
BoundingRectangle alaosa = new BoundingRectangle(new Vector(Level.Left, 0), Level.BoundingRect.BottomRight);
BoundingRectangle ylaosa = new BoundingRectangle(Level.BoundingRect.TopLeft, new Vector(Level.Right, 0));
Level.CreateBorders();
PhysicsObject pelaaja = new PhysicsObject(100, 100, Shape.Rectangle);
pelaaja.Position = RandomGen.NextVector(alaosa);
pelaaja.Image = LoadImage("hyttyskarkoite");
Add(pelaaja);
Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä avustus");
Keyboard.Listen(Key.Up, ButtonState.Down, LyoHyttysta, "Pelaaja ylös", pelaaja, new Vector(0, 20));
Keyboard.Listen(Key.Down, ButtonState.Down, LyoHyttysta, "Pelaaja alas", pelaaja, new Vector(0, -20));
Keyboard.Listen(Key.Left, ButtonState.Down, LyoHyttysta, "Pelaaja vasemmalle", pelaaja, new Vector(-20, 0));
Keyboard.Listen(Key.Right, ButtonState.Down, LyoHyttysta, "Pelaaja oikealle", pelaaja, new Vector(20, 0));
for(int i = 0; i < 20; i++)
LuoSattunnainenHyttynen(this, ylaosa, 60, "hyttynen");
AddCollisionHandler(pelaaja, "hyttynen", PelaajaTormasi);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
/// <summary>
/// Metodi johon tullaan kun pelaaja ja joku hyttynen törmäävät.
/// Luodaan hyttysen kohdalla räjähdys ja poistetaan hyttynen pelistä
/// </summary>
/// <param name="pelaaja">pelaaja joka törmäsi</param>
/// <param name="hyttynen">hyttynen johon pelaaja törmäsi</param>
private void PelaajaTormasi(PhysicsObject pelaaja, PhysicsObject hyttynen)
{
double pelaajanAla = HyttysenAla(pelaaja.Width, pelaaja.Height);
double hyttysenAla = HyttysenAla(hyttynen.Width, hyttynen.Height);
if (pelaajanAla > hyttysenAla)
{
Explosion rajahdys = new Explosion(hyttynen.Width * 2);
rajahdys.Position = hyttynen.Position;
rajahdys.UseShockWave = false; // kannattaa kokeilla mitä taphatuu true -arvolla.
this.Add(rajahdys);
Remove(hyttynen);
}
}
/// <summary>
/// Lyödään hyttystä voimavektorilla
/// </summary>
/// <param name="hyttynen">lyötävä hyttynen</param>
/// <param name="suunta">voimavektori</param>
public static void LyoHyttysta(PhysicsObject hyttynen, Vector suunta)
{
hyttynen.Hit(hyttynen.Mass * suunta);
}
/// <summary>
/// Luodaan satunnainen hyttynen suorakaiteen sisälle.
/// </summary>
/// <param name="peli">Mihin peliin hyttynen luodaan</param>
/// <param name="rect">Minkä suorakaiteen sisälle luodaan</param>
/// <param name="vauhti">Hyttysen vauhti alkutilanteessa</param>
/// <param name="tunniste">Hyttyselle annettava tunniste</param>
/// <returns>Viite luotuun hyttyseen</returns>
public static PhysicsObject LuoSattunnainenHyttynen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
{
double leveys = 50;
double korkeus = 50;
PhysicsObject hyttynen = new PhysicsObject(leveys, korkeus, Shape.Circle);
hyttynen.Position = RandomGen.NextVector(rect);
Vector suunta = RandomGen.NextVector(0, vauhti);
hyttynen.Hit(suunta);
hyttynen.Tag = tunniste;
hyttynen.Image = LoadImage("hyttynen (2)");
peli.Add(hyttynen);
return hyttynen;
}
/// <summary>
/// Laskee hyttysen alan
/// </summary>
/// <param name="kanta">hyttysen kanta</param>
/// <param name="korkeus">hyttysen korkeus</param>
/// <returns>hyttysen ala</returns>
/// <example>
/// <pre name="test">
/// HyttysenAla(0,0) ~~~ 0;
/// HyttysenAla(1,0) ~~~ 0;
/// HyttysenAla(1,1) ~~~ 0.5;
/// HyttysenAla(3,5) ~~~ 7.5;
/// </pre>
/// </example>
public static double HyttysenAla(double kanta, double korkeus)
{
return kanta * korkeus * 1 / 2;
}
}
<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>
<ItemGroup>
<None Update="Content\hyttyskarkoite.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\hyttynen (2).png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
#endregion
namespace HyttysPeli
{
/// <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 HyttysPeli();
game.Run();
}
}
}
\ No newline at end of file
suunnitelma/Hyttyspeli.png

17.6 KiB

suunnitelma/esimerkkikuva.png

9.92 KiB