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

korjattiin tekstejä

parent d575dc9e
No related branches found
No related tags found
No related merge requests found
......@@ -29,72 +29,66 @@ public class HyttysPeli : PhysicsGame
Add(pelaaja);
Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä avustus");
Keyboard.Listen(Key.Up, ButtonState.Down, LyoKolmiota, "Pelaaja ylös", pelaaja, new Vector(0, 20));
Keyboard.Listen(Key.Down, ButtonState.Down, LyoKolmiota, "Pelaaja alas", pelaaja, new Vector(0, -20));
Keyboard.Listen(Key.Left, ButtonState.Down, LyoKolmiota, "Pelaaja vasemmalle", pelaaja, new Vector(-20, 0));
Keyboard.Listen(Key.Right, ButtonState.Down, LyoKolmiota, "Pelaaja oikealle", pelaaja, new Vector(20, 0));
Keyboard.Listen(Key.Up, ButtonState.Down, LyoHyttysta, "Pelaaja ylös", pelaaja, new Vector(0, 20));
Keyboard.Listen(Key.Down, ButtonState.Down, LyoHyttysta, "Pelaaja alas", pelaaja, new Vector(0, -20));
Keyboard.Listen(Key.Left, ButtonState.Down, LyoHyttysta, "Pelaaja vasemmalle", pelaaja, new Vector(-20, 0));
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, "vihu");
LuoSattunnainenHyttynen(this, ylaosa, 60, "hyttynen");
AddCollisionHandler(pelaaja, "vihu", PelaajaTormasi);
AddCollisionHandler(pelaaja, "hyttynen", PelaajaTormasi);
PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
}
/// <summary>
/// Metodi johon tullaan kun pelaaja ja joku kolmio törmäävät.
/// Mikäli pelaajan ala on suurempi kuin vihollisen ala,
/// luodaan vihollisen kohdalla räjähdys ja poistetaan vihollinen pelistä
/// sekä siirretään vihollisen ala pelaajalle.
/// Muuten lopetetaan peli. TODO: keksittävä parempi lopetus
/// Metodi johon tullaan kun pelaaja ja joku 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>
/// <param name="vihu">vihollinen johon pelaaja törmäsi</param>
private void PelaajaTormasi(PhysicsObject pelaaja, PhysicsObject vihu)
/// <param name="hyttynen">hyttynen johon pelaaja törmäsi</param>
private void PelaajaTormasi(PhysicsObject pelaaja, PhysicsObject hyttynen)
{
double pelaajanAla = KolmionAla(pelaaja.Width, pelaaja.Height);
double vihunAla = KolmionAla(vihu.Width, vihu.Height);
double pelaajanAla = HyttysenAla(pelaaja.Width, pelaaja.Height);
double hyttysenAla = HyttysenAla(hyttynen.Width, hyttynen.Height);
if (pelaajanAla > vihunAla)
if (pelaajanAla > hyttysenAla)
{
Explosion rajahdys = new Explosion(vihu.Width * 2);
rajahdys.Position = vihu.Position;
Explosion rajahdys = new Explosion(hyttynen.Width * 2);
rajahdys.Position = hyttynen.Position;
rajahdys.UseShockWave = false; // kannattaa kokeilla mitä taphatuu true -arvolla.
this.Add(rajahdys);
Remove(vihu);
return;
Remove(hyttynen);
}
Exit(); // TODO: lisää parempi loppu
}
/// <summary>
/// Lyödään kolmiota voimavektorilla
/// Lyödään hyttystä voimavektorilla
/// </summary>
/// <param name="kolmio">lyötävä kolmio</param>
/// <param name="hyttynen">lyötävä hyttynen</param>
/// <param name="suunta">voimavektori</param>
public static void LyoKolmiota(PhysicsObject kolmio, Vector suunta)
public static void LyoHyttysta(PhysicsObject hyttynen, Vector suunta)
{
kolmio.Hit(kolmio.Mass * suunta);
hyttynen.Hit(hyttynen.Mass * suunta);
}
/// <summary>
/// Luodaan satunnainen kolmio suorakaiteen sisälle. Myös nopeus, väri ja kulma arvotaan.
/// Luodaan satunnainen hyttynen suorakaiteen sisälle.
/// </summary>
/// <param name="peli">Mihin peliin kolmio luodaan</param>
/// <param name="peli">Mihin peliin hyttynen luodaan</param>
/// <param name="rect">Minkä suorakaiteen sisälle luodaan</param>
/// <param name="vauhti">Kolmion vauhti alkutilanteessa</param>
/// <param name="tunniste">Kolmiolle annettava tunniste</param>
/// <returns>Viite luotuun kolmioon</returns>
/// <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)
{
double leveys = 50;
double korkeus = 50;
PhysicsObject hyttynen = new PhysicsObject(leveys, korkeus, Shape.Star);
PhysicsObject hyttynen = new PhysicsObject(leveys, korkeus, Shape.Circle);
hyttynen.Position = RandomGen.NextVector(rect);
Vector suunta = RandomGen.NextVector(0, vauhti);
hyttynen.Hit(suunta);
......@@ -107,20 +101,20 @@ public class HyttysPeli : PhysicsGame
/// <summary>
/// Laskee kolmion alan
/// Laskee hyttysen alan
/// </summary>
/// <param name="kanta">kolmion kanta</param>
/// <param name="korkeus">kolmion korkeus</param>
/// <returns>kolmion ala</returns>
/// <param name="kanta">hyttysen kanta</param>
/// <param name="korkeus">hyttysen korkeus</param>
/// <returns>hyttysen ala</returns>
/// <example>
/// <pre name="test">
/// KolmionAla(0,0) ~~~ 0;
/// KolmionAla(1,0) ~~~ 0;
/// KolmionAla(1,1) ~~~ 0.5;
/// KolmionAla(3,5) ~~~ 7.5;
/// HyttysenAla(0,0) ~~~ 0;
/// HyttysenAla(1,0) ~~~ 0;
/// HyttysenAla(1,1) ~~~ 0.5;
/// HyttysenAla(3,5) ~~~ 7.5;
/// </pre>
/// </example>
public static double KolmionAla(double kanta, double korkeus)
public static double HyttysenAla(double kanta, double korkeus)
{
return kanta * korkeus * 1 / 2;
}
......
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