如何在扑克游戏中为Rank分配值。我有名称的等级,它们存储在Collection方法中,但我无法弄清楚如何提取值并为它们分配一个数字值。
私人收集卡; //所以这是我的手,我把卡存放在这里,但现在我想将它们拉出来并为它们分配数字值。谢谢!
更新:我正在尝试比较卡的排名。
答案 0 :(得分:0)
您可以使用enum
来存储卡片'等级(DUECE到ACE)和套装(CLUBS,DIAMONDS,HEARTS,SPADES)
这样的事情:
enum Suit{
CLUBS, DIAMONDS, HEARTS, SPADES;
}
enum Rank {
DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE;
}
Card
可以是具有Rank和Suit的每个类:
public class Card{
Rank rank;
Suit suit;
Card(Rank rank, Suit suit) {
...
}
}
如果您需要每个排名的值,请向enum Rank
添加一个方法,以便它返回值。像这样:
enum Rank {
DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE;
public int value() {
return this.ordinal() + 2; // This will return 2 for DEUCE, 3 for THREE and so on..
}
}
-
希望这有帮助!