]>
wirehaze git hosting - solitaire.git/blob - src/solitaire/Foundation.java
af9751084cae537a917447687f7799c87417d6ac
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 nextCard
) {
24 if (nextCard
.getSuit() != this.suit
)
28 return nextCard
.getRank() == Rank
.ACE
;
30 Card lastCard
= cards
.getLast();
32 return nextCard
.getRank().isSuccessorOf(lastCard
.getRank());
35 boolean add(Card card
) {
36 if (!isValidNextCard(card
))
44 public String
toString() {
46 return String
.format("( %s )", suit
);
48 return String
.format("(%s)", cards
.getLast());