Skip to content
Snippets Groups Projects
Commit 18246cca authored by Kopperoinen Paulus's avatar Kopperoinen Paulus
Browse files

En tiedä näkyikö toi edellinen viesti mutta unohdin addata viime commitissa...

En tiedä näkyikö toi edellinen viesti mutta unohdin addata viime commitissa niin edellinen kommentti liittyi tähän committiin, aion siis seuraavaksi luultavasti vaihtaa madon kehon fyysisestä pelkäksi piirrokseksi
parent e8031f37
No related branches found
No related tags found
No related merge requests found
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using Jypeli;
using Jypeli.Assets;
......@@ -90,7 +91,7 @@ public class matopeli : PhysicsGame
}
private PhysicsObject LuoMato()
{
Mato = new Objektit(leveys, korkeus, new Vector(0,0));
Mato = new Objektit(leveys, korkeus);
Mato.Image = matopaakuva;
Add(Mato);
Mato.Tag = "mato";
......@@ -107,40 +108,37 @@ public class matopeli : PhysicsGame
Vector paikka = Level.GetRandomPosition();
for (int i = 0; i < 20; i++)
for (int i = 0; i < 100; i++)
{
if (paikka.X-Mato.X<20)
if (paikka.X-Mato.X<5)
{
if (paikka.Y-Mato.Y<20)
{
paikka = Level.GetRandomPosition();
}
paikka = Level.GetRandomPosition();
}
if (paikka.X<70)
if (paikka.X-Mato.Y<5)
{
if (paikka.X<-70)
{
paikka = Level.GetRandomPosition();
}
paikka= Level.GetRandomPosition();
}
else
if (paikka.X<30)
{
paikka = Level.GetRandomPosition();
if (paikka.X < -30)
{
paikka = Level.GetRandomPosition();
}
}
if (paikka.Y<70)
if (paikka.Y<30)
{
if (paikka.Y<-70)
if (paikka.Y<-30)
{
paikka = Level.GetRandomPosition();
}
}
else
{
paikka = Level.GetRandomPosition();
break;
}
}
Omena = new Objektit(korkeus, leveys, paikka);
Omena = new Objektit(korkeus, leveys);
Omena.Shape = Shape.Circle;
Omena.Position = paikka;
Omena.Image = omenakuva;
......@@ -163,10 +161,11 @@ public class matopeli : PhysicsGame
/// </summary>
private PhysicsObject LuoMatoKeho(Vector Paikka)
{
MatoMuu = new Objektit(leveys, korkeus, Paikka);
MatoMuu = new Objektit(leveys, korkeus);
MatoMuu.Tag = "matokeho";
MatoMuu.Image = matokehokuva;
MatoMuu.Position = Paikka;
MatoMuu.AngularDamping = 0.0;
MatoKeho.Add(MatoMuu);
Add(MatoMuu);
return MatoMuu;
......@@ -176,6 +175,7 @@ public class matopeli : PhysicsGame
{
Omena.Destroy();
OmenaKentalla = false;
LuoMatoKeho(MatoSijainti[MatoSijainti.Count-MatoKeho.Count-1]);
}
private void VaihdaSuuntaYlos()
......@@ -255,7 +255,7 @@ public class matopeli : PhysicsGame
private void LuoAikalaskuri()
{
Timer aikalaskuri = new Timer();
aikalaskuri.Interval = 0.11;
aikalaskuri.Interval = 0.1;
aikalaskuri.Timeout += PaivitaKentta;
aikalaskuri.Start();
}
......@@ -269,19 +269,19 @@ public class matopeli : PhysicsGame
//Tämän on tarkoitus liikuttaa matoa, aina, kun se saapuu tasalukuun.
//tavoitteena oli,että mato ei liikkuisi, jos se on ruudun puolivälissä
MatoSijainti.Add(Mato.Position);
LiikutaMatoa();
if (OmenaKentalla == false)
{
LuoMatoKeho(MatoSijainti[MatoSijainti.Count-MatoKeho.Count-1]);
LuoOmena();
}
LiikutaMatoa();
if (MatoKeho.Count>0)
{
LiikutaKehoa();
}
}
......@@ -289,35 +289,52 @@ public class matopeli : PhysicsGame
{
if (SuuntaYlos==true)
{
Mato.Y = Mato.Y + leveys;
Mato.Y = Mato.Y + leveys+5;
Mato.Angle = Angle.FromDegrees(90);
}
if (SuuntaAlas==true)
{
Mato.Y= Mato.Y - leveys;
Mato.Y= Mato.Y - leveys+5;
Mato.Angle = Angle.FromDegrees(270);
}
if (SuuntaOikea==true)
{
Mato.X= Mato.X + leveys;
Mato.X= Mato.X + leveys+5;
Mato.Angle = Angle.FromDegrees(0);
}
if (SuuntaVasen==true)
{
Mato.X= Mato.X - leveys;
Mato.X= Mato.X - leveys+5;
Mato.Angle = Angle.FromDegrees(180);
}
MatoSijainti.Add(Mato.Position);
}
/// <summary>
/// Tehdään silmukka, joka käy madon kaikki sijainnit ja liikuttaa madon muut osat niiden mukaan.
/// </summary>
private void LiikutaKehoa()
{
MatoKeho[0].X = MatoSijainti[MatoSijainti.Count - 2].X;
MatoKeho[0].Y = MatoSijainti[MatoSijainti.Count - 2].Y;
for (int i = 1; i < MatoKeho.Count-1; i++)
{
MatoKeho[i].X = MatoKeho[i - 1].X;
MatoKeho[i].Y = MatoKeho[i - 1].Y;
}
}
public class Objektit : PhysicsObject
{
public Objektit(double leveys, double korkeus, Vector paikka)
public Objektit(double leveys, double korkeus)
: base(leveys, korkeus)
{
Mass = 10000;
......
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