Java-shuffle Kartenspiel

Ich habe ein problem damit, meinen code zu mischen das deck. Ich glaube, ich habe die syntax für die Sammlungen.shuffle falsch. Der code, den ich derzeit habe, ist nicht das mischen das deck. Nachfolgend finden Sie die deck-Klasse und die Karte Klasse. Der deck-Klasse enthält die Sammlungen.shuffle-Methode.

Deck Klasse

public class Deck {

    private Card[] deck = new Card[52];
    private int topCard;

    Deck() {

        topCard = 0;

        for (int i = 0; i < deck.length; i++)
            deck[i] = new Card(i);

    }

    public void shuffle() {

        topCard = 0;

        Collections.shuffle(Arrays.asList(deck));
    }

    public Card dealCard() {
        Card theCard;
        if (topCard < deck.length) {
            theCard = deck[topCard];
            topCard++;
        }
        else
            theCard = null;

        return theCard;
    }
}

Karte Der Klasse

public class Card {

    private int cardNum;
    final static String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
    final static String[] ranks = {"Ace", "2", "3","4","5","6","7","8", "9","10", "Jack", "Queen", "King"};

    Card (int theCard) {
        setCardNum (theCard);
    }

    public void setCardNum (int theCard) {
        cardNum = (theCard >= 0 && theCard <= 52)? theCard: 0;
    }

    public int getCardNum() {
        return cardNum;
    }

    public String toString() {
        return ranks[cardNum%13] + " of " + suits[cardNum/13];
    }

    public String getSuit() {
        return suits[cardNum/13];
    }

    public String getRank() {
        return ranks[cardNum%13];
    }

    public int getValue() {
        return cardNum%13;
    } 
}
  • by doing Collections.shuffle(Arrays.asList(deck)); Sie bei der Erstellung einer neuen variable, mische es und Shop... nirgends, also schlurfte Daten verloren gehen
  • Was passierte mit all den Kommentaren? Wie kann ich Kennzeichnen Jeffrey ' s Antwort als die, die mir geholfen, richtig?
  • MadProgrammer gelöscht Ihre Antwort. Ich glaube nicht, dass ich tatsächlich Ihre Frage beantwortet; ich habe nur darauf hingewiesen, dass MadProgrammer die Antwort war falsch. Und durch die Art und Weise, die Sie nicht akzeptieren kann, dass Kommentare, nur Antworten.
  • Ich sehe. Auch Sie half mir klar, dass ich das mischen das deck richtig so meiner Meinung nach, dass meine Frage beantwortet 🙂 vielen Dank!
InformationsquelleAutor kingofkenya | 2014-07-01
Schreibe einen Kommentar