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 (7)
Showing
with 653 additions and 0 deletions
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/projectSettingsUpdater.xml
/modules.xml
/.idea.Harjoitustyö.iml
/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="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}") = "Lokkihunter", "Lokkihunter\Lokkihunter.csproj", "{B39A6F49-1760-412C-B9CA-CFC5407D155D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LokkihunterTest", "LokkihunterTest\LokkihunterTest.csproj", "{B2103F2D-F650-4902-BC1F-AB855E7C2EE9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Release|Any CPU.Build.0 = Release|Any CPU
{B2103F2D-F650-4902-BC1F-AB855E7C2EE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2103F2D-F650-4902-BC1F-AB855E7C2EE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B2103F2D-F650-4902-BC1F-AB855E7C2EE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B2103F2D-F650-4902-BC1F-AB855E7C2EE9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lokkihunter", "Lokkihunter\Lokkihunter.csproj", "{B39A6F49-1760-412C-B9CA-CFC5407D155D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B39A6F49-1760-412C-B9CA-CFC5407D155D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Reflection.Metadata;
using System.Xml;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
using SixLabors.ImageSharp.Memory;
namespace Lokkihunter;
/// @author sulasaal
/// @version 23.10.2023
/// <summary>
///
/// </summary>
public class Lokkihunter : PhysicsGame
{
private static readonly string[] kentta0 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta1 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta2 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta3 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta4 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta5 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta6 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta7 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta8 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[] kentta9 = {
" ",
" ",
" o ",
" ",
" v ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" A ",
};
private static readonly string[][] kenttalista =
{ kentta0, kentta1, kentta2, kentta3, kentta4, kentta5, kentta6, kentta7, kentta8, kentta9, kentta9 };
private static readonly Color[] ylaVarit = { Color.White, Color.LightYellow, Color.LightPink, Color.LightGreen };
private static readonly Color[] alaVarit = { Color.Blue, Color.Blue, Color.Blue, Color.Blue };
private static int tileWidth;
private static int tileHeight;
readonly Vector nopeusVasen = new Vector(200, 0);
readonly Vector nopeusOikea = new Vector(-200, 0);
private PhysicsObject pekka;
private PhysicsObject lokkiVasen;
private PhysicsObject lokkiOikea;
AssaultRifle pekkaAse;
PhysicsObject oikeaReuna;
PhysicsObject vasenReuna;
private readonly IntMeter kenttaNro = new IntMeter(0, 0, 10);
// private const int kenttaNro = 1;
public override void Begin()
{
UusiPeli();
AsetaOhjaimet();
}
void UusiPeli()
{
kenttaNro.Value = 0;
SeuraavaKentta();
}
void AsetaOhjaimet()
{
Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Show help");
Keyboard.Listen(Key.F5, ButtonState.Pressed, Begin, "New game");
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.D,ButtonState.Down, AsetaNopeusPekka, "Pekka: Liikkuu vasemmalle", pekka, nopeusVasen);
Keyboard.Listen(Key.D, ButtonState.Released, AsetaNopeusPekka, null, pekka, Vector.Zero);
Keyboard.Listen(Key.A,ButtonState.Down, AsetaNopeusPekka, "Pekka: Liikkuu oikealle", pekka, nopeusOikea);
Keyboard.Listen(Key.A, ButtonState.Released, AsetaNopeusPekka, null, pekka, Vector.Zero);
Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pekkaAse);
Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella");
}
void SeuraavaKentta()
{
// ClearAll();
// string[] kentankuva = kenttalista.Length;
// for (int kenttaNro = 1; kenttaNro <= kenttalista.Length; kenttaNro++)
// {
// if (kenttaNro > kenttalista.Length) Exit();
//
// LuoKentta($"kentta{kenttaNro}");
// }
kenttaNro.Value++;
if (kenttaNro.Value > kenttalista.Length)
{
// NaytaIlmoitus("All levels completed!", Color.Yellow);
return;
}
ClearAll();
int index = kenttaNro.Value - 1;
string[] tasonKuva = kenttalista[index];
if (index >= alaVarit.Length) index = alaVarit.Length - 1;
Level.Background.CreateGradient(alaVarit[index], ylaVarit[index]);
Level.Background.CreateGradient(Color.Green, Color.White);
tileWidth = 800 / tasonKuva[0].Length;
tileHeight = 480 / kenttalista.Length;
var tiles = TileMap.FromStringArray(tasonKuva);
tiles.SetTileMethod('A', LuoPekka, Color.Wheat);
tiles.SetTileMethod('v', LuoLokkiVasen, Color.Black);
tiles.SetTileMethod('o', LuoLokkiOikea, Color.Black);
tiles.Execute(tileWidth, tileHeight);
// alaReuna = Level.CreateBottomBorder(1, false);
// alaReuna.IgnoresExplosions = true;
// Add(alaReuna);
// ylaReuna = Level.CreateTopBorder(1, false);
// ylaReuna.IgnoresExplosions = true;
// Add(ylaReuna);
oikeaReuna = Level.CreateRightBorder(1.0, false);
oikeaReuna.Height = 1000;
oikeaReuna.X = 550;
oikeaReuna.Restitution = 1.0;
vasenReuna = Level.CreateLeftBorder(1.0, false);
vasenReuna.Height = 1000;
vasenReuna.X = -550;
vasenReuna.Restitution = 1.0;
Camera.ZoomToLevel();
}
/// <summary>
/// Aliohjelma luo Pekan ja antaa sille aseen.
/// </summary>
private void LuoPekka(Vector paikka, double leveys, double korkeus, Color vari)
{
pekka = new PhysicsObject(40.0, 40.0)
{
Shape = Shape.Circle,
Restitution = 1.0,
Color = vari,
Position = paikka,
Tag = "pelaaja"
};
Add(pekka);
pekkaAse = new AssaultRifle(40, 10)
{
Ammo =
{
Value = 100
},
FireRate = 5.0,
ProjectileCollision = AmmusOsui,
Position = pekka.Position + new Vector(pekka.Width / 2, 0),
Angle = Angle.FromDegrees(90)
};
pekka.Add(pekkaAse);
}
/// <summary>
/// Mitä tapahtuu kun ammus osuu lokkiin
/// </summary>
/// <param name="ammus">ammus</param>
/// <param name="kohde">eka mitä ammutaan</param>
private void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
{
Explosion rajahdys = new Explosion(50)
{
Position = kohde.Position
};
Add(rajahdys);
ammus.Destroy();
kohde.Destroy();
}
/// <summary>
/// Aliohjelma aseella ampumiseen
/// </summary>
/// <param name="ase">millä ammutaan</param>
void AmmuAseella(AssaultRifle ase)
{
PhysicsObject ammus = ase.Shoot();
if (ammus != null)
{
ammus.Size *= 4;
// ammus.Image = ...
ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
}
}
/// <summary>
/// Aliohjelma aseella tähtäämiseen hiirellä
/// </summary>
void Tahtaa()
{
Vector suunta = (Mouse.PositionOnWorld - pekkaAse.AbsolutePosition).Normalize();
pekkaAse.Angle = suunta.Angle;
}
/// <summary>
/// asettaa pekalle nopuden.
/// </summary>
/// <param name="_pekka">mitä oliota liikutetaan</param>
/// <param name="nopeus">millä nopeudella</param>
public void AsetaNopeusPekka(PhysicsObject _pekka, Vector nopeus)
{
pekka.Velocity = nopeus;
}
/// <summary>
/// Aliohjelma luo lokin
/// </summary>
/// <returns></returns>
private static PhysicsObject LuoLokki()
{
PhysicsObject lokki = new PhysicsObject(60.0, 20.0)
{
Shape = Shape.Rectangle,
Restitution = 1.0
};
// lokki.Image = ...
return lokki;
}
void LokkiLentaa(PhysicsObject lentaja, double vx)
{
lentaja.Hit(new Vector(vx, 0.0));
}
/// <summary>
/// Luodaan vasemmanpuoleinen lokki ja annetaan sille jokin satunnainen y-koordinaatin arvo.
/// </summary>
/// <param name="position"></param>
/// <param name="width"></param>
/// <param name="height"></param>
/// <param name="lokki"></param>
private void LuoLokkiVasen(Vector position, double width, double height, Color lokki)
{
lokkiVasen = LuoLokki();
LokkiLentaa(lokkiVasen, 150);
lokkiVasen.Y = RandomGen.NextDouble(200, 350);
lokkiVasen.Tag = "vasenlokki";
lokkiVasen.Restitution = 1.0;
Add(lokkiVasen);
}
/// <summary>
/// Luo oikeanpuoleisenlokin ja annetaan sille jokin satunnainen y-koordinaatti, mikä on eri
/// kuin vasemmanpuoleisen lokin.
/// </summary>
/// <param name="position"></param>
/// <param name="width"></param>
/// <param name="height"></param>
/// <param name="lokki"></param>
private void LuoLokkiOikea(Vector position, double width, double height,Color lokki)
{
lokkiOikea = LuoLokki();
LokkiLentaa(lokkiOikea, -150);
double y;
do
{
y = RandomGen.NextDouble(200, 350);
}
while (Math.Abs(y - lokkiVasen.Y) < 40);
lokkiOikea.Y = y;
lokkiOikea.Tag = "oikealokki";
lokkiOikea.Restitution = 1.0;
Add(lokkiOikea);
}
// void LisaaLaskurit()
// {
// kentanNro = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0);
// }
//
// IntMeter LuoPisteLaskuri(double x, double y)
// {
// IntMeter laskuri = new IntMeter(0);
// laskuri.MaxValue = 10;
//
// Label naytto = new Label();
// naytto.BindTo(laskuri);
// naytto.X = x;
// naytto.Y = y;
// naytto.TextColor = Color.White;
// naytto.BorderColor = Level.Background.Color;
// naytto.Color = Level.Background.Color;
// Add(naytto);
//
// return laskuri;
// }
//
// törmäys vasen ja oikea reuna
// pisteeta
// kentät
// kommentit koodiin
// alkuvalikko
}
\ 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>
</Project>
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
#endregion
namespace Lokkihunter
{
/// <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 Lokkihunter();
game.Run();
}
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Net;
using System.Xml;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
using NUnit.Framework;
using static Lokkihunter.Lokkihunter;
using Lokkihunter;
namespace TestLokkihunter
{
[TestFixture]
[DefaultFloatingPointTolerance(0.000001)]
public class TestLokkihunter
{
[Test]
public void TestTarkistaLokkiOikeaReuna495()
{
Assert.AreEqual( true, TarkistaLokkiOikeaReuna(40, 400) , "in method TarkistaLokkiOikeaReuna, line 496");
Assert.AreEqual( true, TarkistaLokkiOikeaReuna(0, 400) , "in method TarkistaLokkiOikeaReuna, line 497");
Assert.AreEqual( true, TarkistaLokkiOikeaReuna(-400, 400) , "in method TarkistaLokkiOikeaReuna, line 498");
Assert.AreEqual( true, TarkistaLokkiOikeaReuna(400, 400) , "in method TarkistaLokkiOikeaReuna, line 499");
Assert.AreEqual( false, TarkistaLokkiOikeaReuna(500, 400) , "in method TarkistaLokkiOikeaReuna, line 500");
}
[Test]
public void TestTarkistaLokkiVasenReuna516()
{
Assert.AreEqual( false, TarkistaLokkiVasenReuna(-40, -400) , "in method TarkistaLokkiVasenReuna, line 517");
Assert.AreEqual( false, TarkistaLokkiVasenReuna(0, -400) , "in method TarkistaLokkiVasenReuna, line 518");
Assert.AreEqual( false, TarkistaLokkiVasenReuna(400, -400) , "in method TarkistaLokkiVasenReuna, line 519");
Assert.AreEqual( true, TarkistaLokkiVasenReuna(-400, -400) , "in method TarkistaLokkiVasenReuna, line 520");
Assert.AreEqual( true, TarkistaLokkiVasenReuna(-500, -400) , "in method TarkistaLokkiVasenReuna, line 521");
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.13.1"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Lokkihunter\Lokkihunter.csproj"/>
</ItemGroup>
</Project>
suunnitelma/esimerkkikuva.png

9.92 KiB

suunnitelma/malli.png

29.8 KiB