我正在实施一个能够支持不同卡片游戏的通用甲板。
我有Deck和Card的接口,以及Suit和Rank的枚举。
我的问题是关于排名。例如,在二十一点中,您的值为2-10。图片卡是10,Ace是1或11.
在扑克中,情况已经不是这样了,等等。
记住这些例子 - enum是最好的方法吗?现在它看起来像这样:
public enum Rank {
TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(9), TEN(10),
JACK(11), QUEEN(12), KING(13), ACE(14);
private final int value;
public Rank(int value) {
this.value = value
}
public int getValue() {
return value;
}
}
或者Rank应该只是一个接口,所以这些值可以由实现它的人正确分配?