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 (17)
Showing
with 613 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.Collections.Generic;
using Jypeli;
namespace matopeli;
/// @author Paulus Kopperoinen
/// @version 30.10.2023
/// <summary>
/// Perinteinen matopeli, jossa tavoitteena kasvattaa matoa mahdollisimman suureksi omenia syömällä.
/// </summary>
public class Matopeli : PhysicsGame
{
private static readonly string[] Tasonkuva = {
"#####################",
"# #",
"# #",
"# #",
"# #",
"# #",
"# m #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"# #",
"#o #",
"#####################",
};
private Objektit _mato;
private Objektit _omena;
private Objektit _matoMuu;
public IntMeter Pistelaskuri;
public IntMeter Ennatyslaskuri;
public List<Vector> MatoSijainti = new List<Vector>();
public List<PhysicsObject> MatoKeho = new List<PhysicsObject>();
public int Leveys;
public int Korkeus;
public double Nopeus;
private Vector _omenaAlkuPaikka;
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 bool _suuntaYlos;
private bool _suuntaAlas;
private bool _suuntaOikea;
private bool _suuntaVasen;
private bool _matoLiikkunut;
private bool _omenaKentalla;
public override void Begin()
{
AloitaUusiPeli();
}
/// <summary>
/// Poistaa vanhan pelin tiedot ja alustaa uuden pelin
/// </summary>
public void AloitaUusiPeli()
{
MatoKeho.Clear();
MatoSijainti.Clear();
ClearAll();
Asetukset();
TileMap tiles = TileMap.FromStringArray(Tasonkuva);
tiles['#'] = LuoSeina;
tiles['m'] = LuoMato;
tiles.Insert(Leveys,Korkeus);
_omenaAlkuPaikka = _mato.Position;
Asetaohjaimet();
LuoAikalaskuri();
LuoPistelaskuri();
LuoOmena();
Level.Background.Color = Color.LightGreen;
}
/// <summary>
/// Määrittää ohjaimet, joita pelaaja voi käyttää ja mitä niitä painamalla tapahtuu
/// </summary>
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");
Keyboard.Listen(Key.Enter, ButtonState.Pressed, LiikutaMatoa, "New Game");
}
/// <summary>
/// Laskee pisteet, joita kerätään omenoita syömällä
/// </summary>
void LuoPistelaskuri()
{
Pistelaskuri = new IntMeter(0);
Label pistenaytto = new Label();
pistenaytto.X = Screen.Left + 500;
pistenaytto.Y = Screen.Top - 10;
pistenaytto.TextColor = Color.Black;
pistenaytto.Color = Color.White;
pistenaytto.Title = "Pisteet: ";
pistenaytto.BindTo(Pistelaskuri);
Add(pistenaytto);
}
/// <summary>
/// Pelin asetukset
/// </summary>
private void Asetukset()
{
Leveys = 40;
Korkeus = 40;
_suuntaYlos = false;
_suuntaAlas = false;
_suuntaOikea = true;
_suuntaVasen = false;
Nopeus = 0.1;
_matoLiikkunut = false;
_omenaKentalla = true;
}
/// <summary>
/// Päättää pelin ja aloitaa uuden, kun mato kuolee
/// </summary>
private void MatoKuolee()
{
AloitaUusiPeli();
}
/// <summary>
/// Luo madon kentälle
/// </summary>
/// <returns></returns>
private PhysicsObject LuoMato()
{
_mato = new Objektit(Leveys-5, Korkeus-5);
_mato.Image = Matopaakuva;
Add(_mato);
_mato.Tag = "mato";
AddCollisionHandler(_mato, "omena", delegate(IPhysicsObject _, IPhysicsObject _) {MatoSyoOmenan(); });
AddCollisionHandler(_mato, "seina", delegate(IPhysicsObject _, IPhysicsObject _) {MatoKuolee(); });
AddCollisionHandler(_mato, "matokeho", delegate(IPhysicsObject _, IPhysicsObject _) {MatoKuolee(); });
return _mato;
}
/// <summary>
/// Luodaan omena johonkin satunnaiseen kohtaan kartalla, joka ei ole samassa kohtaa madon kanssa.
/// </summary>
/// <returns></returns>
private void LuoOmena()
{
Vector paikka = ArvoOmenaPaikka();
_omena = new Objektit(Korkeus-10, Leveys-10);
_omena.Shape = Shape.Circle;
_omena.Position = paikka;
_omena.Image = _omenakuva;
_omena.Tag = "omena";
Add(_omena);
_omenaKentalla = true;
}
/// <summary>
/// tehtävä on arpoa omenalle paikka, johon se luodaan. En ole vieläkään varma kuinka hyvin tämä toimii.
/// </summary>
/// <returns></returns>
private Vector ArvoOmenaPaikka()
{
Vector omenaPaikka;
double x;
double y;
y = RandomGen.NextInt(-10, 5);
y = _omenaAlkuPaikka.Y + y * Leveys;
x = RandomGen.NextInt(-8, 8);
x = _omenaAlkuPaikka.X + x * Leveys;
if (x - _mato.X < Leveys && y - _mato.Y < Leveys)
{
y = RandomGen.NextInt(-10, 5);
y = _omenaAlkuPaikka.Y + y * Leveys;
x = RandomGen.NextInt(-8, 8);
x = _omenaAlkuPaikka.X + x * Leveys;
}
omenaPaikka = new Vector(x, y);
return omenaPaikka;
}
/// <summary>
/// Luo kentän reunat
/// </summary>
/// <returns></returns>
private PhysicsObject LuoSeina()
{
PhysicsObject seina = new PhysicsObject(Leveys, Korkeus);
seina.MakeStatic();
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-6, Korkeus-6);
_matoMuu.Tag = "matokeho";
_matoMuu.Image = _matokehokuva;
Vector paikka = MatoSijainti[MatoSijainti.Count -1 - MatoKeho.Count];
_matoMuu.Position = paikka;
Add(_matoMuu);
MatoKeho.Add(_matoMuu);
AddCollisionHandler(_matoMuu, "omena", delegate(IPhysicsObject _, IPhysicsObject _) {LuoUusiOmena(); });
return _matoMuu;
}
/// <summary>
/// Jos omena luodaan madon kehon sisään, tämä aliohjelma luo uuden omenan vanhan tilalle
/// </summary>
private void LuoUusiOmena()
{
_omena.Destroy();
_omenaKentalla = false;
}
/// <summary>
/// Tekee tarvittavat toimet, kun mato onnistuu syömään omenan
/// </summary>
private void MatoSyoOmenan()
{
_omena.Destroy();
Pistelaskuri.Value += 1;
_omenaKentalla = false;
}
/// <summary>
/// Antaa tiedon LiikutaMatoa aliohjelmalle, että madon pitäisi kääntyä ylös.
/// </summary>
private void VaihdaSuuntaYlos()
{
if (_suuntaAlas)
{
_suuntaOikea = false;
_suuntaVasen = false;
_suuntaYlos = false;
_suuntaAlas = true;
}
else
{
_suuntaOikea = false;
_suuntaVasen = false;
_suuntaYlos = true;
_suuntaAlas = false;
}
}
/// <summary>
/// Antaa tiedon LiikutaMatoa aliohjelmalle, että madon pitäisi kääntyä alas.
/// </summary>
private void VaihdaSuuntaAlas()
{
if (_suuntaYlos)
{
_suuntaOikea = false;
_suuntaVasen = false;
_suuntaYlos = true;
_suuntaAlas = false;
}
else
{
_suuntaOikea = false;
_suuntaVasen = false;
_suuntaYlos = false;
_suuntaAlas = true;
}
}
/// <summary>
/// Antaa tiedon LiikutaMatoa aliohjelmalle, että madon pitäisi kääntyä oikeaan.
/// </summary>
private void VaihdaSuuntaOikea()
{
if (_suuntaVasen)
{
_suuntaOikea = false;
_suuntaVasen = true;
_suuntaYlos = false;
_suuntaAlas = false;
}
else
{
_suuntaOikea = true;
_suuntaVasen = false;
_suuntaYlos = false;
_suuntaAlas = false;
}
}
/// <summary>
/// Antaa tiedon LiikutaMatoa aliohjelmalle, että madon pitäisi kääntyä vasempaan.
/// </summary>
private void VaihdaSuuntaVasen()
{
if (_suuntaOikea)
{
_suuntaOikea = true;
_suuntaVasen = false;
_suuntaYlos = false;
_suuntaAlas = false;
}
else
{
_suuntaOikea = false;
_suuntaVasen = true;
_suuntaYlos = false;
_suuntaAlas = false;
}
}
/// <summary>
/// Aikalaskuri toimii pelin moottorina ja antaa PaivitaKentälle tiedon, kun pitää tarkistaa mitä kentällä on tapahtunut.
/// </summary>
private void LuoAikalaskuri()
{
Timer aikalaskuri = new Timer();
aikalaskuri.Interval=Nopeus;
aikalaskuri.Start();
aikalaskuri.Timeout += PaivitaKentta;
}
/// <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));
}
/// <summary>
/// LiikutaMatoa aliohjelman tehtävä on selvittää tieto siitä, mihin suuntaan on tarkoitus liikkua ja liikuttaa matoa siihen suuntaan.
/// </summary>
private void LiikutaMatoa()
{
_matoLiikkunut = false;
if (_suuntaYlos)
{
_mato.Y = _mato.Y + Leveys;
_mato.Angle = Angle.FromDegrees(90);
}
if (_suuntaAlas)
{
_mato.Y= _mato.Y - Leveys;
_mato.Angle = Angle.FromDegrees(270);
}
if (_suuntaOikea)
{
_mato.X= _mato.X + Leveys;
_mato.Angle = Angle.FromDegrees(0);
}
if (_suuntaVasen)
{
_mato.X= _mato.X - Leveys;
_mato.Angle = Angle.FromDegrees(180);
}
_matoLiikkunut = true;
}
/// <summary>
/// Liikutakehoa, aliohjelman tehtävänä on liikuttaa madon kehoa sen pään mukaisesti.
/// </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 = 1000;
IsUpdated = true;
IgnoresCollisionResponse = 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