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");
            }
        }
        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");
            }
        }
예제 #4
0
 protected override void LoadContent()
 {
     spriteBatch = new SpriteBatch(GraphicsDevice);
     BlockSpriteTextureStorage.Load(this.Content);
     ItemSpriteTextureStorage.Load(this.Content);
     EnemySpriteFactory.Load(this.Content);
     MiscGameObjectTextureStorage.Load(this.Content);
     MarioSpriteFactory.Load(this.Content);
     GUISpriteFactory.Load(this.Content);
     SoundEffectFactory.Load(this.Content);
     MusicFactory.Load(this.Content);
     background         = Content.Load <Texture2D>(UtilityClass.background);
     background2        = Content.Load <Texture2D>(UtilityClass.background2);
     skyworldbackground = Content.Load <Texture2D>("skyworldbackground");
     deathbackground    = Content.Load <Texture2D>(UtilityClass.deathbackground);
     font           = Content.Load <SpriteFont>(UtilityClass.FontString);
     basicarialfont = Content.Load <SpriteFont>(UtilityClass.BasicArialFontString);
     LoadKeyBoardCommands();
     levelStore       = loader.LoadLevel();
     mario            = levelStore.player;
     cameraController = new CameraController(camera, mario);
     resetCommand     = new ResetLevelCommand(this);
     MusicFactory.MainTheme();
     ResetGui();
 }
        public void Draw(Game1 game)
        {
            Rectangle sourceRectangle           = new Rectangle(UtilityClass.zero, UtilityClass.zero, UtilityClass.gameOverScreenWidth, UtilityClass.generalSpriteHeightAndWidth);
            Rectangle mariodestinationRectangle = new Rectangle(UtilityClass.deathMarioLocationX, UtilityClass.deathMarioLocationY, UtilityClass.gameOverScreenWidth, UtilityClass.generalSpriteHeightAndWidth);
            Rectangle marioLives = new Rectangle(UtilityClass.deathMarioLocationX + UtilityClass.ten, UtilityClass.deathMarioLocationY, UtilityClass.gameOverScreenWidth, UtilityClass.generalSpriteHeightAndWidth);
            Rectangle backgrounddestinationRectangle = new Rectangle(UtilityClass.zero, UtilityClass.zero, UtilityClass.deathBackgroundX, UtilityClass.deathBackgroundY);
            Texture2D deathmario = MarioSpriteFactory.CreateMarioSmallStillSprite();

            game.spriteBatch.Begin();
            game.spriteBatch.Draw(deathbackground, backgrounddestinationRectangle, sourceRectangle, Color.Black);
            game.gui.DrawPlayGUI(game.spriteBatch, font);
            if (((Mario)game.mario).GetLives().ScoreValue >= UtilityClass.zero)
            {
                game.spriteBatch.DrawString(basicarialfont, UtilityClass.worldLevel, UtilityClass.deathtextloc, Color.White);
                game.spriteBatch.DrawString(font, UtilityClass.x, UtilityClass.deathmarioloc, Color.White);
                game.spriteBatch.DrawString(font, ((Mario)game.mario).GetLives().ScoreValue.ToString(), UtilityClass.remaininglivesloc, Color.White);
                game.spriteBatch.Draw(deathmario, mariodestinationRectangle, sourceRectangle, Color.White);
                ((Mario)game.mario).stats.DrawTotals(game.spriteBatch, font, new Vector2(UtilityClass.deathmarioloc.X - 80, UtilityClass.deathmarioloc.Y + 20));
            }
            else
            {
                game.spriteBatch.DrawString(font, UtilityClass.gameOver, UtilityClass.deathtextloc, Color.White);
            }
            game.spriteBatch.End();
        }
예제 #6
0
 public MarioDying(Mario mario)
 {
     AchievementEventTracker.dyingAcievement();
     this.mario = mario;
     sprite     = new AnimatedSprite(MarioSpriteFactory.CreateMarioDyingSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     mario.LoseLife();
 }
        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 MarioRunning(Mario mario)
 {
     this.mario = mario;
     big        = new AnimatedSprite(MarioSpriteFactory.CreateMarioBigRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     small      = new AnimatedSprite(MarioSpriteFactory.CreateMarioSmallRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     fire       = new AnimatedSprite(MarioSpriteFactory.CreateMarioFireRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     ice        = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
 }
예제 #9
0
 public MarioJump(Mario mario)
 {
     this.mario = mario;
     big        = new AnimatedSprite(MarioSpriteFactory.CreateMarioBigJumpingSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     small      = new AnimatedSprite(MarioSpriteFactory.CreateMarioSmallJumpingSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     fire       = new AnimatedSprite(MarioSpriteFactory.CreateMarioFireJumpingSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     ice        = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceJumpingSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
 }
예제 #10
0
 public VineSequenceMarioSprite(Vector2 location, bool smallMario, bool fireMario, bool iceMario)
 {
     this.smallMario = smallMario;
     this.fireMario  = fireMario;
     this.iceMario   = iceMario;
     bigFlagpole     = new AnimatedSprite(MarioSpriteFactory.CreateMarioBigFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     smallFlagpole   = new AnimatedSprite(MarioSpriteFactory.CreateMarioSmallFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     fireFlagpole    = new AnimatedSprite(MarioSpriteFactory.CreateMarioFireFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     iceFlagpole     = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
 }
예제 #11
0
 public EndingSequenceMarioSprite(Vector2 location, bool smallMario, bool fireMario, bool iceMario)
 {
     this.smallMario = smallMario;
     this.fireMario  = fireMario;
     this.iceMario   = iceMario;
     bigFlagpole     = new AnimatedSprite(MarioSpriteFactory.CreateMarioBigFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     smallFlagpole   = new AnimatedSprite(MarioSpriteFactory.CreateMarioSmallFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     fireFlagpole    = new AnimatedSprite(MarioSpriteFactory.CreateMarioFireFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     iceFlagpole     = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceFlagpoleSprite(), UtilityClass.one, UtilityClass.two, location, UtilityClass.enemyTotalFramesAndMarioFlagpoleTotalFrames);
     bigWalking      = new AnimatedSprite(MarioSpriteFactory.CreateMarioBigRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, location, UtilityClass.generalTotalFramesAndSpecializedRows);
     smallWalking    = new AnimatedSprite(MarioSpriteFactory.CreateMarioSmallRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, location, UtilityClass.generalTotalFramesAndSpecializedRows);
     fireWalking     = new AnimatedSprite(MarioSpriteFactory.CreateMarioFireRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, location, UtilityClass.generalTotalFramesAndSpecializedRows);
     iceWalking      = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceRunningSprite(), UtilityClass.one, UtilityClass.specializedSpriteTotalFramesAndMarioRunningCols, location, UtilityClass.generalTotalFramesAndSpecializedRows);
 }
        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");
            }
        }
        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 MarioDuck(Mario mario)
 {
     this.mario = mario;
     if (mario.Fire)
     {
         sprite = new AnimatedSprite(MarioSpriteFactory.CreateMarioFireDuckSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     }
     else if (mario.Ice)
     {
         sprite = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceDuckSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     }
     else if (mario.Small)
     {
         sprite = new AnimatedSprite(MarioSpriteFactory.CreateMarioSmallStillSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     }
     else
     {
         sprite = new AnimatedSprite(MarioSpriteFactory.CreateMarioDuckSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
     }
 }
 public MarioShootIceball(Mario mario)
 {
     this.mario = mario;
     mario.actions.ShotFired();
     sprite = new AnimatedSprite(MarioSpriteFactory.CreateMarioIceStillShootSprite(), UtilityClass.one, UtilityClass.one, mario.Location, UtilityClass.generalTotalFramesAndSpecializedRows);
 }