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 (9)
Showing
with 505 additions and 0 deletions
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/projectSettingsUpdater.xml
/.idea.Matopeli.iml
/modules.xml
/contentModel.xml
# 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="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}") = "Matopeli", "Matopeli\Matopeli.csproj", "{C4026729-15AF-4700-A8DE-52D74250EC17}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C4026729-15AF-4700-A8DE-52D74250EC17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4026729-15AF-4700-A8DE-52D74250EC17}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4026729-15AF-4700-A8DE-52D74250EC17}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4026729-15AF-4700-A8DE-52D74250EC17}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
Matopeli/Matopeli/Content/kenttatausta.png

66.5 KiB

Matopeli/Matopeli/Content/matokeho.png

7.56 KiB

Matopeli/Matopeli/Content/matopaa.png

26.6 KiB

Matopeli/Matopeli/Content/omena.png

58.2 KiB

Matopeli/Matopeli/Content/seina.png

8.82 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
namespace matopeli;
/// @author Omanimi
/// @version 30.10.2023
/// <summary>
///
/// </summary>
public class matopeli : PhysicsGame
{
private static readonly string[] tasonkuva = {
"#####################",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"#####################",
};
private Objektit Mato;
private Objektit Omena;
private Objektit MatoMuu;
public List<Vector> MatoSijainti = new List<Vector>();
public List<PhysicsObject> MatoKeho = new List<PhysicsObject>();
public int leveys = 30;
public int korkeus = 30;
private static readonly Image seinakuva = LoadImage("seina.png");
private static readonly Image matopaakuva = LoadImage("matopaa.png");
private readonly Image matokehokuva = LoadImage("matokeho.png");
private readonly Image omenakuva = LoadImage("omena.png");
private readonly Image kenttatausta = LoadImage("kenttatausta.png");
private bool SuuntaYlos = false;
private bool SuuntaAlas = false;
private bool SuuntaOikea = false;
private bool SuuntaVasen = false;
private bool MatoLiikkunut = true;
private bool OmenaKentalla = true;
public override void Begin()
{
// Kirjoita ohjelmakoodisi tähän
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
AloitaUusiPeli();
}
public void AloitaUusiPeli()
{
Level.CreateBorders(0.0,true,Color.Green);
ClearAll();
SuuntaAlas = true;
LuoMato();
Asetaohjaimet();
LuoAikalaskuri();
LuoOmena();
TileMap tiles = TileMap.FromStringArray(tasonkuva);
tiles['#'] = LuoSeina;
tiles.Insert(leveys,korkeus);
}
private void Asetaohjaimet()
{
Keyboard.Listen(Key.Up, ButtonState.Pressed, VaihdaSuuntaYlos, "Turn upwards");
Keyboard.Listen(Key.Down, ButtonState.Pressed, VaihdaSuuntaAlas, "Turn downwards");
Keyboard.Listen(Key.Left, ButtonState.Pressed, VaihdaSuuntaVasen , "Turn left");
Keyboard.Listen(Key.Right, ButtonState.Pressed, VaihdaSuuntaOikea, "Turn right");
}
private PhysicsObject LuoMato()
{
Mato = new Objektit(leveys, korkeus);
Mato.Image = matopaakuva;
Add(Mato);
Mato.Tag = "mato";
AddCollisionHandler(Mato, "omena", delegate(IPhysicsObject Mato, IPhysicsObject Omena) {MatoSyoOmenan(); });
return Mato;
}
/// <summary>
/// Luodaan omena johonkin satunnaiseen kohtaan kartalla, joka ei ole samassa kohtaa madon kanssa.
/// </summary>
/// <returns></returns>
private PhysicsObject LuoOmena()
{
Vector paikka = Level.GetRandomPosition();
for (int i = 0; i < 100; i++)
{
if (paikka.X-Mato.X<5)
{
paikka = Level.GetRandomPosition();
}
if (paikka.X-Mato.Y<5)
{
paikka= Level.GetRandomPosition();
}
if (paikka.X<30)
{
if (paikka.X < -30)
{
paikka = Level.GetRandomPosition();
}
}
if (paikka.Y<30)
{
if (paikka.Y<-30)
{
paikka = Level.GetRandomPosition();
}
}
else
{
break;
}
}
Omena = new Objektit(korkeus, leveys);
Omena.Shape = Shape.Circle;
Omena.Position = paikka;
Omena.Image = omenakuva;
Omena.Tag = "omena";
Add(Omena);
OmenaKentalla = true;
return Omena;
}
private PhysicsObject LuoSeina()
{
PhysicsObject Seina = PhysicsObject.CreateStaticObject(leveys, korkeus);
Seina.Color = Color.Green;
Seina.Image = seinakuva;
Seina.Tag = "seina";
return Seina;
}
/// <summary>
/// Tehdään aliohjelma, joka luo uusia osia madon perään.
/// </summary>
public PhysicsObject LuoMatoKeho()
{
MatoMuu = new Objektit(leveys-8, korkeus-8);
MatoMuu.Tag = "matokeho";
MatoMuu.Image = matokehokuva;
Vector Paikka = MatoSijainti[MatoSijainti.Count - 1 - MatoKeho.Count];
MatoMuu.IgnoresCollisionResponse = true;
MatoMuu.Position = Paikka;
Add(MatoMuu);
MatoKeho.Add(MatoMuu);
return MatoMuu;
}
private void MatoSyoOmenan()
{
Omena.Destroy();
OmenaKentalla = false;
}
private void VaihdaSuuntaYlos()
{
if (SuuntaAlas==true)
{
SuuntaOikea = false;
SuuntaVasen = false;
SuuntaYlos = false;
SuuntaAlas = true;
}
else
{
SuuntaOikea = false;
SuuntaVasen = false;
SuuntaYlos = true;
SuuntaAlas = false;
}
}
private void VaihdaSuuntaAlas()
{
if (SuuntaYlos==true)
{
SuuntaOikea = false;
SuuntaVasen = false;
SuuntaYlos = true;
SuuntaAlas = false;
}
else
{
SuuntaOikea = false;
SuuntaVasen = false;
SuuntaYlos = false;
SuuntaAlas = true;
}
}
private void VaihdaSuuntaOikea()
{
if (SuuntaVasen == true)
{
SuuntaOikea = false;
SuuntaVasen = true;
SuuntaYlos = false;
SuuntaAlas = false;
}
else
{
SuuntaOikea = true;
SuuntaVasen = false;
SuuntaYlos = false;
SuuntaAlas = false;
}
}
private void VaihdaSuuntaVasen()
{
if (SuuntaOikea==true)
{
SuuntaOikea = true;
SuuntaVasen = false;
SuuntaYlos = false;
SuuntaAlas = false;
}
else
{
SuuntaOikea = false;
SuuntaVasen = true;
SuuntaYlos = false;
SuuntaAlas = false;
}
}
private void LuoAikalaskuri()
{
Timer aikalaskuri = new Timer();
aikalaskuri.Interval = 0.1;
aikalaskuri.Timeout += PaivitaKentta;
aikalaskuri.Start();
}
/// <summary>
/// Kun ajastimesta loppuu aika, siirtyy peli tähän funktioon, jonka tarkoituksena on hahmottaa, mitä kaikkea pelissä on tapahtunut ja miten siihen tulee reagoida.
///
/// </summary>
private void PaivitaKentta()
{
if (MatoLiikkunut == false)
{
return;
}
if (OmenaKentalla == false)
{
LuoMatoKeho();
LuoOmena();
}
MatoSijainti.Add(new Vector(Mato.X,Mato.Y));
LiikutaMatoa();
LiikutaKehoa();
MatoSijainti.Add(new Vector(Mato.X,Mato.Y));
}
private void LiikutaMatoa()
{
if (SuuntaYlos==true)
{
Mato.Y = Mato.Y + leveys;
Mato.Angle = Angle.FromDegrees(90);
}
if (SuuntaAlas==true)
{
Mato.Y= Mato.Y - leveys;
Mato.Angle = Angle.FromDegrees(270);
}
if (SuuntaOikea==true)
{
Mato.X= Mato.X + leveys;
Mato.Angle = Angle.FromDegrees(0);
}
if (SuuntaVasen==true)
{
Mato.X= Mato.X - leveys;
Mato.Angle = Angle.FromDegrees(180);
}
}
/// <summary>
/// Tehdään silmukka, joka käy madon kaikki sijainnit ja liikuttaa madon muut osat niiden mukaan.
/// </summary>
private void LiikutaKehoa()
{
if (MatoKeho.Count==0)
{
return;
}
MatoLiikkunut = false;
MatoKeho[0].X = MatoSijainti[MatoSijainti.Count - 1].X;
MatoKeho[0].Y = MatoSijainti[MatoSijainti.Count - 1].Y;
for (int i = 1; i < MatoKeho.Count; i++)
{
MatoKeho[i].X = MatoSijainti[MatoSijainti.Count - 2*i].X;
MatoKeho[i].Y = MatoSijainti[MatoSijainti.Count - 2*i].Y;
}
MatoLiikkunut = true;
}
public class Objektit : PhysicsObject
{
public Objektit(double leveys, double korkeus)
: base(leveys, korkeus)
{
Mass = 0;
IsUpdated = true;
}
}
}
\ No newline at end of file
<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>
<Folder Include="Content\" />
</ItemGroup>
<ItemGroup>
<None Update="kuvat\kenttatausta.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="kuvat\matopaa.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="kuvat\matokeho.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="kuvat\omena.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="kuvat\seina.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\seina.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\omena.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\matopaa.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\matokeho.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\kenttatausta.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Compile Remove="nollaaja.cs" />
</ItemGroup>
</Project>
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
#endregion
namespace Matopeli
{
/// <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 matopeli.matopeli())
{
game.Run();
}
}
}
}
\ No newline at end of file
namespace Matopeli;
class nollaaja
{
public int X { get; set; }
public int Y { get; set; }
public nollaaja()
{
X = 0;
Y = 0;
}
}
\ No newline at end of file
suunnitelma/esimerkkikuva.png

9.92 KiB

suunnitelma/kuvat.png

2.9 KiB