Skip to content
Snippets Groups Projects
Commit 1171b78c authored by sailyts's avatar sailyts
Browse files

Pelin viimeistelyä, oma koneeni meni rikki

parent 8a28a01a
No related branches found
No related tags found
No related merge requests found
......@@ -3,18 +3,24 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29709.97
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Harjoitustyö", "Harjoitustyö\Harjoitustyö.csproj", "{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Harjoitustyö", "Harjoitustyö\Harjoitustyö.csproj", "{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Debug|x86.ActiveCfg = Debug|x86
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Debug|x86.Build.0 = Debug|x86
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Release|Any CPU.Build.0 = Release|Any CPU
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Release|x86.ActiveCfg = Release|x86
{DAA6A487-FEF6-4491-BC7F-B32CE58D745F}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Diagnostics;
using System.Timers;
using Jypeli;
using Jypeli.Assets;
using Jypeli.Controls;
using Jypeli.Widgets;
public class Vihollinen : PhysicsObject
{
......@@ -16,9 +11,9 @@ public class Vihollinen : PhysicsObject
: base(leveys, korkeus)
{
Osumat = 0;
}
public void OtaVastaanOsuma()
{
Osumat++;
......@@ -28,13 +23,19 @@ public class Vihollinen : PhysicsObject
}
}
}
public class Harjoitustyo : PhysicsGame
{
PhysicsObject tykki;
private PhysicsObject tykki;
private static System.Timers.Timer aika;
private int koko = 80;
private const int koko = 80;
private const int panoksenKoko = 20;
private Vector[] vihuSpawnit = new Vector[5];
private Vector[] tykkiSpawnit = new Vector[20];
private int vihuTaulukkoPaikka = 0;
private int tykkiTaulukkoPaikka = 0;
public override void Begin()
{
......@@ -43,12 +44,6 @@ public class Harjoitustyo : PhysicsGame
AloitaAjastin();
LuoVihu();
Mouse.Listen(MouseButton.Left, ButtonState.Released, LisaaTykki, "Lisää peliin tykin");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
......@@ -63,28 +58,32 @@ public class Harjoitustyo : PhysicsGame
tykki.MakeStatic();
//tykki.IgnoresGravity = true;
Add(tykki);
AmmuTykillä(paikka);
AmmuTykillä();
AloitaAjastin();
AddCollisionHandler<PhysicsObject, Vihollinen>(tykki, "vihu", CollisionHandler.DestroyBoth);
}
public void AmmuTykillä(Vector paikka)
public void AmmuTykillä()
{
Vihollinen panos = new Vihollinen(koko / 5, koko / 5);
PhysicsObject panos = new PhysicsObject(panoksenKoko, panoksenKoko);
panos.IgnoresGravity = true;
panos.Shape = Shape.Circle;
panos.Tag = "vihu";
panos.Mass = 0;
panos.CollisionIgnoreGroup = 2;
panos.Position = paikka;
panos.Position = tykki.Position;
panos.LinearDamping = 1;
panos.Velocity = new Vector(1000, 0);
Add(panos);
AddCollisionHandler<Vihollinen, Vihollinen>(panos, "vihu", CollisionHandler.DestroyBoth);
AddCollisionHandler<PhysicsObject, Vihollinen>(panos, "vihu", TormattiinViholliseen);
}
}
public void TormattiinViholliseen(PhysicsObject tykki, Vihollinen kohde)
public void TormattiinViholliseen(PhysicsObject panos, Vihollinen kohde)
{
kohde.OtaVastaanOsuma();
panos.Destroy();
}
public Vector LahinTykkiSpawn()
{
......@@ -108,8 +107,8 @@ public class Harjoitustyo : PhysicsGame
kentta.Execute(koko, koko);
kentta.Optimize('l');
Level.CreateBorders();
Level.Size = new Vector(1000, 800);
SetWindowSize(1000, 800);
Level.Size = new Vector(1400, 800);
SetWindowSize(1400, 800);
Camera.ZoomToAllObjects();
Gravity = new Vector(0, -400);
......@@ -134,8 +133,7 @@ public class Harjoitustyo : PhysicsGame
spawn.IgnoresGravity = true;
spawn.Position = paikka;
spawn.IsVisible = false;
int vihuTaulukkoPaikka = 0;
int tykkiTaulukkoPaikka = 0;
if (tunniste == 'v')
{
vihuSpawnit[vihuTaulukkoPaikka] = spawn.Position;
......@@ -151,7 +149,7 @@ public class Harjoitustyo : PhysicsGame
}
private void AloitaAjastin()
{
aika = new System.Timers.Timer(2000);
aika = new System.Timers.Timer(4000);
aika.Elapsed += AjastettuToiminto;
aika.AutoReset = true;
aika.Enabled = true;
......@@ -165,16 +163,11 @@ public class Harjoitustyo : PhysicsGame
Vihollinen vihu = new Vihollinen(koko, koko);
vihu.Color = Color.BloodRed;
vihu.Shape = Shape.Circle;
vihu.Mass = 1;
vihu.Tag = "vihu";
vihu.Position = vihuSpawnit[RandomGen.NextInt(5)];
//vihu.StaticFriction = 1;
//vihu.KineticFriction = 1;
vihu.LinearDamping = 1;
//vihu.Acceleration = new Vector(-4000, 0);
vihu.Velocity = new Vector(-800, 0);
Add(vihu);
//vihu.Push(new Vector(-4000, 0));
//vihu.Hit(new Vector(-1000, 0));
//vihu.CollisionIgnoreGroup = 1;
}
}
......@@ -3,9 +3,12 @@
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFrameworks>netcoreapp3.1;netcoreapp3.0</TargetFrameworks>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<ItemGroup>
......
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