簡體   English   中英

用二維數組在Java中創建一副紙牌

[英]Creating a deck of cards in java with a two dimensional array

我正在嘗試創建一個套牌並將套子應用於每個套牌,例如:

cardValue[0][1]並將其轉換為cardValue[Spade][1]

但我不知道如何轉換。 我目前所擁有的:

        int cardValues[][];
        for(int a = 0; a <= 3; a++)
        {
            for(int b = 0; b <= 12; b++)
            {
                cardValues[][] += cardValues[a][b];
                if(cardValues[a][b] == cardValues[a][0])
                {
                    cardValues[a][b] = 5;
                }
                else if(cardValues[a][b] > cardValues[a][0] || cardValues[a][b] < cardValues[a][10])
                {   
                    cardValues[a][b] = 1;
                }
                else if(cardValues[a][b] == cardValues[a][10])
                {
                    cardValues[a][b] = 2;
                }
                else if(cardValues[a][b] == cardValues[a][11])
                {
                    cardValues[a][b] = 3;
                }
                else if(cardValues[a][b] == cardValues[a][12])
                {
                    cardValues[a][b] = 4;
                }
            }
        }

我不知道如何將0、1、2和3轉換為黑桃,菱形,球桿,心形。

我會做這樣的事情:

Suit.java

public enum Suit {
    SPADES, DIAMONDS, CLUBS, HEARTS
}

Card.java

public class Card {

    private Suit suit;
    private String value;

    public Card(Suit suit, String value) {
        this.suit = suit;
        this.value = value;
    }

    public Suit getSuit() {
        return suit;
    }
    public void setSuit(Suit suit) {
        this.suit = suit;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }

}

Main.java

public class Main {

    public static void main(String[] args) {

        String[] values = new String[]{"K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3", "2", "A"};

        Card[] deck = new Card[52];

        int i = 0;
        for (Suit suit : Suit.values()) {
            for (String value : values) {
                deck[i++] = new Card(suit, value);
            }
        }

        for (Card card : deck) {
            System.out.println(card.getValue() + " of " + card.getSuit());
        }

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM