Skip to content
Snippets Groups Projects
Commit 0311f323 authored by Tuliainen Atte's avatar Tuliainen Atte
Browse files

collisionhandlerit aloitettu ja siirtolaskuri lisätty ilman laskentaa

parent 2d204810
No related branches found
No related tags found
No related merge requests found
Palikat/Content/palikka1.png

1.23 MiB

Palikat/Content/palikka2.png

1.38 MiB

Palikat/Content/palikka3.png

777 KiB

Palikat/Content/platform.png

1.05 MiB

......@@ -21,24 +21,25 @@ namespace Palikat;
public class Palikat : PhysicsGame
{
//Luodaan taulukko jonka pohjalta luodaan kenttä ja oliot peliin
private static readonly String[] kentta = {
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" 3 ",
" 2 ",
" 1 ",
" = = = ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" 3 ",
" 2 ",
" 1 ",
" = = = ",
};
private static readonly int tileWidth = 1500 / kentta[0].Length;
......@@ -47,7 +48,6 @@ public class Palikat : PhysicsGame
public override void Begin()
{
// Luodaan pelialue ja määritetään taustan väri
Level.Size = Screen.Size;
Level.BackgroundColor = Color.Black;
// lisätään pieni paivovoima, jotta palikat asettuvat kivasti paikalleen
......@@ -63,10 +63,12 @@ public class Palikat : PhysicsGame
//Kohdistetaan kamera pelialueeseen
Level.CreateBorders();
Level.CreateBorders(1,1,2,1,Color.White);
Camera.ZoomToAllObjects();
Kontrollit();
LuoPistelaskuri();
//Ohjaimet pelaamiseen
void Kontrollit()
......@@ -89,11 +91,13 @@ public class Palikat : PhysicsGame
private void LuoPalikka1(Vector paikka, double leveys, double korkeus, Color vari)
{
PhysicsObject palikka1 = new PhysicsObject(leveys*3, korkeus);
PhysicsObject palikka1 = new PhysicsObject(leveys*6, korkeus);
palikka1.Position = paikka;
palikka1.Color = vari;
palikka1.Image = Image.FromFile("palikka1.jpg");
palikka1.Image = LoadImage("palikka1");
palikka1.Tag = "palikka";
Add (palikka1);
AddCollisionHandler(palikka1, "alusta", Palikka1OsuuAlustaan);
Mouse.ListenOn(palikka1, MouseButton.Left, ButtonState.Down, TartuPalikkaan, "Ota kiinni palikasta");
void TartuPalikkaan()
......@@ -102,16 +106,18 @@ public class Palikat : PhysicsGame
Mouse.IsCursorVisible = true;
palikka1.Position = Mouse.PositionOnWorld;
}
}
private void LuoPalikka2(Vector paikka, double leveys, double korkeus, Color vari)
{
PhysicsObject palikka2 = new PhysicsObject(leveys*2, korkeus);
PhysicsObject palikka2 = new PhysicsObject(leveys*4, korkeus);
palikka2.Position = paikka;
palikka2.Color = vari;
palikka2.Image = Image.FromFile("palikka2.jpg");
palikka2.Image = LoadImage("palikka2");
palikka2.Tag = "palikka";
Add(palikka2);
AddCollisionHandler(palikka2, "alusta", Palikka2OsuuAlustaan);
Mouse.ListenOn(palikka2, MouseButton.Left, ButtonState.Down, TartuPalikkaan, "Ota kiinni palikasta");
void TartuPalikkaan()
......@@ -120,17 +126,19 @@ public class Palikat : PhysicsGame
Mouse.IsCursorVisible = true;
palikka2.Position = Mouse.PositionOnWorld;
}
}
private void LuoPalikka3(Vector paikka, double leveys, double korkeus, Color vari)
{
PhysicsObject palikka3 = new PhysicsObject(leveys*1, korkeus);
PhysicsObject palikka3 = new PhysicsObject(leveys*2, korkeus);
palikka3.Position = paikka;
palikka3.Color = vari;
palikka3.Image = Image.FromFile("palikka3.jpg");
palikka3.Image = LoadImage("palikka3");
palikka3.Tag = "palikka";
Add(palikka3);
AddCollisionHandler(palikka3, "palikka", Palikka1OsuuPalikkaan3);
AddCollisionHandler(palikka3, "alusta", Palikka3OsuuAlustaan);
Mouse.ListenOn(palikka3, MouseButton.Left, ButtonState.Down, TartuPalikkaan, "Ota kiinni palikasta");
void TartuPalikkaan()
......@@ -147,12 +155,69 @@ public class Palikat : PhysicsGame
/// </summary>
public void LuoAlusta(Vector paikka, double leveys, double korkeus, Color vari)
{
PhysicsObject alusta = new PhysicsObject(leveys*5, korkeus);
PhysicsObject alusta = new PhysicsObject(leveys*8, korkeus);
alusta.Position = paikka;
alusta.Color = vari;
alusta.Image = Image.FromFile("platform.jpg");
alusta.Image = LoadImage("platform");
alusta.Tag = "alusta";
Add(alusta);
}
///Määritellään säännöt/rajoiteet
private void Palikka1OsuuAlustaan(PhysicsObject palikka1, PhysicsObject alusta)
{
//laskurin arvo kasvaa
Console.WriteLine("Palikka1 osui alustaan");
//siirtolaskuri.Value += 1;
}
private void Palikka2OsuuAlustaan(PhysicsObject palikka2, PhysicsObject alusta)
{
//laskurin arvo kasvaa
Console.WriteLine("Palikka2 osui alustaan");
}
private void Palikka3OsuuAlustaan(PhysicsObject palikka3, PhysicsObject alusta)
{
//laskurin arvo kasvaa
Console.WriteLine("Palikka3 osui alustaan");
}
void Palikka1OsuuPalikkaan2(PhysicsObject palikka1, PhysicsObject palikka2)
{
//laskurin arvo kasvaa
//tarkista onko palikat oikeassa järjestyksessä
Console.WriteLine("palikka1 osui palikka2");
}
void Palikka1OsuuPalikkaan3(PhysicsObject palikka1, PhysicsObject palikka3)
{
//laskurin arvo kasvaa
//tarkista onko palikat oikeassa järjestyksessä
Console.WriteLine("palikka1 osui palikka3");
}
void Palikka2OsuuPalikkaan3(PhysicsObject palikka2, PhysicsObject palikka3)
{
//laskurin arvo kasvaa
//tarkista onko palikat oikeassa järjestyksessä
Console.WriteLine("palikka2 osui palikka3");
}
//luodaan laskuri, joka laskee montako siirtoa pelaaja on tehnyt
private IntMeter pistelaskuri;
void LuoPistelaskuri()
{
pistelaskuri = new IntMeter(0);
Label siirtolaskuri = new Label();
siirtolaskuri.X = Screen.Left +55;
siirtolaskuri.Y = Screen.Top -60;
siirtolaskuri.TextColor = Color.BloodRed;
siirtolaskuri.Color = Color.Black;
siirtolaskuri.IntFormatString = "Siirrot: {0:D3}";
siirtolaskuri.BindTo(pistelaskuri);
Add(siirtolaskuri);
}
}
\ No newline at end of file
......@@ -10,4 +10,19 @@
<PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*"/>
</ItemGroup>
<ItemGroup>
<None Update="Content\palikka1.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\palikka2.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\palikka3.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Content\platform.png">
<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