Java empile solitaire simple


Donc, pour ma mission, je dois créer un solitaire simple (pas d'interface graphique) en utilisant des piles. Nous sommes autorisés à implémenter l'API Stack à partir de Java. Nous sommes également censés avoir 3 classes. Carte, CardStack, Stackitaire

Ma classe de cartes est donc assez simple. Il crée un objet Carte avec les paramètres suit, value et isFaceUp. Tout est bon ici.

Ensuite, je crée la classe CardStack qui représente une pile de classe.Il existe 4 types: 's' - stock, 'w' déchets 'f' - fondations, et ' t ' - tableau. Il est censé avoir ce qui suit. J'ai aussi inclus un champ privé "type" dans l'objet et un getter et setter pour elle.

public class CardStack extends Stack {
private char type;

public char getType() {
    return type;
}

public void setType(char type) {
    this.type = type;
}

public CardStack(char type) {
    this.setType(type);
    Stack<Card> Stack = new Stack<Card> ();
}

public void pushes(Card newCard) {
    this.push(newCard);
}

public Card pops() {
    this.pop();
    return null;
}

public boolean isEmpty() {
    return this.empty();
}

public int size() {
    return capacityIncrement;
}

Cependant j'ai l'impression que c'est trop facile et le mal. Cela fait-il sens?

Maintenant, voici ce que nous sommes censés faire pour la viande du gibier.

1."vous devriez avoir un tableau de piles qui représentent les piles de tableau, un tableau de piles qui constituent le fondement des piles, et 2 piles individuelles que représentent respectivement les piles de stock et de déchets "

Pourquoi avons-nous besoin d'un tableau de piles? Pourquoi une pile ne suffit-elle pas? Est-ce que mon professeur veut?

static CardStack[] tableau;
static CardStack[] foundation;
static CardStack waste = new CardStack('w');
static CardStack stock = new CardStack('s');

Ensuite, nous créons une pile principale des 52 cartes que j'ai fait comme ça

static Card[] mainStack = new Card[53];

for (int i = 1; i < 13; i++) {
        for (int j = 1; j < 4; j++) {
            mainStack[i * j] = new Card(i, j, true);
        }
    }

Je pense que cette partie est juste.

Ok alors " déplacez les 52 cartes des piles de jeu dans la pile de deck. Ensuite, mélangez le deck en utilisant la méthode statique shuffle () dans la classe Collections "

C'est là que je me fais prendre. Le mainstack est un tableau de cartes contenant 52 cartes. Le pont de la pile est une pile qui n'est pas un tableau. Comment puis-je mettre le tableau dans la pile, puis comment utiliser la méthode shuffle sur une pile. La méthode shuffle n'est-elle pas uniquement pour les tableaux?

Il y en a beaucoup plus mais je suppose que c'est suffisant pour l'instant

Author: Natan Azizov, 2015-03-13

1 answers

Pourquoi avons-nous besoin d'un tableau de piles? Pourquoi une pile ne suffit-elle pas?

Pensez à la façon dont le jeu est joué. Vous avez une fondation qui est 7, IIRC, piles de cartes de fondation. Vous avez également 4 piles pour la table sur laquelle vous travaillez vos cartes. Ensuite, bien sûr, vous avez piles simples de cartes pour la défausse et le stock.

Est-ce ce que mon professeur veut?

Ils peuvent être les seuls à vraiment répondre à cela question, mais il me semble bon.

Comment puis-je mettre le tableau dans la pile, puis comment utiliser la méthode shuffle sur une pile. La méthode shuffle n'est-elle pas uniquement pour les tableaux?

Vous pouvez push éléments sur la pile, mais je ne mélangez la pile. Ce n'est pas dans la timonerie de la fonctionnalité pour une pile. Si vous les mettez puis les mélangez, votre commande attendue n'existe plus. Mélangez le tableau, puis distribuez les cartes dans les piles appropriées dans le de la même manière dans laquelle on aurait affaire le jeu.

 2
Author: ChiefTwoPencils, 2015-03-13 04:18:09