Skip to content
Snippets Groups Projects
Commit 309190c0 authored by Salonen Matteus Elmeri's avatar Salonen Matteus Elmeri
Browse files

Resoluutio muutettu

parent 970c3528
No related branches found
No related tags found
No related merge requests found
Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png

386 KiB | W: | H:

Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png

309 KiB | W: | H:

Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png
Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png
Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png
Harjoitustyo/HyttysPeli/Content/hyttyskarkoite.png
  • 2-up
  • Swipe
  • Onion skin
Harjoitustyo/HyttysPeli/Content/taustakuva.jpg

69.7 KiB

......@@ -14,16 +14,18 @@ namespace HyttysPeli;
/// </summary>
public class HyttysPeli : PhysicsGame
{
Image taustaKuva = LoadImage("taustakuva");
public override void Begin()
{
MasterVolume = 0.05;
Level.Background.Color = Color.Green;
BoundingRectangle alaosa = new BoundingRectangle(new Vector(Level.Left, 0), Level.BoundingRect.BottomRight);
BoundingRectangle ylaosa = new BoundingRectangle(Level.BoundingRect.TopLeft, new Vector(Level.Right, 0));
SetWindowSize(1920, 1080, true);
Level.Background.Image = taustaKuva;
Level.CreateBorders();
BoundingRectangle alaosa = new BoundingRectangle(new Vector(-100, 1), Level.BoundingRect.BottomRight);
BoundingRectangle ylaosa = new BoundingRectangle(new Vector(-960, 0), new Vector(960, 540));
PhysicsObject pelaaja = new PhysicsObject(100, 100, Shape.Rectangle);
PhysicsObject pelaaja = new PhysicsObject(25, 100, Shape.Rectangle);
pelaaja.Position = RandomGen.NextVector(alaosa);
pelaaja.Image = LoadImage("hyttyskarkoite");
Add(pelaaja);
......@@ -35,22 +37,26 @@ public class HyttysPeli : PhysicsGame
Keyboard.Listen(Key.Right, ButtonState.Down, LyoHyttysta, "Pelaaja oikealle", pelaaja, new Vector(20, 0));
for(int i = 0; i < 20; i++)
LuoSattunnainenHyttynen(this, ylaosa, 60, "hyttynen");
for (int i = 0; i < 25; i++)
{
LuoHyttynen(this, ylaosa, 60, "hyttynen");
}
for (int j = 0; j < 5; j++)
LuoSattunnainenAmpiainen(this, ylaosa, 60, "ampiainen");
for (int j = 0; j < 10; j++)
{
LuoAmpiainen(this, ylaosa, 60, "ampiainen");
}
AddCollisionHandler(pelaaja, "hyttynen", PelaajaTormasiHyttyseen);
AddCollisionHandler(pelaaja, "ampiainen", PelaajaTormasiAmpiaiseen);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
/// <summary>
/// Metodi johon tullaan kun pelaaja ja joku hyttynen törmäävät.
/// Metodi johon tullaan kun pelaaja ja hyttynen törmäävät.
/// Luodaan hyttysen kohdalla räjähdys ja poistetaan hyttynen pelistä
/// </summary>
/// <param name="pelaaja">pelaaja joka törmäsi</param>
......@@ -72,15 +78,6 @@ public class HyttysPeli : PhysicsGame
/// <param name="pelaaja">pelaaja joka törmäsi</param>
/// <param name="ampiainen">ampiainen johon pelaaja törmäsi</param>
private void PelaajaTormasiAmpiaiseen(PhysicsObject pelaaja, PhysicsObject ampiainen)
{
AloitaAlusta();
}
/// <summary>
/// Aloittaa pelin alusta
/// </summary>
void AloitaAlusta()
{
ClearAll();
Begin();
......@@ -106,11 +103,11 @@ public class HyttysPeli : PhysicsGame
/// <param name="vauhti">Hyttysen vauhti alkutilanteessa</param>
/// <param name="tunniste">Hyttyselle annettava tunniste</param>
/// <returns>Viite luotuun hyttyseen</returns>
public static PhysicsObject LuoSattunnainenHyttynen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
public PhysicsObject LuoHyttynen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
{
double leveys = 50;
double korkeus = 50;
PhysicsObject hyttynen = new PhysicsObject(leveys, korkeus, Shape.Circle);
PhysicsObject hyttynen = new PhysicsObject(leveys, korkeus, Shape.Rectangle);
hyttynen.Position = RandomGen.NextVector(rect);
Vector suunta = RandomGen.NextVector(0, vauhti);
hyttynen.Hit(suunta);
......@@ -129,11 +126,11 @@ public class HyttysPeli : PhysicsGame
/// <param name="vauhti">Ampiaisen vauhti alkutilanteessa</param>
/// <param name="tunniste">Ampiaiselle annettava tunniste</param>
/// <returns>Viite luotuun Ampiaiseen</returns>
public static PhysicsObject LuoSattunnainenAmpiainen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
public PhysicsObject LuoAmpiainen(PhysicsGame peli, BoundingRectangle rect, double vauhti, string tunniste)
{
double leveys = 50;
double korkeus = 50;
PhysicsObject ampiainen = new PhysicsObject(leveys, korkeus, Shape.Circle);
double leveys = 75;
double korkeus = 75;
PhysicsObject ampiainen = new PhysicsObject(leveys, korkeus, Shape.Rectangle);
ampiainen.Position = RandomGen.NextVector(rect);
Vector suunta = RandomGen.NextVector(0, vauhti);
ampiainen.Hit(suunta);
......@@ -142,23 +139,4 @@ public class HyttysPeli : PhysicsGame
peli.Add(ampiainen);
return ampiainen;
}
/// <summary>
/// Laskee hyttysen alan
/// </summary>
/// <param name="kanta">hyttysen kanta</param>
/// <param name="korkeus">hyttysen korkeus</param>
/// <returns>hyttysen ala</returns>
/// <example>
/// <pre name="test">
/// HyttysenAla(0,0) ~~~ 0;
/// HyttysenAla(1,0) ~~~ 0;
/// HyttysenAla(1,1) ~~~ 0.5;
/// HyttysenAla(3,5) ~~~ 7.5;
/// </pre>
/// </example>
public static double HyttysenAla(double kanta, double korkeus)
{
return kanta * korkeus * 1 / 2;
}
}
......@@ -23,6 +23,9 @@
<None Update="Content\ampiainen.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\taustakuva.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
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