Exemplo n.º 1
0
 public Vector2 ClampPosition(double xPos, double yPos)
 {
     if (xPos < MinPosition.X)
     {
         Koopa.ChangeDirection();
         xPos = MinPosition.X;
     }
     if (yPos > MinPosition.Y)
     {
         yPos = MinPosition.Y;
     }
     else if (yPos < MaxPosition.Y)
     {
         yPos      = MaxPosition.Y;
         YVelocity = 0;
     }
     return(new Vector2((float)xPos, (float)yPos));
 }
 public void Execute()
 {
     if (Koopa.Health == KoopaStateMachine.KoopaHealth.Shelled && Koopa.Physics.IsMovingX())
     {
         Goomba.BeFlipped();
         Game.st.DefeatGoomba();
         ScoreAssignments sa = new ScoreAssignments();
         Game.UI.DisplayScore(sa.Goomba, Goomba.Location);
     }
     else
     {
         MoveEnemies();
         Koopa.ChangeDirection();
         Goomba.ChangeDirection();
     }
 }
Exemplo n.º 3
0
 public void Execute()
 {
     if (!checkForDeadKoopa())
     {
         if (side is Left || side is Right)
         {
             MoveKoopas();
             koopaOne.ChangeDirection();
             koopaTwo.ChangeDirection();
         }
         else
         {
             StackKoopas();
         }
     }
 }
 private void Movekoopa()
 {
     if (collision.Width > collision.Height)
     {
         koopa.SetPosition(new Vector2(koopa.DestinationRectangle.X,
                                       koopa.DestinationRectangle.Y - collision.Height));
     }
     else if (collision.Height > collision.Width)
     {
         if (side.BottomOrRight is IKoopa)
         {
             koopa.SetPosition(koopa.Location = new Vector2(koopa.DestinationRectangle.X +
                                                            collision.Width, koopa.DestinationRectangle.Y));
         }
         else
         {
             koopa.SetPosition(new Vector2(koopa.DestinationRectangle.X -
                                           collision.Width, koopa.DestinationRectangle.Y));
         }
         koopa.ChangeDirection();
     }
 }