编码卡排名Java

时间:2015-11-30 15:08:52

标签: java

我必须编写一个名为handScore的方法,该方法将一组牌作为参数,并将总分加起来(并返回)。卡片的等级应该按照我写的编码,但我不确定如何对它们进行合法编码。

public class Cards {
int suit, rank;

public Cards () {
    this.suit = 0; this.rank = 0; }

public Cards (int suit, int rank) {
    this.suit = suit; this.rank = rank;
}

public static void main(String[] args) {

}

public static void printCard (Cards c) {
    String[] suits = { "Clubs", "Diamonds", "Hearts", "Spades" };
    String[] ranks = { "narf", "Ace", "2", "3", "4", "5", "6",
    "7", "8", "9", "10", "Jack", "Queen", "King" };
    System.out.println (ranks[c.rank] + " of " + suits[c.suit]); }

public static void printDeck (Cards[] deck) { for (int i=0; i<deck.length; i++) {
    printCard (deck[i]);
}
}

/**
 *
 * @param c
 */

public static void buildDeck(Cards c) {
    int index = 0;
    for (int suit = 0; suit <= 3; suit++) {
        for (int rank = 1; rank <= 13; rank++) {
            Cards[] deck = null;
            deck[index] = new Cards (suit, rank); index++; } }
}

public static void handScore(Cards[] hand) {
    spades = 3;
    hearts = 2;
    diamonds = 1;
    clubs = 0;
    ace = 1;
    jack = 11;
    queen = 12;
    king = 13;
}

1 个答案:

答案 0 :(得分:0)

当你说“卡片的行列应该像我写的那样编码,但我不确定如何合法编码它们”时,你有点不清楚。另外,不同的纸牌游戏可以对同一张卡具有不同的值。但我会根据我的想法提出一两个建议。

一种选择是使用getScore()方法创建Card类。如果这不是一个选项,您可能需要考虑一个类中的方法,该方法根据等级返回每张卡的分数(如果相关,则为套装返回)。所以

public void getScore("Queen") {
    ...

}

将返回12或任何女王的等级。您可能希望使用数组来存储每张卡的分数。如果这是家庭作业,我不会发布更多代码,但我希望这有帮助。