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 (12)
Showing
with 309 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/ampiainen.png

373 KiB

Harjoitustyo/HyttysPeli/Content/hyttynen (2).png

505 KiB

Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png

309 KiB

Harjoitustyo/HyttysPeli/Content/taustakuva.jpg

69.7 KiB

using Jypeli;
using Jypeli.Assets;
// ReSharper disable All
namespace HyttysPeli;
/// @author salmatel
/// @version 12.11.2023
/// <summary>
///
/// </summary>
public class HyttysPeli : PhysicsGame
{
private Image taustaKuva = LoadImage("taustakuva");
private IntMeter pistelaskuri;
private IntMeter helttilaskuri;
private PhysicsObject pelaaja;
private Image kuvaAmpiainen = LoadImage("ampiainen");
public override void Begin()
{
LuoPistelaskuri();
LuoHelttilaskuri();
BoundingRectangle[] reunat = LuoKentta();
LuoPelaaja();
LuoOhjaimet();
//Luo aliohjelmat näille, paranna reunat, tee lopetus
for (int i = 0; i < 25; i++)
{
LuoHyttynen(this, reunat[0], 60, "hyttynen");
}
for (int j = 0; j < 10; j++)
{
LuoAmpiainen(this, reunat[0], 60, "ampiainen");
}
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
private void LuoOhjaimet()
{
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));
}
private void LuoPelaaja()
{
pelaaja = new PhysicsObject(25, 100, Shape.Rectangle);
pelaaja.Y = Level.Bottom;
pelaaja.X = 50;
pelaaja.Image = LoadImage("hyttyskarkoite");
Add(pelaaja);
AddCollisionHandler(pelaaja, "hyttynen", PelaajaTormasiHyttyseen);
AddCollisionHandler(pelaaja, "ampiainen", PelaajaTormasiAmpiaiseen);
}
private BoundingRectangle[] LuoKentta()
{
// Jos halutaan seinien kimpoilut, vaihdetaan seinät Jypelin ohjeisiin
MasterVolume = 0.05;
SetWindowSize(1920, 1080, true);
Level.Background.Image = taustaKuva;
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();
BoundingRectangle[] reunat = new[] { ylaosa, alaosa };
return reunat;
}
private void HyttynenTormasiSeinaan(PhysicsObject reuna, PhysicsObject hyttynen)
{
}
/// <summary>
/// Metodi johon tullaan kun pelaaja ja 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 PelaajaTormasiHyttyseen(PhysicsObject pelaaja, PhysicsObject hyttynen)
{
Explosion rajahdys = new Explosion(hyttynen.Width * 2);
rajahdys.Position = hyttynen.Position;
rajahdys.UseShockWave = false;
this.Add(rajahdys);
Remove(hyttynen);
pistelaskuri.Value += 1;
}
/// <summary>
/// Metodi johon tullaan kun pelaaja ja joku ampiainen törmäävät.
/// Jos pelaaja osuu ampiaiseen, peli alkaa alusta.
/// </summary>
/// <param name="pelaaja">pelaaja joka törmäsi</param>
/// <param name="ampiainen">ampiainen johon pelaaja törmäsi</param>
private void PelaajaTormasiAmpiaiseen(PhysicsObject pelaaja, PhysicsObject ampiainen)
{
Remove(ampiainen);
helttilaskuri.Value -= 1;
if (helttilaskuri.Value == 0)
{
ClearAll();
Begin();
}
}
/// <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.
/// </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 PhysicsObject LuoHyttynen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
{
double leveys = 50;
double korkeus = 50;
PhysicsObject hyttynen = new PhysicsObject(leveys, korkeus, Shape.Rectangle);
hyttynen.Position = RandomGen.NextVector(rect);
Vector suunta = RandomGen.NextVector(0, vauhti + 100);
hyttynen.Hit(suunta);
// hyttynen.Velocity = suunta;
hyttynen.Tag = tunniste;
hyttynen.Image = LoadImage("hyttynen (2)");
// AddCollisionHandler(hyttynen, "alaosa", HyttynenTormasiSeinaan);
peli.Add(hyttynen);
return hyttynen;
}
/// <summary>
/// Luodaan satunnainen ampiainen.
/// </summary>
/// <param name="peli">Mihin peliin ampiainen luodaan</param>
/// <param name="rect">Minkä suorakaiteen sisälle luodaan</param>
/// <param name="vauhti">Ampiaisen vauhti alkutilanteessa</param>
/// <param name="tunniste">Ampiaiselle annettava tunniste</param>
/// <returns>Viite luotuun Ampiaiseen</returns>
public PhysicsObject LuoAmpiainen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
{
double leveys = 75;
double korkeus = 75;
PhysicsObject ampiainen = new PhysicsObject(leveys, korkeus, Shape.Rectangle);
ampiainen.Position = RandomGen.NextVector(rect);
Vector suunta = RandomGen.NextVector(0, vauhti);
ampiainen.Hit(suunta);
ampiainen.Tag = tunniste;
ampiainen.Image = kuvaAmpiainen;
peli.Add(ampiainen);
return ampiainen;
}
void LuoPistelaskuri()
{
pistelaskuri = new IntMeter(0);
Label pistenaytto = new Label();
pistenaytto.X = Screen.Left + 100;
pistenaytto.Y = Screen.Top - 100;
pistenaytto.TextColor = Color.Black;
pistenaytto.Color = Color.White;
pistenaytto.Title = "Pisteitä: ";
pistenaytto.BindTo(pistelaskuri);
Add(pistenaytto);
}
void LuoHelttilaskuri()
{
helttilaskuri = new IntMeter(3);
Label helttinaytto = new Label();
helttinaytto.X = Screen.Right - 100;
helttinaytto.Y = Screen.Top - 100;
helttinaytto.TextColor = Color.Black;
helttinaytto.Color = Color.Red;
helttinaytto.Title = "Elämät: ";
helttinaytto.BindTo(helttilaskuri);
Add(helttinaytto);
}
}
<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>
<None Update="Content\ampiainen.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\taustakuva.jpg">
<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