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

Päivitetty Ht

parent 30085a4e
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -6,5 +6,5 @@
####### ####### #### #########################################
*
# * *
N # XX * # * #
N # XX * # * # M
############################################################################
\ No newline at end of file
############################################################################
############################################################################
############################################################################
############################################################################
####### ##############################################################
#### ## ####### #### #########################################
*
# * *
N # XX * # * # M
############################################################################
\ No newline at end of file
############################################################################
############################################################################
############################################################################
############################################################################
####### ##############################################################
####### ####### #### ## ######################################
*
# * *
N # XX * # * # M
############################################################################
\ No newline at end of file
......@@ -10,6 +10,7 @@ public class Pomppupeli : PhysicsGame
private const double nopeus = 200;
private const double hyppynopeus = 500;
private const int ruudunKoko = 40;
private int kenttaNro = 1;
private PlatformCharacter pelaaja1;
......@@ -17,36 +18,77 @@ public class Pomppupeli : PhysicsGame
private Image rengasKuva = LoadImage("rengas.png");
private Image piikkiKuva = LoadImage("piikki.png");
private IntMeter pisteLaskuri;
private List<Label> valikonKohdat;
public override void Begin()
{
Gravity = new Vector(0, -1000);
LuoKentta();
Valikko();
Mouse.IsCursorVisible = true;
}
private void AloitaPeli()
{
ClearAll();
LuoKentta("kentta1");
LisaaNappaimet();
LuoPistelaskuri();
Camera.Follow(pelaaja1);
Camera.ZoomFactor = 2.0;
Camera.StayInLevel = true;
}
private void LuoKentta()
private void Valikko()
{
TileMap kentta = TileMap.FromLevelAsset("kentta1.txt");
valikonKohdat = new List<Label>();
Label kohta1 = new Label("Aloita uusi peli");
kohta1.Position = new Vector(0, 40);
valikonKohdat.Add(kohta1);
Label kohta2 = new Label("Lopeta peli");
kohta2.Position = new Vector(0, -40);
valikonKohdat.Add(kohta2);
foreach (Label valikonKohta in valikonKohdat)
{
Add(valikonKohta);
}
Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null);
Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null);
}
private void LuoKentta(string kentannumero)
{
ClearAll();
TileMap kentta = TileMap.FromLevelAsset(kentannumero);
kentta.SetTileMethod('#', LisaaTaso);
kentta.SetTileMethod('*', LisaaRengas);
kentta.SetTileMethod('N', LisaaPelaaja);
kentta.SetTileMethod('X', LisaaPiikki);
kentta.SetTileMethod('M', LisaaMaali);
kentta.Execute(ruudunKoko, ruudunKoko);
Level.CreateBorders();
Level.Background.CreateGradient(Color.White, Color.SkyBlue);
}
void SeuraavaKentta()
{
if (kenttaNro == 1) LuoKentta("kentta2");
else if (kenttaNro == 2) LuoKentta("kentta3");
}
private void LisaaTaso(Vector paikka, double leveys, double korkeus)
{
PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus);
......@@ -87,10 +129,22 @@ public class Pomppupeli : PhysicsGame
pelaaja1.Image = palloKuva;
AddCollisionHandler(pelaaja1, "rengas", TormaaRenkaaseen);
AddCollisionHandler(pelaaja1, "piikki", TormaaPiikkiin);
AddCollisionHandler(pelaaja1, "maali", TormaaMaaliin);
Add(pelaaja1);
}
private void LisaaMaali(Vector paikka, double leveys, double korkeus)
{
PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus);
maali.IgnoresCollisionResponse = true;
maali.Position = paikka;
//maali.Image = maaliKuva;
maali.Tag = "maali";
Add(maali);
}
private void LisaaNappaimet()
{
Keyboard.Listen(Key.O, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");
......@@ -132,6 +186,11 @@ public class Pomppupeli : PhysicsGame
ConfirmExit();
}
void TormaaMaaliin(PhysicsObject hahmo, PhysicsObject maali)
{
kenttaNro++;
SeuraavaKentta();
}
private void LuoPistelaskuri()
{
......
......@@ -22,6 +22,9 @@
<None Update="Content\tahti.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Content\kentta1.txt">
<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