Beispiel #1
0
 protected override void HandleCollusion(Mario other, List <Direction> dirs)
 {
     base.HandleCollusion(other, dirs);
     if (other.SpeedY > 0)
     {
         float shieldMiddleX = Left + (Right - Left) / 2;
         float mrioMiddleX   = other.Left + (other.Right - other.Left) / 2;
         if (mrioMiddleX > shieldMiddleX)
         {
             shieldStrtgy.GoLeft();
         }
         else
         {
             shieldStrtgy.GoRight();
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch        = new SpriteBatch(GraphicsDevice);
            fntForPauseOrDeath = Content.Load <SpriteFont>("FntForPauseOrDeath");
            blkScrn            = new BlackScreen(Content.Load <Texture2D>(BlackScreen.textureName));
            blkScrn.Hide();
            allMenuObjects.Add(blkScrn);
            bckgrnd = new Background(Content.Load <Texture2D>("background"), Content.Load <Texture2D>("background"), GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, allNotMenuObjects);
            List <Texture2D> mrioFacingRightTextures = new List <Texture2D>();
            List <Texture2D> mrioFacingLeftTextures  = new List <Texture2D>();

            foreach (string assetName in Mario.texturesNameFacingRight)
            {
                mrioFacingRightTextures.Add(Content.Load <Texture2D>(assetName));
            }
            foreach (string assetName in Mario.texturesNameFacingLeft)
            {
                mrioFacingLeftTextures.Add(Content.Load <Texture2D>(assetName));
            }
            Floor        flr        = new Floor(bckgrnd.GameWidth, bckgrnd.GameHeight);
            Texture2D    hrtTexture = Content.Load <Texture2D>(Heart.textureName);
            List <Heart> hrts       = new List <Heart>();

            hrts.Add(new Heart(hrtTexture, 10));
            hrts.Add(new Heart(hrtTexture, hrts[0].Right + 5));
            hrts.Add(new Heart(hrtTexture, hrts[1].Right + 5));
            mrioStrategy = new UserMarioMovingStrategy();
            mrio         = new Mario(mrioFacingRightTextures, mrioFacingLeftTextures, flr, mrioStrategy, hrts);
            allNotMenuObjects.Add(flr);

            Pipe pip = new Pipe(Content.Load <Texture2D>(Pipe.textureName), 800, 0.7f);

            allNotMenuObjects.Add(pip);

            foreach (Heart hrt in hrts)
            {
                allNotMenuObjects.Add(hrt);
            }

            crtr = new GameObjsCreator(pip, flr, this, mrio);
            HugeCannonBomb cnnBmbHuge = crtr.CreateHugeCannonBomb();

            if (cnnBmbHuge != null)
            {
                allNotMenuObjects.Add(cnnBmbHuge);
            }
            List <Texture2D> gmbaFacingRightTextures = new List <Texture2D>();
            List <Texture2D> gmbaFacingLeftTextures  = new List <Texture2D>();

            foreach (string assetName in Goomba.texturesNameFacingRight)
            {
                gmbaFacingRightTextures.Add(Content.Load <Texture2D>(assetName));
            }
            foreach (string assetName in Goomba.texturesNameFacingLeft)
            {
                gmbaFacingLeftTextures.Add(Content.Load <Texture2D>(assetName));
            }
            Texture2D gmbaDeadTxtr        = Content.Load <Texture2D>(Goomba.deadTextureNm);
            Texture2D gmbaDeadTxtrFlipped = Content.Load <Texture2D>(Goomba.deadTextureFlippedNm);
            Goomba    gmba = new Goomba(gmbaFacingRightTextures, gmbaFacingLeftTextures, flr, 500, new RandomLeftRightStay(), gmbaDeadTxtr, gmbaDeadTxtrFlipped, mrio.Points);

            allNotMenuObjects.Add(mrio);
            allNotMenuObjects.Add(gmba);
            List <GameObject> invntryStrip = crtr.CreateInventoryStrip(bckgrnd.GameWidth);

            for (int i = 1; i < invntryStrip.Count; i++)
            {
                mrioInventoryCells.Add(invntryStrip[i] as ItemCell);
            }
            allMenuObjects.AddRange(invntryStrip);
            chestStrip = crtr.CreateChestInvStrip(bckgrnd.GameWidth, bckgrnd.GameHeight);
            for (int i = 1; i < chestStrip.Count; i++)
            {
                chestWpnsCells[i - 1] = chestStrip[i] as ItemCell;
            }
        }
Beispiel #3
0
 protected override void HandleCollusion(Mario other, List <Direction> dirs)
 {
     collidesWithNow.Add(other);
 }
Beispiel #4
0
 protected virtual void HandleCollusion(Mario other, List <Direction> dirs)
 {
 }