首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaScript中对数字设置上限以使其低于特定的上限编号

如何在JavaScript中对数字设置上限以使其低于特定的上限编号
EN

Stack Overflow用户
提问于 2014-03-22 13:13:23
回答 2查看 581关注 0票数 0

我正在做我的第五个JavaScript项目,这是一场类似于RPG的战斗。玩家开始时拥有20点生命值和1点恢复5点生命值的药水。一切都很顺利,除了这样一个事实:如果你在完全健康的情况下使用药水(20),你的生命值就会达到25。我想限制它使玩家的最大生命值为20,这样如果你在全生命状态下使用药水,它什么也不起作用,或者如果你在16点生命状态下使用,它会恢复到20,而不是21。我研究了Math.min/Math.max方法,以及如何在parseInt中使用它们来创建最小/最大限制,但当我将其集成到我的代码中时,它不起作用。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2014-03-22 13:14:58

使用Math.min(),如下所示:

代码语言:javascript
复制
var health = 16;
var potion = 5;

health = Math.min(20, health + potion)

这可能有点违反直觉,但是您可以使用Math.min()表示“最大”上限,使用Math.max()表示“最小”上限。

票数 1
EN

Stack Overflow用户

发布于 2014-03-24 02:53:30

我很感谢你的回答(至少有一个),但我有个朋友指出了一个非常简单的解决方案,这让我觉得有点愚蠢。

代码语言:javascript
复制
var itemSelection = prompt("HP: " + playerHp + "\nItems:\n1.Potion - INFO: Restores 5 HP.  Can attack after use" + "\nQTY: " + potions + "\n2.Exit");

switch (itemSelection) {
    case '1':
        if(playerHp === 20){
            alert("You are already at full health.");
        }else{
        playerHp += 5;
        potions -= 1;
        if (playerHp > 20) {
            playerHp = 20;
        }
        }
        playerTurn();
        break;
    case '2':
        playerTurn();
        break;
    default:
        alert("Invalid choice.");
        itemMenu();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22573762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档