Ejemplo n.º 1
0
        public void InitPlayers()
        {
            Mario smallMario = new Mario(new Vector2(20, 16), null);

            displayPlayers.Add((new Mario(new Vector2(20, 16), null)));

            Mario bigMario = new Mario(new Vector2(20, 60), null);

            bigMario.SwitchToBigMario(false);
            displayPlayers.Add(bigMario);

            Mario fireMario = new Mario(new Vector2(20, 100), null);

            fireMario.SwitchToFireMario(false);
            displayPlayers.Add(fireMario);
        }
Ejemplo n.º 2
0
        public static void HandleCollision(IPlayer marioPlayer, IEnemy enemy, Game1.Side side)
        {
            Mario mario = (Mario)marioPlayer;

            if (!mario.IsInSpecialAnimationState())
            {
                if (mario.IsStarMario() && !side.Equals(Game1.Side.None))
                {
                    enemy.BeFlipped();
                }
                else if (side.Equals(Game1.Side.Left) || side.Equals(Game1.Side.Right) || side.Equals(Game1.Side.Top))
                {
                    mario.TakeDamage();
                }
                //case mario on enemy
                else if (side.Equals(Game1.Side.Bottom))
                {
                    int bounceVelocity = -4;
                    // case enemy is goomba
                    if (enemy is Goomba)
                    {
                        Goomba localGoomba = (Goomba)enemy;
                        localGoomba.KillEnemy();

                        mario.SetVerticalVelocity(bounceVelocity);
                    }
                    if (enemy is Koopa)
                    {
                        Koopa localKoopa = (Koopa)enemy;

                        localKoopa.KillEnemy();
                        mario.SetVerticalVelocity(bounceVelocity);
                    }

                    if (!WorldManager.spriteSet.players[0].GetTouchedGround())
                    {
                        WorldManager.spriteSet.players[0].IncrementEnemyMultiplier();
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public bool ChangeStateAnimation(Mario mario)
        {
            bool finished = false;

            if (frameTimer < totalFrames)
            {
                frameTimer++;
                if (frameTimer == firstFrame)
                {
                    if (mario.GetState().Equals((MarioState.LARGE)))
                    {
                        mario.state       = new RightRunningBigMarioState(mario);
                        mario.marioSprite = new RightRunningLargeMario();
                    }
                    else if (mario.GetState().Equals((MarioState.FIRE)))
                    {
                        mario.state       = new RightRunningFireMarioState(mario);
                        mario.marioSprite = new RightRunningFireMario();
                    }
                    else
                    {
                        mario.state       = new RightRunningSmallMarioState(mario);
                        mario.marioSprite = new RightRunningSmallMario();
                    }
                }

                mario.MoveX(walkingVelo);
                mario.marioSprite.Update(true);
                if (frameTimer == totalFrames)
                {
                    finished = true;
                }
            }
            else
            {
                mario.location.X = offScreen;
                mario.location.Y = offScreen;
            }
            return(finished);
        }
Ejemplo n.º 4
0
 public StarMario(Mario decoratedMario)
 {
     this.decoratedMario = decoratedMario;
 }
 public RightJumpingSmallMarioState(Mario mario)
 {
     this.mario = mario;
     //construct sprite here
 }
Ejemplo n.º 6
0
 public RightJumpingFireMarioState(Mario mario)
 {
     this.mario = mario;
 }
Ejemplo n.º 7
0
 public LeftJumpingBigMarioState(Mario mario)
 {
     this.mario = mario;
 }
Ejemplo n.º 8
0
 public MarioMovingManager(Mario mario)
 {
     this.mario = mario;
 }
Ejemplo n.º 9
0
        public bool ChangeStateAnimation(Mario mario, IMarioSprite initialSprite, IMarioSprite finalSprite)
        {
            bool finished = false;
            int  firstFrameChangeRotation  = totalFrames * 1 / 5;
            int  secondFrameChangeRotation = totalFrames * 2 / 5;
            int  thirdFrameChangeRotation  = totalFrames * 3 / 5;
            int  fourthFrameChangeRotation = totalFrames * 4 / 5;



            if (frameTimer < totalFrames)
            {
                if (frameTimer < firstFrameChangeRotation)
                {
                    if (frameTimer == 0)
                    {
                        mario.location.Y -= transformationDisplacement;
                    }
                    mario.SetIMarioSprite(finalSprite);
                    mario.dimensions.Y = MarioUtility.marioNormalHeight;
                    mario.dimensions.X = MarioUtility.marioNormalWidth;
                }
                else if (frameTimer < secondFrameChangeRotation)
                {
                    if (frameTimer == firstFrameChangeRotation)
                    {
                        mario.location.Y += transformationDisplacement;
                    }
                    mario.SetIMarioSprite(initialSprite);
                    mario.dimensions.Y = MarioUtility.marioSmallHeight;
                    mario.dimensions.X = MarioUtility.marioSmallWidth;
                }
                else if (frameTimer < thirdFrameChangeRotation)
                {
                    if (frameTimer == secondFrameChangeRotation)
                    {
                        mario.location.Y -= transformationDisplacement;
                    }
                    mario.SetIMarioSprite(finalSprite);
                    mario.dimensions.Y = MarioUtility.marioNormalHeight;
                    mario.dimensions.X = MarioUtility.marioNormalWidth;
                }
                else if (frameTimer < fourthFrameChangeRotation)
                {
                    if (frameTimer == thirdFrameChangeRotation)
                    {
                        mario.location.Y += transformationDisplacement;
                    }
                    mario.SetIMarioSprite(initialSprite);
                    mario.dimensions.Y = MarioUtility.marioSmallHeight;
                    mario.dimensions.X = MarioUtility.marioSmallWidth;
                }
                else
                {
                    if (frameTimer == fourthFrameChangeRotation)
                    {
                        mario.location.Y -= transformationDisplacement;
                    }
                    mario.SetIMarioSprite(finalSprite);
                    mario.dimensions.Y = MarioUtility.marioNormalHeight;
                    mario.dimensions.X = MarioUtility.marioNormalWidth;
                }

                frameTimer++;
                if (frameTimer == totalFrames)
                {
                    finished   = true;
                    frameTimer = 0;
                }
            }

            return(finished);
        }
 public RightRunningSmallMarioState(Mario mario)
 {
     this.mario = mario;
 }
Ejemplo n.º 11
0
 public DeadMarioState(Mario mario)
 {
     Display.UpdateScore(0);
     this.mario = mario;
     //construc sprite here
 }