]>
wirehaze git hosting - solitaire.git/blob - src/solitaire/Foundation.java
3 import java
.util
.LinkedList
;
6 final class Foundation
{
7 private final List
<Card
> cards
;
8 private final Suit suit
;
10 Foundation(Suit suit
) {
11 this.cards
= new LinkedList
<>();
20 return cards
.size() == Rank
.RANKS
.size();
23 private boolean isValidNextCard(Card card
) {
24 Rank cardRank
, lastRank
;
26 if (card
.getSuit() != this.suit
)
29 cardRank
= card
.getRank();
32 return cardRank
== Rank
.ACE
;
34 lastRank
= cards
.getLast().getRank();
36 return cardRank
.isSuccessorOf(lastRank
);
39 boolean add(Card card
) {
40 if (!isValidNextCard(card
))
48 public String
toString() {
50 return String
.format("( %s )", suit
);
52 return String
.format("(%s)", cards
.getLast());