在扑克游戏中为Rank分配值

时间:2017-11-24 05:30:57

标签: java poker

如何在扑克游戏中为Rank分配值。我有名称的等级,它们存储在Collection方法中,但我无法弄清楚如何提取值并为它们分配一个数字值。

私人收集卡; //所以这是我的手,我把卡存放在这里,但现在我想将它们拉出来并为它们分配数字值。

谢谢!

更新:我正在尝试比较卡的排名。

1 个答案:

答案 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..
    }
}

-

希望这有帮助!