|
|
1
25
|
|
|
2
9
你将只使用1张A获得11分。因此,将除最后一张ace外的所有ace计算为1,如果分数为10或更少,则最后一张ace计算为10。 |
|
|
3
5
只有1张A可以算作11张。 因此,将每个Ace视为11的替代方法是将每个Ace视为1。 然后将总价值加上10(不管手头上有多少Ace),并将其保存在单独的“高”变量中(值+10)。如果出现(任何)ace,也要创建~ace:true的布尔值。 因此,当检查经销商的分数时;检查玩家的手牌是否有王牌,在这种情况下,你可以使用“高”值,否则(没有王牌)使用“低”值。 那样的话,King+9+Ace(也许是个糟糕的例子)将~低:20&高:30及;ace:是的-有了这些信息,你可以检查30-10是否会“赢得比赛”。 所以,国王+5+5(低:20高:30 ace:false)不会使用它的高值30。 我使用这种方法,所以我知道何时在屏幕上显示alt.Ace分数;像3/13(Ace+2),使用相同的Ace:true | false布尔值,我已经有了。这肯定与第一个给出的答案相同,但这对我来说更有意义:) |
|
|
4
3
不管每个a的总和是11,当总数超过21时,从手上减去10,但问题是你必须记下减去10的次数和加11的次数(a), 我们必须始终感到满意 alorithm示例:
|
|
|
5
2
与埃伦马克的答案相似。。。 您很可能得到了一个计算21点手牌值的方法。始终在某一点上为A赋值。如果一只手包含一个ace,则计算一个硬值(所有ace都是1,+10)和一个软值(所有ace都是1)。 如果硬值不是半身像,则返回硬值。如果硬值是半身像,则返回软值。
例1
例2
硬价值>21,因此返回软值(手动值为12) 关于规则和游戏方式的传统想法是,A的值是有条件的,可以有两个值,1或11。这一概念很难实施。对程序员来说,把所有的a都算作一个值并有条件地在手的值上加上10分要容易得多。这样,您的卡的等级或价值实现可以保持僵化和直接。我之前已经通过返回一组值和其他几个方法对此进行了试验。这是一种痛苦,而且不值得仅仅为一个王牌排名。 如果希望在屏幕上显示alt(如2/12),而不是返回整数,只需返回一个“BlackjackValue”对象,该对象包含一个整数和一个字符串对象,该对象是您在计算手值的方法中创建的。 |
|
|
6
0
|
|
|
7
-1
问题是它还没有确定:你可以将一张A(据我所知)算作1或11。但你知道你不会每次都把它算作11,因为你会破产的。
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |