public override void CheckCollisionsHeldWithBackground() { base.CheckCollisionsHeldWithBackground(); Stone savestoneblok = new Stone(); foreach (Stone s in StoneObjects) { if (Held.Rightcollisionrectangle.IntersectsWith(s.Leftcollisionrectangle)) { Held.MoveLeft = false; Held.Position.X -= Held.Speed; } if (Held.Leftcollisionrectangle.IntersectsWith(s.Rightcollisionrectangle)) { Held.MoveRight = false; Held.Position.X += Held.Speed; } if (Held.Uppercollisionrectangle.IntersectsWith(s.Lowercollisionrectangle)) { savestoneblok = s; Held.Jump = false; } if (Held.Lowercollisionrectangle.IntersectsWith(s.Uppercollisionrectangle)) { Held.Ground = (s.Position.Y - 76); savestoneblok = s; } if (Held.Lowercollisionrectangle.IntersectsWith(savestoneblok.Uppercollisionrectangle) == false) { 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 CheckCollisionsWithStoneBlocks(List<Stone> StoneObjects, List<Leeg> EmptyBlocks) { if (Position.X <= 0) { MoveLeft = false; Position.X += speed; } if (Position.X >= 1250) { MoveRight = false; Position.X -= speed; } Stone savestoneblock = new Stone(); foreach (Stone s in StoneObjects) { if (this.Rightcollisionrectangle.IntersectsWith(s.Leftcollisionrectangle)) { this.MoveLeft = false; this.Position.X -= 10; } if (this.Leftcollisionrectangle.IntersectsWith(s.Rightcollisionrectangle)) { this.MoveRight = false; s.Position.X -= 0; this.Position.X += 10; } if (this.Uppercollisionrectangle.IntersectsWith(s.Lowercollisionrectangle)) { savestoneblock = s; this.up = false; this.Jump = false; } if (this.Lowercollisionrectangle.IntersectsWith(s.Uppercollisionrectangle)) { this.ground = (s.Position.Y - 76); savestoneblock = s; } } foreach (Leeg L in EmptyBlocks) { if (this.Lowercollisionrectangle.IntersectsWith(savestoneblock.Uppercollisionrectangle) == false && this.Lowercollisionrectangle.IntersectsWith(L.Rect) == true) { this.ground = 500; } } }
public void CreateWorld2() { { Vijanden.Clear(); LifeObjects.Clear(); GameObjects.Clear(); MetalObjects.Clear(); NextLevelObjects.Clear(); EmptyBlocks.Clear(); for (int w = 0; w < 12; w++) { for (int z = 0; z < 72; z++) { if (IntTylearrayLevel2[w, z] == 1) { if (i == 0) { //De vijand zal nu beginnen met naar rechts te lopen. Enemy v = new Enemy(z * 50, w * 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(z * 50, w * 50, true, false); Vijanden.Add(v); i = 0; } } if (IntTylearrayLevel2[w, z] == 2) { Stone m = new Stone(z * 50, w * 50); StoneObjects.Add(m); } if (IntTylearrayLevel2[w, z] == 0) { Leeg L = new Leeg(z * 50, w * 50); EmptyBlocks.Add(L); } if (IntTylearrayLevel2[w, z] == 3) { LifeItem l = new LifeItem(z * 50, w * 50); LifeObjects.Add(l); } if (IntTylearrayLevel2[w, z] == 4) { NextLevelDoor n = new NextLevelDoor(z * 50, w * 50); NextLevelObjects.Add(n); } if (IntTylearrayLevel2[w, z] == 5) { held = new Hero(z * 50, w * 50); GameObjects.Add(held); } } } } }