Super-Mario/Characters/Players/Mario.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace SuperMario.Characters.Players
{
    using System;
    using SuperMario.Interfaces;

    /// <summary>
    /// Implements main player's character.
    /// </summary>
    /// <exception cref="ArgumentNullException">
    /// Thrown when null parameter "ammo" is passed in the Shoot method.
    /// </exception>
    public class Mario : Character, IAttack, IJump, IMovable
    {
        private const char DEFAULT_CHAR = 'M';
        private const int DEFAULT_LIFE_POINTS = 10;
        private const int JUMP_HEIGHT = 1;
        private const int STEP = 1;

        private int points;

        public Mario(int staringPositionX, int startingPositionY, char displayAsChar = DEFAULT_CHAR, int lifePoints = DEFAULT_LIFE_POINTS)
            : base(staringPositionX, startingPositionY, displayAsChar, lifePoints)
        {
        }

        public int Points
        {
            get
            {
                return this.points;
            }

            set
            {
                this.points = value;
            }
        }

        public IAmmo Shoot(IAmmo ammo)
        {
            if (ammo == null)
            {
                throw new ArgumentNullException("ammo", "Ammo can not be null");
            }

            ammo.PositionX = this.PositionX;
            ammo.PositionY = this.PositionY;
            ammo.IsShooted = true;

            return ammo;
        }

        public void StartJump()
        {
            this.PositionY -= JUMP_HEIGHT;
        }

        public void Falling()
        {
            this.PositionY += STEP;
后面还有 18 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。