public void StarSmallMarioKoopaCollisionTopTest()
        {
            WorldManager.LoadListFromFile("World1-1", game);
            IMario testMario = WorldManager.GetMario();

            testMario.Star();
            testMario = WorldManager.GetMario();
            testMario.VectorCoordinates = new Vector2(0, 0);

            GreenKoopa testGreenKoopa = new GreenKoopa(game);

            testGreenKoopa.VectorCoordinates = new Vector2(0, 14);
            GreenKoopa expectedGreenKoopa = new GreenKoopa(game);

            expectedGreenKoopa.Flipped();

            ICollisionSide             side             = new TopSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGreenKoopa, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testGreenKoopa.state is GreenKoopaFlippedInShellState;
            bool    expectedState    = expectedGreenKoopa.state is GreenKoopaFlippedInShellState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = new Vector2(0, -1);

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
Esempio n. 2
0
 public GreenKoopaEntity(Vector2 loc) : base(loc)
 {
     IsLeft          = false;
     Sprite          = new GreenKoopa(loc);
     EntityCollision = new EnemyCollision(this);
     StartDirection();
 }
        public void SmallMarioKoopaBottomSideCollisionTest()
        {
            IMario testMario = new MarioInstance(game);

            testMario.VectorCoordinates = new Vector2(0, 19);
            IMario expectedMario = new MarioInstance(game);

            expectedMario.VectorCoordinates = new Vector2(0, 21);
            expectedMario.Damage();

            GreenKoopa testGreenKoopa = new GreenKoopa(game);

            ICollisionSide             side             = new BottomSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGreenKoopa, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is DeadMarioState;
            bool    expectedState    = expectedMario.MarioState is DeadMarioState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public void SmallMarioKoopaTopSideCollisionTest()
        {
            IMario testMario = new MarioInstance(game);

            GreenKoopa testGreenKoopa = new GreenKoopa(game);

            testGreenKoopa.VectorCoordinates = new Vector2(0, 14);
            GreenKoopa expectedGreenKoopa = new GreenKoopa(game);

            expectedGreenKoopa.Hit();

            ICollisionSide             side             = new TopSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGreenKoopa, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testGreenKoopa.state is GreenKoopaHidingInShellState;
            bool    expectedState    = expectedGreenKoopa.state is GreenKoopaHidingInShellState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = new Vector2(0, -1);

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
Esempio n. 5
0
        public void FireMarioKoopaRightSideCollisionTest()
        {
            IMario testMario = new MarioInstance(game);

            testMario.VectorCoordinates = new Vector2(14, 0);
            IMario expectedMario = new MarioInstance(game);

            expectedMario.VectorCoordinates = new Vector2(16, 0);

            testMario.MarioState     = new FireRightIdleState(testMario);
            expectedMario.MarioState = new FireRightIdleState(expectedMario);

            expectedMario.Damage();

            GreenKoopa testGreenKoopa = new GreenKoopa(game);

            ICollisionSide             side             = new RightSideCollision();
            CollisionData              collision        = new CollisionData(testMario, testGreenKoopa, side);
            MarioEnemyCollisionHandler collisionHandler = new MarioEnemyCollisionHandler(collision);

            collisionHandler.HandleCollision();

            bool    testState        = testMario.MarioState is FireRightIdleState;
            bool    expectedState    = expectedMario.MarioState is FireRightIdleState;
            Vector2 testLocation     = testMario.VectorCoordinates;
            Vector2 expectedLocation = expectedMario.VectorCoordinates;

            Assert.AreEqual(testState, expectedState);
            Assert.AreEqual(testLocation, expectedLocation);
        }
        public GreenKoopaWalkingRightState(GreenKoopa greenKoopa)
        {
            this.greenKoopa = greenKoopa;
            this.greenKoopa.Sprite = Game.SpriteFactories.EnemySpriteFactory.CreateGreenKoopaWalkingRightSprite();

            greenKoopa.Physics.Velocity = new Vector2(EnemyStatesConstants.WALKINGRIGHTVELOCITY, 0);
        }
 public GreenKoopaHidingInShellState(GreenKoopa greenKoopa)
 {
     this.greenKoopa = greenKoopa;
     float prevHeight = greenKoopa.Sprite.SpriteDimensions.Y;
     this.greenKoopa.Sprite = Game.SpriteFactories.EnemySpriteFactory.CreateGreenKoopaHidingInShellSprite();
     greenKoopa.VectorCoordinates += new Microsoft.Xna.Framework.Vector2(0, prevHeight - greenKoopa.Sprite.SpriteDimensions.Y);
     this.greenKoopa.IsHit = true;
     Vector2 velocity = this.greenKoopa.Physics.Velocity;
     velocity.X = 0;
     this.greenKoopa.Physics.Velocity = velocity;
 }
 public GreenKoopaFlippedInShellState(GreenKoopa greenKoopa)
 {
     this.greenKoopa = greenKoopa;
     SoundEffectManager.EnemyFlippedEffect();
     greenKoopa.Physics.Velocity = new Vector2(0, EnemyStatesConstants.FLIPPEDYVELOCITY);
     greenKoopa.Physics.Acceleration = new Vector2(0, EnemyStatesConstants.GRAVITY);
     this.greenKoopa.IsFlipped = true;
     float prevHeight = greenKoopa.Sprite.SpriteDimensions.Y;
     this.greenKoopa.Sprite = Game.SpriteFactories.EnemySpriteFactory.CreateGreenKoopaFlippedInShellSprite();
     greenKoopa.VectorCoordinates += new Microsoft.Xna.Framework.Vector2(0, prevHeight - greenKoopa.Sprite.SpriteDimensions.Y);
 }
 public GreenKoopaEmergingFromShellState(GreenKoopa greenKoopa)
 {
     this.greenKoopa = greenKoopa;
     this.greenKoopa.Sprite = Game.SpriteFactories.EnemySpriteFactory.CreateGreenKoopaEmergingFromShellSprite();
 }