Skip to content
Snippets Groups Projects
Commit 1d44caef authored by Sulasalmi Aleksi Sakari's avatar Sulasalmi Aleksi Sakari
Browse files

peli loppuu järkevästi

parent 0252eead
No related branches found
No related tags found
No related merge requests found
......@@ -71,79 +71,18 @@ public class Lokkihunter : PhysicsGame
" ",
" p ",
};
/// <summary>
/// Edustaa eri tasoja pelissä.
/// </summary>
private static readonly string[] kentta3 = {
" ",
" l ",
" l ",
" l ",
" l ",
" l ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" p ",
};
/// <summary>
/// Edustaa eri tasoja pelissä.
/// </summary>
private static readonly string[] kentta4 = {
" ",
" l ",
" l ",
" l ",
" l ",
" l ",
" ",
" l ",
" ",
" ",
" ",
" ",
" ",
" p ",
};
/// <summary>
/// Edustaa eri tasoja pelissä.
/// </summary>
private static readonly string[] kentta5 = {
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" p ",
};
/// <summary>
/// Edustaa eri tasoja pelissä.
/// </summary>
private static readonly string[] kentta6 = {
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" l ",
" l ",
" l ",
" l ",
" l ",
" ",
" ",
" ",
......@@ -152,14 +91,11 @@ public class Lokkihunter : PhysicsGame
" p ",
};
/// <summary>
/// Tasoja sisältävä taulukko, jota käytetään pelissä.
/// </summary>
private static readonly string[][] kenttalista =
{ kentta0, kentta1, kentta2, kentta3, kentta4, kentta5, kentta6};
{ kentta0, kentta1, kentta2, kentta3};
/// <summary>
/// Taulukko värejä, jotka edustavat tason ylägradientteja.
......@@ -299,10 +235,15 @@ public class Lokkihunter : PhysicsGame
{
ClearAll();
GC.Collect();
if (kenttaNro == kenttalista.Length-1) Exit();
if (kenttaNro.Value < kenttalista.Length)
{
kenttaNro.Value++;
if (kenttaNro == kenttalista.Length - 1)
{
NaytaViesti("Peli läpi!",2);
Timer.CreateAndStart(1, Exit);
}
}
lokkeja.Value = LaskeLokit(kenttalista[kenttaNro]);
......@@ -310,12 +251,13 @@ public class Lokkihunter : PhysicsGame
string[] tasonKuva = kenttalista[i];
if (i >= alaVarit.Length) i = alaVarit.Length - 1;
Level.Background.CreateGradient(alaVarit[i], ylaVarit[i]);
Level.Background.Image = taustanKuva;
Level.Background.Image = Image.Flip(taustanKuva);
tileWidth = 800 / tasonKuva[0].Length;
tileHeight = 480 / kenttalista.Length;
var tiles = TileMap.FromStringArray(tasonKuva);
Level.Background.Image = taustanKuva;
Level.Background.Image = Image.Flip(taustanKuva);
tiles.SetTileMethod('p', LuoPekka, Color.Wheat);
tiles.SetTileMethod('l', LuoLokki, Color.Black);
tiles.Execute(tileWidth, tileHeight);
......@@ -338,19 +280,11 @@ public class Lokkihunter : PhysicsGame
/// Siirrytään seuraavaan tasoon, jos viimeinen taso, niin peli läpi.
/// </summary>
private void TasoPelattu()
{
if (kenttaNro.Value == kenttalista.Length-1)
{
NaytaViesti("Peli läpi!",2);
}
if (lokkeja.Value <= 0)
{
SeuraavaKentta();
NaytaViesti("Taso läpi!",1);
AsetaOhjaimet();
LisaaPelaajanPistelaskuri();
}
{
if (lokkeja.Value > 0) return;
SeuraavaKentta();
AsetaOhjaimet();
LisaaPelaajanPistelaskuri();
}
......@@ -380,13 +314,9 @@ public class Lokkihunter : PhysicsGame
FireRate = 5.0,
ProjectileCollision = AmmusOsui,
Position = pekka.Position + new Vector(pekka.Width / 2, 0),
Angle = Angle.FromDegrees(90)
Angle = Angle.FromDegrees(90),
Image = haulikonKuva
};
if (pekkaAse.Ammo.Value == 0)
{
NaytaIlmoitus("Game over!", Color.Red);
}
pekkaAse.Image = haulikonKuva;
pekka.Add(pekkaAse);
}
......@@ -495,7 +425,7 @@ public class Lokkihunter : PhysicsGame
/// <returns>palauttaa lokkien määrän</returns>
private static int LaskeLokit(string[] level)
{
int lokkiMaara = -1;
int lokkiMaara = -1;
foreach (string row in level)
{
lokkiMaara += row.Count(c => c == 'l');
......@@ -505,25 +435,6 @@ public class Lokkihunter : PhysicsGame
}
/// <summary>
/// Näytetään teksti näytöllä valitulla värillä
/// </summary>
/// <param name="teksti">näytettävä teksti</param>
/// <param name="vari">pohjaväri, jolla näytetään</param>
private void NaytaIlmoitus(string teksti, Color vari)
{
Label label = new Label(teksti)
{
Font = Font.Default,
Width = 400,
Height = 200,
Color = vari,
BorderColor = Color.Black
};
Add(label);
}
/// <summary>
/// Aliohjelma näyttää jonkin tekstin kohdassa (0,0) tietyn ajan
/// </summary>
......@@ -559,7 +470,6 @@ public class Lokkihunter : PhysicsGame
{
MaxValue = 10
};
Label naytto = new Label();
naytto.BindTo(laskuri);
naytto.X = x;
......@@ -568,7 +478,6 @@ public class Lokkihunter : PhysicsGame
naytto.BorderColor = Level.Background.Color;
naytto.Color = Level.Background.Color;
Add(naytto);
return laskuri;
}
}
\ No newline at end of file
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