为什么我的简单if语句不起作用?

New*_*art 6 c# if-statement

我设计了一个简单的纸牌游戏,其中显示了两张牌,用户必须下注他们是否会获得显示在两张牌之间的牌.如果用户不想下注,他们只是再次交易.用户从100英镑开始.

游戏在大多数方面都运行良好,但有一个巨大的缺陷.用户可以比他们的余额更多地下注.因此,如果用户有100英镑,他们下注105英镑,他们赢了,他们将有205英镑的余额.这显然很糟糕!如果他们有100英镑,他们下注105英镑他们输了,他们的余额保持不变.这也很糟糕.
所以我认为一个简单的if语句可以解决这个问题:

if (wager > balance)
{
    winLoseLabel.Text = "You can't bet more than you have!";
}  
switch (betResult)
{
    case TIE:
        winloseLabel.Text = "Tie. You still lose. HA!";
        myRules.Balance -= wager;
        break;

    case PLAYERWINS:    
        winloseLabel.Text = "You win. Woop-de-do..";
        myRules.Balance += wager;
        break;

    case DEALERWINS:
        winloseLabel.Text = "You lose. Get over it.";
        myRules.Balance -= wager;
        break;
}
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?我很确定这很简单,但我对C#很陌生,所以对我这么简单!

Dan*_*tru 13

你应该有一个else:

if (wager > balance)
{
    winLoseLabel.Text = "You can't bet more than you have!";
}
else
{  
    switch (betResult)
    {
        //...
    }
}
Run Code Online (Sandbox Code Playgroud)