Ejemplo n.º 1
0
    public void MoveCharacter()
    {
        left = Hardware.JoystickMovedLeft() ||
               hardware.IsKeyPressed(Hardware.KEY_LEFT);
        right = Hardware.JoystickMovedRight() ||
                hardware.IsKeyPressed(Hardware.KEY_RIGHT);

        if (isFalling)
        {
            mainCharacter.Fall(verticalSpeed);
        }
        else if (isJumping)
        {
            mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed),
                                 (short)(mainCharacter.Y + verticalSpeed));

            verticalSpeed += VERTICAL_SPEED_DECREMENT;
            if (verticalSpeed >= MAX_VERTICAL_SPEED)
            {
                verticalSpeed = MAX_VERTICAL_SPEED;
            }
            mainCharacter.Fall(verticalSpeed);
        }

        else if (hardware.IsKeyPressed(Hardware.KEY_SPACE) ||
                 Hardware.JoystickPressed(0))
        {
            isJumping       = true;
            verticalSpeed   = -1 * MAX_VERTICAL_SPEED;
            horizontalSpeed = left ? -1 * movement_increment : right ? +1 *
                              movement_increment : 0.0f;
            mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed),
                                 (short)(mainCharacter.Y + verticalSpeed));
        }

        else if (left && mainCharacter.X > 0)
        {
            mainCharacter.X -= mainCharacter.STEP_LENGHT;
        }

        else if (right && mainCharacter.X < GameController.SCREEN_WIDTH -
                 mainCharacter.SPRITE_WIDTH)
        {
            mainCharacter.X += mainCharacter.STEP_LENGHT;
        }

        else if (Hardware.JoystickPressed(1))
        {
            keyPressed = Hardware.KEY_ESC;
        }

        if (left && !isFalling)
        {
            mainCharacter.Animate(MovableSprite.SpriteDirections.LEFT);
        }
        else if (right && !isFalling)
        {
            mainCharacter.Animate(MovableSprite.SpriteDirections.RIGHT);
        }
    }
Ejemplo n.º 2
0
    private void moveCharacter()
    {
        bool left         = hardware.IsKeyPressed(Hardware.KEY_LEFT);
        bool right        = hardware.IsKeyPressed(Hardware.KEY_RIGHT);
        bool kick         = hardware.IsKeyPressed(Hardware.KEY_Q);
        bool punch        = hardware.IsKeyPressed(Hardware.KEY_W);
        bool jump         = hardware.IsKeyPressed(Hardware.KEY_SPACE);
        bool high_defense = hardware.IsKeyPressed(Hardware.KEY_E);

        if (left)
        {
            if (character.X > 0)
            {
                character.X -= MainCharacter.STEP_LENGTH;
            }
        }
        if (right)
        {
            character.X += MainCharacter.STEP_LENGTH;
        }

        if (left)
        {
            character.Animate(MovableSprite.SpriteMovement.LEFT);
        }

        if (right)
        {
            character.Animate(MovableSprite.SpriteMovement.LEFT);
            if (jump)
            {
                character.Animate(MovableSprite.SpriteMovement.FLIP_FORWARDS);
            }
        }

        if (kick)
        {
            character.Animate(MovableSprite.SpriteMovement.KICK);
        }
        if (punch)
        {
            character.Animate(MovableSprite.SpriteMovement.PUNCH);
        }
        if (jump)
        {
            character.Animate(MovableSprite.SpriteMovement.JUMP);
        }
        if (high_defense)
        {
            character.Animate(MovableSprite.SpriteMovement.PUNCH);
        }
    }
Ejemplo n.º 3
0
    public void MoveCharacter()
    {
        left = Hardware.JoystickMovedLeft() ||
               hardware.IsKeyPressed(Hardware.KEY_LEFT);
        right = Hardware.JoystickMovedRight() ||
                hardware.IsKeyPressed(Hardware.KEY_RIGHT);

        if (isFalling)
        {
            mainCharacter.Fall(verticalSpeed <= 0 ? -verticalSpeed : verticalSpeed);
        }

        else if (isJumping)
        {
            mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed),
                                 (short)(mainCharacter.Y + verticalSpeed));

            if (mainCharacter.CurrentDirection == MovableSprite.SpriteDirections.LEFT &&
                map.XMap > 0)
            {
                map.XMap += (short)horizontalSpeed;
            }
            else if (mainCharacter.CurrentDirection == MovableSprite.SpriteDirections.RIGHT &&
                     map.XMap > 0)
            {
                map.XMap += (short)horizontalSpeed;
            }

            verticalSpeed += VERTICAL_SPEED_DECREMENT;
            if (verticalSpeed >= MAX_VERTICAL_SPEED)
            {
                verticalSpeed = MAX_VERTICAL_SPEED;
            }
        }

        else if (hardware.IsKeyPressed(Hardware.KEY_SPACE) ||
                 Hardware.JoystickPressed(0))
        {
            isJumping       = true;
            verticalSpeed   = -1 * MAX_VERTICAL_SPEED;
            horizontalSpeed = left ? -1 * movement_increment : right ? +1 *
                              movement_increment : 0.0f;
            mainCharacter.MoveTo((short)(mainCharacter.X + horizontalSpeed),
                                 (short)(mainCharacter.Y + verticalSpeed));

            jumps++;
        }

        if (left && mainCharacter.X > 10)
        {
            mainCharacter.X -= mainCharacter.STEP_LENGHT;
            if (map.XMap > 0)
            {
                map.XMap -= mainCharacter.STEP_LENGHT;
            }
        }

        if (right && mainCharacter.X < map.Width -
            mainCharacter.SPRITE_WIDTH - 10)
        {
            mainCharacter.X += mainCharacter.STEP_LENGHT;
            if (map.XMap < map.Width - GameController.SCREEN_WIDTH)
            {
                map.XMap += mainCharacter.STEP_LENGHT;
            }
        }

        if (mainCharacter.Y - map.YMap < 110)
        {
            map.YMap -= 6;
        }

        if (mainCharacter.Y - map.YMap > 110)
        {
            map.YMap += 6;
        }

        if (map.XMap < 0)
        {
            map.XMap = 0;
        }
        else if (map.XMap > map.Width - GameController.SCREEN_WIDTH)
        {
            map.XMap = (short)(map.Width - GameController.SCREEN_WIDTH);
        }
        if (map.YMap < 0)
        {
            map.YMap = 0;
        }
        else if (map.YMap > map.Height - GameController.SCREEN_HEIGHT)
        {
            map.YMap = (short)(map.Height - GameController.SCREEN_HEIGHT);
        }
        if (mainCharacter.X < 0)
        {
            mainCharacter.X = 0;
        }
        else if (mainCharacter.X > map.Width - mainCharacter.SPRITE_WIDTH)
        {
            mainCharacter.X = (short)(map.Width - mainCharacter.SPRITE_WIDTH);
        }
        if (mainCharacter.Y - map.YMap < 0)
        {
            mainCharacter.Y = 0;
        }
        else if (mainCharacter.Y > map.Height - mainCharacter.SPRITE_HEIGHT)
        {
            mainCharacter.Y = (short)(map.Height - mainCharacter.SPRITE_HEIGHT);
        }

        else if (Hardware.JoystickPressed(1))
        {
            keyPressed = Hardware.KEY_ESC;
        }

        if (left && !isFalling)
        {
            mainCharacter.Animate(MovableSprite.SpriteDirections.LEFT);
        }
        else if (right && !isFalling)
        {
            mainCharacter.Animate(MovableSprite.SpriteDirections.RIGHT);
        }
    }