public void GoombaTestTop() { bool passed = true; EnemySpriteFactory.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(400, 400); IEnemyObject enemy = new Goomba(400, 415); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), enemy.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Top)) { passed = true; } else { passed = false; } MarioEnemyCollisionHandler.handleCollision((Mario)mario, enemy, side, levelStorage); if (passed) { Console.WriteLine("Goomba Top Test Passed"); } else { Console.WriteLine("Goomba Top Test failed"); } }
public void KoopaTestBottom() { bool passed = true; EnemySpriteFactory.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(400, 400); IEnemyObject enemy = new Koopa(400, 385); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), enemy.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Bottom)) { passed = true; } else { passed = false; } MarioEnemyCollisionHandler.handleCollision((Mario)mario, enemy, side, levelStorage); if (((Mario)mario).StateStatus().Equals(MarioState.Die) && passed) { Console.WriteLine("Koopa Bottom Test Passed"); } else { Console.WriteLine("Koopa Bottom Test failed"); } }
public void OneUpMushroomTest() { bool passed = true; ItemSpriteTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(390, 400); IItemObjects item = new OneUpMushroom(400, 400); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), item.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Left)) { passed = true; } else { passed = false; } MarioItemCollisionHandler.handleCollision((Mario)mario, item, side); if (passed) { Console.WriteLine("OneUpMushroom Test Passed"); } else { Console.WriteLine("OneUpMushroom failed"); } }
public void StarTest() { bool passed = true; ItemSpriteTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(390, 400); IItemObjects star = new SuperStar(400, 400); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), star.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Left)) { passed = true; } else { passed = false; } MarioItemCollisionHandler.handleCollision((Mario)mario, star, side); if (((Mario)mario).Star && passed) { Console.WriteLine("Star Test Passed"); } else { Console.WriteLine("Star failed"); } }
private static void handleMarioMovement(Mario mario, IItemObjects item, ICollision side) { Rectangle itemRectangle = item.returnCollisionRectangle(); Rectangle marioRectangle = mario.returnCollisionRectangle(); Rectangle intersectionRectangle = Rectangle.Intersect(marioRectangle, itemRectangle); int locationDiffToChange = UtilityClass.zero; if (side.returnCollisionSide().Equals(CollisionSide.Left)) { locationDiffToChange = intersectionRectangle.Width; int newMarioX = (int)mario.Location.X - locationDiffToChange; mario.Location = new Vector2(newMarioX, mario.Location.Y); } else if (side.returnCollisionSide().Equals(CollisionSide.Right)) { locationDiffToChange = intersectionRectangle.Width; int newMarioX = (int)mario.Location.X + locationDiffToChange; mario.Location = new Vector2(newMarioX, mario.Location.Y); } else if (side.returnCollisionSide().Equals(CollisionSide.Top)) { locationDiffToChange = intersectionRectangle.Height; int newMarioY = (int)mario.Location.Y - locationDiffToChange; mario.Location = new Vector2(mario.Location.X, newMarioY); } else if (side.returnCollisionSide().Equals(CollisionSide.Bottom)) { locationDiffToChange = intersectionRectangle.Height; int newMarioY = (int)mario.Location.Y + locationDiffToChange; mario.Location = new Vector2(mario.Location.X, newMarioY); } }
private static void handleMarioMovement(Mario mario, IEnviromental enviromental, ICollision side) { Rectangle enviromentalRectangle = enviromental.returnCollisionRectangle(); Rectangle marioRectangle = mario.returnCollisionRectangle(); Rectangle intersectionRectangle = Rectangle.Intersect(marioRectangle, enviromentalRectangle); int locationDiffToChange = UtilityClass.zero; if (side.returnCollisionSide().Equals(CollisionSide.Left)) { locationDiffToChange = intersectionRectangle.Width; int newMarioX = (int)mario.Location.X - locationDiffToChange; mario.Location = new Vector2(newMarioX, mario.Location.Y); mario.rigidbody.HorizontalCollision(); } else if (side.returnCollisionSide().Equals(CollisionSide.Right)) { locationDiffToChange = intersectionRectangle.Width; int newMarioX = (int)mario.Location.X + locationDiffToChange; mario.Location = new Vector2(newMarioX, mario.Location.Y); mario.rigidbody.HorizontalCollision(); } else if (side.returnCollisionSide().Equals(CollisionSide.Top)) { locationDiffToChange = intersectionRectangle.Height; int newMarioY = (int)mario.Location.Y - locationDiffToChange; mario.Location = new Vector2(mario.Location.X, newMarioY); mario.rigidbody.BottomCollision(); } else if (side.returnCollisionSide().Equals(CollisionSide.Bottom)) { locationDiffToChange = intersectionRectangle.Height; int newMarioY = (int)mario.Location.Y + locationDiffToChange; mario.Location = new Vector2(mario.Location.X, newMarioY); } }
public void questionBlockTestLeft() { bool passed = true; BlockSpriteTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(390, 400); IBlock question = new Blocks(400, 400, BlockType.Question); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), question.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Left)) { Console.WriteLine("QuestionBlockTestLeft Passed"); } else { Console.WriteLine("QuestionBlockTestLeft failed"); } }
public void PipeTestRight() { bool passed = true; MiscGameObjectTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(410, 400); IEnviromental pipe = new Pipe(400, 400); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), pipe.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Right)) { Console.WriteLine("PipeRight Test Passed"); } else { Console.WriteLine("PipeRight failed"); } }
public void HiddenBlockTestTop() { bool passed = true; BlockSpriteTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(400, 400); IBlock hidden = new Blocks(400, 415, BlockType.Hidden); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), hidden.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Top)) { Console.WriteLine("HiddenBlockTop Test Passed"); } else { Console.WriteLine("HiddenBlockTop failed"); } }
public void GroundBlockTestRight() { bool passed = true; BlockSpriteTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(410, 400); IBlock ground = new Blocks(400, 400, BlockType.Ground); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), ground.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Right)) { Console.WriteLine("GroundBlockRight Test Passed"); } else { Console.WriteLine("GroundBlockRight failed"); } }
public void PlatformingBlockTestBottom() { bool passed = true; BlockSpriteTextureStorage.Load(game.Content); MarioSpriteFactory.Load(game.Content); IPlayer mario = new Mario(400, 400); IBlock platform = new Blocks(400, 385, BlockType.Platforming); CollisionDetector collisionDetector = new CollisionDetector(); ICollision side = collisionDetector.getCollision(mario.returnCollisionRectangle(), platform.returnCollisionRectangle()); if (passed && side.returnCollisionSide().Equals(CollisionSide.Bottom)) { Console.WriteLine("PlatformBlockBottom Test Passed"); } else { Console.WriteLine("PlatformBlockBottom failed"); } }