SOURCE

console 命令行工具 X clear

                    
>
console
class GameValue {

    /**
     * 数据验证(金币)
     */
    testGoldValue() {
        console.log("等级", "仓库", "过关奖励", "塔升级消耗")
        for (let level = 1; level <= 90; level++) {
            console.log(
                level
                ,this.goldWarehouse(level)
                ,this.goldPassReward(level)
                ,this.goldTowerUpgrade(level)
            )
        }

        for (let level of [500, 1000, 5000, 10000]) {
            console.log(
                level
                ,this.goldWarehouse(level)
                ,this.goldPassReward(level)
                ,this.goldTowerUpgrade(level)
            )
        }
    }
    
    /**
     * 生成通用的基础值
     * level:关卡的等级或塔的等级
     */
    goldBaseValue(level){
        var cut = 10;
        var x = parseInt(level/cut);
        var value = ((((x+1)*5+level*5)+45)/500)*12*60;
        return value;
    }

    /**
     * 金币仓库总价值
     * level: 当前关卡
     */
    goldWarehouse(level) {
        return Math.ceil(this.goldBaseValue(level)*8);
    }

    /**
     * 通过关卡后金币奖励总数
     * level: 当前关卡
     */
    goldPassReward(level) {
        return Math.ceil(this.goldBaseValue(level));
    }

    /**
     * 防御塔升级的金币消耗
     * levelTotal: 所有防御塔所有属性等级之和
     */
    goldTowerUpgrade(levelTotal) {
        return Math.ceil(this.goldBaseValue(levelTotal/12)*8/6);
    }

    /**
     * 防御塔攻击力
     * towerId: 防御塔ID
     * level: 防御塔当前攻击等级
     */
    towerAttack(towerId, level) {
        // TODO
    }

    /**
     * 防御塔攻速
     * towerId: 防御塔ID
     * level: 防御塔当前攻速等级
     */
    towerSpeed(towerId, level) {
        // TODO
    }

    /**
     * 防御塔暴击
     * towerId: 防御塔ID
     * level: 防御塔当前暴击等级
     */
    towerCrit(towerId, level) {
        // TODO
    }


    /**
     * 敌人攻击力
     * enemyId: 敌人ID(1: 一号僵尸, 2: 二号僵尸, 3: 三号僵尸, 4: 四号僵尸)
     * level: 当前关卡
     */
    enemyAttack(enemyId, level) {
        // TODO
    }

    /**
     * 敌人抗暴击
     * enemyId: 敌人ID
     * level: 当前关卡
     */
    enemyUnCrit(enemyId, level) {
        // TODO
    }
}

new GameValue().testGoldValue()

class GameValue {

    /**
     * 数据验证(金币)
     */
    testGoldValue() {
        console.log("等级", "仓库", "过关奖励", "塔升级消耗")
        for (let level = 1; level <= 90; level++) {
            console.log(
                level
                ,this.goldWarehouse(level)
                ,this.goldPassReward(level)
                ,this.goldTowerUpgrade(level)
            )
        }

        for (let level of [500, 1000, 5000, 10000]) {
            console.log(
                level
                ,this.goldWarehouse(level)
                ,this.goldPassReward(level)
                ,this.goldTowerUpgrade(level)
            )
        }
    }
    
    /**
     * 生成通用的基础值
     * level:关卡的等级或塔的等级
     */
    goldBaseValue(level){
        var cut = 10;
        var x = parseInt(level/cut);
        var value = ((((x+1)*5+level*5)+45)/500)*12*60;
        return Math.ceil(value);
    }

    /**
     * 金币仓库总价值
     * level: 当前关卡
     */
    goldWarehouse(level) {
        return Math.ceil(goldBaseValue(level)*8);
    }

    /**
     * 通过关卡后金币奖励总数
     * level: 当前关卡
     */
    goldPassReward(level) {
        return Math.ceil(goldBaseValue(level));
    }

    /**
     * 防御塔升级的金币消耗
     * levelTotal: 所有防御塔所有属性等级之和
     */
    goldTowerUpgrade(levelTotal) {
        return Math.ceil(goldBaseValue(levelTotal/4)*8/6);
    }

    /**
     * 防御塔攻击力
     * towerId: 防御塔ID
     * level: 防御塔当前攻击等级
     */
    towerAttack(towerId, level) {
        // TODO
    }

    /**
     * 防御塔攻速
     * towerId: 防御塔ID
     * level: 防御塔当前攻速等级
     */
    towerSpeed(towerId, level) {
        // TODO
    }

    /**
     * 防御塔暴击
     * towerId: 防御塔ID
     * level: 防御塔当前暴击等级
     */
    towerCrit(towerId, level) {
        // TODO
    }


    /**
     * 敌人攻击力
     * enemyId: 敌人ID(1: 一号僵尸, 2: 二号僵尸, 3: 三号僵尸, 4: 四号僵尸)
     * level: 当前关卡
     */
    enemyAttack(enemyId, level) {
        // TODO
    }

    /**
     * 敌人抗暴击
     * enemyId: 敌人ID
     * level: 当前关卡
     */
    enemyUnCrit(enemyId, level) {
        // TODO
    }
}

new GameValue().testGoldValue()