我正在尝试计算简单的二十一点游戏的分数。我希望计算机能够根据牌的情况选择何时将 Ace 牌计为 1 或 11,但我不想硬编码这种情况。
我该怎么做?
这就是我在经销商/玩家手牌类别中计算分数的方式:
public int calcScore()
{
int score = 0;
Link current = first;
while(current != null)
{
score = score + current.card.getValue();
current = current.next;
}
return score;
}
这就是我在 Card 类中指定卡片值的方式:
public int getValue()
{
int value = 0;
if (rank == 1)
value = 11;
else if (rank == 11 || rank == 12 || rank == 13)
value = 10;
else
value = rank;
return value;
}