// CheckCollisionsHeldWithBackground functie uit de level klasse wordt gebruikt en meer uitgebreid. public override void CheckCollisionsHeldWithBackground() { base.CheckCollisionsHeldWithBackground(); //Dit gedeelte checkt of er een botsing voor komt tussen het metaalblokje en de held. MetalBlock savemetaalblok = new MetalBlock(); foreach (MetalBlock m in MetalObjects) { if (Held.Rightcollisionrectangle.IntersectsWith(m.Leftcollisionrectangle)) { Held.MoveLeft = false; Held.Position.X -= Held.Speed; } if (Held.Leftcollisionrectangle.IntersectsWith(m.Rightcollisionrectangle)) { Held.MoveRight = false; Held.Position.X += Held.Speed; } if (Held.Uppercollisionrectangle.IntersectsWith(m.Lowercollisionrectangle)) { Held.Jump = false; } if (Held.Lowercollisionrectangle.IntersectsWith(m.Uppercollisionrectangle)) { Held.Ground = (m.Position.Y - 76); savemetaalblok = m; } if (Held.Lowercollisionrectangle.IntersectsWith(savemetaalblok.Uppercollisionrectangle) == false) { Held.Ground = 500; } } }
// CheckCollisionsHeldWithBackground functie uit de level klasse wordt gebruikt en meer uitgebreid. public override void CheckCollisionsHeldWithBackground() { base.CheckCollisionsHeldWithBackground(); //Dit gedeelte checkt of er een botsing voor komt tussen het metaalblokje en de held. MetalBlock savemetaalblok = new MetalBlock(); foreach (MetalBlock m in MetalObjects) { if (Held.Rightcollisionrectangle.IntersectsWith(m.Leftcollisionrectangle)) { Held.MoveLeft = false; Held.Position.X -= Held.Speed; } if (Held.Leftcollisionrectangle.IntersectsWith(m.Rightcollisionrectangle)) { Held.MoveRight = false; Held.Position.X += Held.Speed; } if (Held.Uppercollisionrectangle.IntersectsWith(m.Lowercollisionrectangle)) { savemetaalblok = m; Held.Jump = false; } if (Held.Lowercollisionrectangle.IntersectsWith(m.Uppercollisionrectangle)) { Held.Ground = (m.Position.Y - 76); savemetaalblok = m; } } //Er wordt door de lijst van lege blokjes gelopen en er wordt gezien of er een botsingn voordoet. //Indien er geen botsing meer is met de onderste collision rechthoek van een metaalblokje, wordt de ground van de held terug op 424 gezet. //Dit betekent dat de held nu kan vallen foreach (Leeg l in EmptyBlocks) { if (Held.Lowercollisionrectangle.IntersectsWith(savemetaalblok.Uppercollisionrectangle) == false && Held.Lowercollisionrectangle.IntersectsWith(l.Rect) == true) { Held.Ground = 500; } } }
//Leest de IntTyleArray uit en voegt de objecten toe aan lijsten afhankelijk van welke cijfers in de array staan. public virtual void Createworld() { for (var x = 0; x < 12; x++) { for (var y = 0; y < 71; y++) { if (IntTylearray[x, y] == 0) { var L = new Leeg(y*50, x*50); EmptyBlocks.Add(L); } if (IntTylearray[x, y] == 1) { if (WelkeRichting == 0) { //De vijand zal nu beginnen met naar rechts te lopen. var v = new Enemy(y*50, x*50, false, true); Vijanden.Add(v); WelkeRichting++; } else if (WelkeRichting == 1) { //De vijand zal nu beginnen met naar links te lopen. var v = new Enemy(y*50, x*50, true, false); Vijanden.Add(v); WelkeRichting = 0; } } if (IntTylearray[x, y] == 2) { var m = new MetalBlock(y*50, x*50); MetalObjects.Add(m); } if (IntTylearray[x, y] == 3) { var l = new LifeItem(y*50, x*50); LifeObjects.Add(l); } if (IntTylearray[x, y] == 4) { var n = new NextLevelDoor(y*50, x*50); NextLevelObjects.Add(n); } if (IntTylearray[x, y] == 5) { Held = new Hero(y*50, x*50); GameObjects.Add(Held); } if (IntTylearray[x, y] == 6) { var s = new Stone(y*50, x*50); StoneObjects.Add(s); } if (IntTylearray[x, y] == 7) { var i = new Item(y*50, x*50); Items.Add(i); } if (IntTylearray[x, y] == 8) { var k = new Klock(y*50, x*50); KlockObjects.Add(k); } if (IntTylearray[x, y] == 9) { var f = new FinishDoor(y*50, x*50); FinishDoors.Add(f); } } } }
public void CheckCollisionsWithMetalBlocks(List<MetalBlock> MetalObjects, List<Leeg> EmptyBlocks) { if (Position.X <= 0) { MoveLeft = false; Position.X += speed; } if (Position.X >= 1250) { MoveRight = false; Position.X -= speed; } MetalBlock savemetaalblok = new MetalBlock(); foreach (MetalBlock m in MetalObjects) { if (this.Rightcollisionrectangle.IntersectsWith(m.Leftcollisionrectangle)) { this.MoveLeft = false; this.Position.X -= 10; } if (this.Leftcollisionrectangle.IntersectsWith(m.Rightcollisionrectangle)) { this.MoveRight = false; m.Position.X -= 0; this.Position.X += 10; } if (this.Uppercollisionrectangle.IntersectsWith(m.Lowercollisionrectangle)) { savemetaalblok = m; this.up = false; this.Jump = false; } if (this.Lowercollisionrectangle.IntersectsWith(m.Uppercollisionrectangle)) { this.ground = (m.Position.Y - 76); savemetaalblok = m; } } foreach (Leeg L in EmptyBlocks) { if (this.Lowercollisionrectangle.IntersectsWith(savemetaalblok.Uppercollisionrectangle) == false && this.Lowercollisionrectangle.IntersectsWith(L.Rect) == true) { this.ground = 500; } } }
public void Createworld() { for (int x = 0; x < 12; x++) { for (int y = 0; y < 72; y++) { if (IntTylearray[x, y] == 1) { if (i == 0) { //De vijand zal nu beginnen met naar rechts te lopen. Enemy v = new Enemy(y * 50, x * 50, false, true); Vijanden.Add(v); i++; } else if (i == 1) { //De vijand zal nu beginnen met naar links te lopen. Enemy v = new Enemy(y * 50, x * 50, true, false); Vijanden.Add(v); i = 0; } } if (IntTylearray[x, y] == 2) { MetalBlock m = new MetalBlock(y * 50, x * 50); MetalObjects.Add(m); } if (IntTylearray[x, y] == 0) { Leeg L = new Leeg(y * 50, x * 50); EmptyBlocks.Add(L); } if (IntTylearray[x, y] == 3) { LifeItem l = new LifeItem(y * 50, x * 50); LifeObjects.Add(l); } if (IntTylearray[x, y] == 4) { NextLevelDoor n = new NextLevelDoor(y * 50, x * 50); NextLevelObjects.Add(n); } if (IntTylearray[x, y] == 5) { held = new Hero(y * 50, x * 50); GameObjects.Add(held); } } } }
private void Createworld() { for (int x = 0; x <11; x++) { for (int y = 0; y < 25; y++) { if (IntTylearray[x,y] == 0) { Leeg l = new Leeg(); EmptyBlocks.Add(l); } if (IntTylearray[x, y] == 1) { Grass g = new Grass(y * 50, x * 50); GrassObjects.Add(g); } if (IntTylearray[x, y] == 2) { MetalBlock m = new MetalBlock (y * 50, x * 50); MetalObjects.Add(m); } if (IntTylearray[x, y] == 3) { LifeItem l = new LifeItem(y * 50, x * 50); LifeObjects.Add(l); } if (IntTylearray[x, y] == 4) { NextLevelDoor n = new NextLevelDoor(y * 50, x * 50); NextLevelObjects.Add(n); } } } }