Beispiel #1
0
 public Attr(string name = "", attrType type = attrType.attr, bool numerical = false, string path = "")
 {
     this.name      = name;
     this.type      = type;
     this.numerical = numerical;
     this.path      = path;
 }
Beispiel #2
0
    /* 返回角色属性 */
    public static int getAttr(attrType type)
    {
        switch (type)
        {
        case attrType.HP:
            return(HP);

            break;

        case attrType.maxHP:
            return(maxHP);

            break;

        case attrType.MP:
            return(MP);

            break;

        case attrType.maxMP:
            return(maxMP);

            break;

        case attrType.atk:
            return(atk);

            break;

        case attrType.aSpeed:
            return(aSpeed);

            break;

        case attrType.mSpeed:
            return(mSpeed);

            break;

        default:
            return(-1);

            break;
        }
    }
Beispiel #3
0
    /* 设置角色属性 */
    public static void setAttr(int value, attrType type)
    {
        switch (type)
        {
        case attrType.HP:
            HP = value;
            break;

        case attrType.maxHP:
            maxHP = value;
            break;

        case attrType.MP:
            MP = value;
            break;

        case attrType.maxMP:
            maxMP = value;
            break;

        case attrType.atk:
            atk = value;
            break;

        case attrType.aSpeed:
            aSpeed = value;
            break;

        case attrType.mSpeed:
            mSpeed = value;
            break;

        default:
            break;
        }
    }
Beispiel #4
0
    public static void addAttr(int num, attrType type)
    {
        int result;

        switch (type)
        {
        case attrType.HP:
            result = HP + num;
            if (result > maxHP)                 // 生命值超过最大生命
            {
                HP = maxHP;
            }
            else
            {
                HP = result;
            }
            break;

        case attrType.maxHP:
            maxHP = maxHP + num;
            addAttr(num, attrType.HP);
            break;

        case attrType.MP:
            result = MP + num;
            if (result > maxMP)                 // 魔法值超过最大魔法
            {
                MP = maxMP;
            }
            else
            {
                MP = result;
            }
            break;

        case attrType.maxMP:
            maxMP = maxMP + num;
            addAttr(num, attrType.MP);
            break;

        case attrType.atk:
            result = atk + num;
            if (result > 300)                   // 攻击力超过阈值
            {
                atk = 300;
            }
            else
            {
                atk = result;
            }
            break;

        case attrType.aSpeed:
            result = aSpeed + num;
            if (result > 50)                    // 攻击速度超过阈值
            {
                aSpeed = 50;
            }
            else
            {
                aSpeed = result;
            }
            break;

        case attrType.mSpeed:
            result = mSpeed + num;
            if (result > 16)                    // 移动速度超过阈值
            {
                mSpeed = 16;
            }
            else
            {
                mSpeed = result;
            }
            break;
        }
    }
Beispiel #5
0
    public static void reduceAttr(int num, attrType type)
    {
        int result;

        switch (type)
        {
        case attrType.HP:
            result = HP - num;
            if (result <= 0)                    // 生命值降到0以下
            {
                HP = 0;
                death();                                // 触发死亡事件
            }
            else
            {
                HP = result;
            }
            break;

        case attrType.maxHP:
            result = maxHP - num;
            if (result <= 0)                    // 最大生命值降到0以下
            {
                maxHP = 0;
                death();                                // 触发死亡事件
            }
            else
            {
                maxHP = result;
                if (HP > maxHP)                         // 当前生命值超过最大生命值
                {
                    HP = maxHP;
                }
            }
            break;

        case attrType.MP:
            result = MP - num;
            if (result <= 0)                    // 魔法值降到0以下
            {
                MP = 0;
            }
            else
            {
                MP = result;
            }
            break;

        case attrType.maxMP:
            result = maxMP - num;
            if (result <= 0)                    // 最大魔法值降到0以下
            {
                maxMP = 0;
            }
            else
            {
                maxMP = result;
                if (MP > maxMP)                         // 当前魔法值超过最大魔法值
                {
                    MP = maxMP;
                }
            }
            break;

        case attrType.atk:
            result = atk - num;
            if (result <= 30)                   // 攻击力降到阈值以下
            {
                atk = 30;
            }
            else
            {
                atk = result;
            }
            break;

        case attrType.aSpeed:
            result = aSpeed - num;
            if (result <= 5)                    // 攻击速度降到阈值以下
            {
                aSpeed = 5;
            }
            else
            {
                aSpeed = result;
            }
            break;

        case attrType.mSpeed:
            result = mSpeed - num;
            if (result <= 0)                    // 移动速度降到阈值以下
            {
                mSpeed = 0;
            }
            else
            {
                mSpeed = result;
            }
            break;
        }
    }
    public static void addAttr(int num, attrType type)
    {
        int result;

        switch (type)
        {
        case attrType.HP:
            result = HP + num;
            if (result <= 0)                    // 生命值降到0以下
            {
                HP = 0;
                death();                                // 触发死亡事件
            }
            else
            {
                HP = result;
            }
            break;

        case attrType.maxHP:
            result = maxHP + num;
            if (result <= 0)                    // 最大生命值降到0以下
            {
                maxHP = 0;
                death();                                // 触发死亡事件
            }
            else
            {
                maxHP = result;
                if (HP > maxHP)                         // 当前生命值超过最大生命值
                {
                    HP = maxHP;
                }
            }
            break;

        case attrType.MP:
            result = MP + num;
            if (result <= 0)                    // 魔法值降到0以下
            {
                MP = 0;
            }
            else
            {
                MP = result;
            }
            break;

        case attrType.maxMP:
            result = maxMP + num;
            if (result <= 0)                    // 最大魔法值降到0以下
            {
                maxMP = 0;
            }
            else
            {
                maxMP = result;
                if (MP > maxMP)                         // 当前魔法值超过最大魔法值
                {
                    MP = maxMP;
                }
            }
            break;

        case attrType.atk:
            result = atk + num;
            if (atk > 300)                      // 攻击力超过阈值
            {
                atk = 300;
            }
            else
            {
                atk = result;
            }
            break;

        case attrType.aSpeed:
            result = aSpeed + num;
            if (aSpeed > 50)                    // 攻击速度超过阈值
            {
                aSpeed = 50;
            }
            else
            {
                aSpeed = result;
            }
            break;

        case attrType.mSpeed:
            result = mSpeed + num;
            if (mSpeed > 16)                    // 移动速度超过阈值
            {
                mSpeed = 16;
            }
            else
            {
                mSpeed = result;
            }
            break;
        }
    }