如何在 IF 语句 C++ 中创建 "Unless condition"

How can I make an "Unless condition" in an IF statement c++

我正在用 C++ 制作 21 点游戏,快结束了!我正在做我的输赢报表。但我的问题是,我需要我的 if 语句来确定庄家的s/players 手牌是否大于或小于另一手牌,它还需要检查任一手牌是否超过 21.

所以让 if 语句确定这不是问题我只需要它不通过一个 if 语句如果另一个超过 21

       if (dealerTotal > 21 || playerTotal > dealerTotal)//For win
        {

        }
        if (playerTotal > 21 || dealerTotal > playerTotal)// For lose
        {

        }

因此,第一个需要通过 IF UNLESS“playerTotal is over 21”,而下一个 IF

则相反

如有任何建议,我们将不胜感激。 非常感谢!

Blackjack中,如果闲家和庄家的点数都大于21(称为“爆牌”),则闲家输,庄家赢。因此,您必须相应地设计逻辑:

if (
    //player busted, or
    playerTotal > 21 ||

    //dealer not busted and dealer has more points than player
    ( dealerTotal <= 21 && dealerTotal > playerTotal )
)
{
    printf( "Dealer wins!\n" );
}
else if ( dealerTotal == playerTotal )
{
    printf( "Tie!\n" );
}
else
{
    printf( "Player wins!\n" );
}

请注意,第一个 if 条件中的括号不是必需的,因为 &&|| 具有更高的 operator precedence。我只是为了清楚起见才添加它们。

此逻辑没有考虑到 21 点 21 点对非 21 点非 21 点的胜利。如果一方有 21 点而另一方有 21 点非 21 点,则上述逻辑将错误地报告平局。如果不查看更多代码就无法解决此问题,因为您只提供变量 playerTotaldealerTotal,它们没有指定一方是否有 blackjack。