0

您好,我需要发明一个百家乐游戏.. 现在最重要的是,我需要遵循一些规则才能使游戏成功。问题是我对我的 if-else 语句感到困惑。Idk 应该先出现。哪个不应该。有时当我运行它时它看起来不错,但是当我运行它多次并产生不同的随机数时,似乎我的 if-else 语句都不起作用(在 //rules 部分下)。请帮忙!

已编辑:(新//规则)

  //rules
       if(sumPlayer > 7 && sumPlayer <10) {
          System.out.println ( " Natural! No cards are drawn. "); 
       } else if (sumPlayer <6){
          System.out.println ( " Player must draw to a hand of 5 or less." + 
                          "\nPlayer draws a third card: " +c3+ " .");
       } else if(c3 > 5){
          System.out.println ( " Player stands a pat. ");
       } else {
          System.out.println ( " Player's hand is now : " +sumC3+ " .");
       }
4

1 回答 1

0

你想分别处理玩家和庄家的手牌。在一系列 if/else 决策中,只能选择一个分支。这意味着在一组 if/else 语句中测试的条件应该是互斥的。如果你测试你的手的条件,然后是庄家,这两个条件可能同时出现,但是 if/then 代码不能同时处理这两个条件。

这是一些说明这一点的伪代码:

if(test my hand 1) {
    do something with my score
} else if(test my hand 2){
    do something with my score
} else if(test my hand 3){
    do something with my score
} else {
    do a default thing with my score
}

if(test dealer hand 1) {
    do something with dealer score
} else if(test dealer hand 2){
    do something with dealer score
} else if(test dealer hand 3){
    do something with dealer score
} else {
    do a default thing with dealer score
}

顺便说一句 - 当您显示哪个玩家获胜时,您可能还想显示得分。它有利于调试,也很高兴让用户知道他们玩得有多好。

于 2013-10-09T06:55:23.133 回答