Skip to content
Snippets Groups Projects
Commit 5ea359de authored by Eronen Oskari Veikka Viljami's avatar Eronen Oskari Veikka Viljami
Browse files

Harjoitustyötä päivitetty

parent f134fecf
No related branches found
No related tags found
No related merge requests found
No preview for this file type
File added
......@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 25.0.1700.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pomppupeli", "Pomppupeli\Pomppupeli.csproj", "{49A2616D-1DE3-4953-A06A-242A3D764003}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pomppupeli", "Pomppupeli\Pomppupeli.csproj", "{DF36EB9E-237C-47DB-8B13-065E5A7C877C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -11,15 +11,15 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{49A2616D-1DE3-4953-A06A-242A3D764003}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{49A2616D-1DE3-4953-A06A-242A3D764003}.Debug|Any CPU.Build.0 = Debug|Any CPU
{49A2616D-1DE3-4953-A06A-242A3D764003}.Release|Any CPU.ActiveCfg = Release|Any CPU
{49A2616D-1DE3-4953-A06A-242A3D764003}.Release|Any CPU.Build.0 = Release|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DF36EB9E-237C-47DB-8B13-065E5A7C877C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0CE2B847-1698-4110-9301-C5C1D4E7E487}
SolutionGuid = {486C5F61-CE13-4CE9-9285-6D46CAF63DD9}
EndGlobalSection
EndGlobal
File added
File added
######################################
######################################
######################################
######################################
###### ########################
###### ####### ##### ####
*
# *
N # XXX # * #
######################################
\ No newline at end of file
Harjoitustyo/Pomppupeli/Content/pallo.png

52.7 KiB

Harjoitustyo/Pomppupeli/Content/piikki.png

23.8 KiB

Harjoitustyo/Pomppupeli/Content/rengas.png

43.9 KiB

......@@ -7,12 +7,115 @@ using Jypeli.Widgets;
public class Pomppupeli : PhysicsGame
{
private const double nopeus = 200;
private const double hyppynopeus = 500;
private const int ruudunKoko = 40;
private PlatformCharacter pelaaja1;
private Image palloKuva = LoadImage("pallo.png");
private Image rengasKuva = LoadImage("rengas.png");
private Image piikkiKuva = LoadImage("piikki.png");
public override void Begin()
{
// Kirjoita ohjelmakoodisi tähän
Gravity = new Vector(0, -1000);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
LuoKentta();
LisaaNappaimet();
Camera.Follow(pelaaja1);
Camera.ZoomFactor = 2.0;
Camera.StayInLevel = true;
}
private void LuoKentta()
{
TileMap kentta = TileMap.FromLevelAsset("kentta1.txt");
kentta.SetTileMethod('#', LisaaTaso);
kentta.SetTileMethod('*', LisaaRengas);
kentta.SetTileMethod('N', LisaaPelaaja);
kentta.SetTileMethod('X', LisaaPiikki);
kentta.Execute(ruudunKoko, ruudunKoko);
Level.CreateBorders();
Level.Background.CreateGradient(Color.White, Color.SkyBlue);
}
private void LisaaTaso(Vector paikka, double leveys, double korkeus)
{
PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
taso.Position = paikka;
taso.Color = Color.DarkRed;
Add(taso);
}
private void LisaaRengas(Vector paikka, double leveys, double korkeus)
{
PhysicsObject rengas = PhysicsObject.CreateStaticObject(leveys, korkeus);
rengas.IgnoresCollisionResponse = true;
rengas.Position = paikka;
rengas.Image = rengasKuva;
rengas.Tag = "rengas";
Add(rengas);
}
private void LisaaPiikki(Vector paikka, double leveys, double korkeus)
{
PhysicsObject piikki = PhysicsObject.CreateStaticObject(leveys, korkeus);
piikki.IgnoresCollisionResponse = true;
piikki.Position = paikka;
piikki.Image = piikkiKuva;
piikki.Tag = "piikki";
Add(piikki);
}
private void LisaaPelaaja(Vector paikka, double leveys, double korkeus)
{
pelaaja1 = new PlatformCharacter(leveys, korkeus);
pelaaja1.Position = paikka;
pelaaja1.Mass = 4.0;
pelaaja1.Image = palloKuva;
AddCollisionHandler(pelaaja1, "rengas", TormaaRenkaaseen);
AddCollisionHandler(pelaaja1, "piikki", TormaaPiikkiin);
Add(pelaaja1);
}
private void LisaaNappaimet()
{
Keyboard.Listen(Key.O, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);
Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);
Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppynopeus);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
}
private void Liikuta(PlatformCharacter hahmo, double nopeus)
{
hahmo.Walk(nopeus);
}
private void Hyppaa(PlatformCharacter hahmo, double nopeus)
{
hahmo.Jump(nopeus);
}
private void TormaaRenkaaseen(PhysicsObject hahmo, PhysicsObject rengas)
{
MessageDisplay.Add("Keräsit renkaan!");
rengas.Destroy();
}
private void TormaaPiikkiin(PhysicsObject hahmo, PhysicsObject piikki)
{
MessageDisplay.Add("Pallo puhkesi, voi ei!");
hahmo.Destroy();
ConfirmExit();
}
}
......
......@@ -12,5 +12,20 @@
<PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*" />
</ItemGroup>
<ItemGroup>
<None Update="Content\maali.wav">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\norsu.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\tahti.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\kentta1.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment