]> wirehaze git hosting - solitaire.git/blobdiff - src/solitaire/Depot.java

wirehaze git hosting

cleanup
[solitaire.git] / src / solitaire / Depot.java
index ad99aff5c2a9d58d573f3c1e5d17c2b9cac47324..2e6e764d8a77b1a3be6b1dec1e3b1c974b9b911c 100644 (file)
@@ -6,6 +6,26 @@ import java.util.Optional;
 import java.util.stream.Collectors;
 
 final class Depot {
+    private static boolean isValidNextCard(Card lastCard, Card nextCard) {
+       if (nextCard.getSuit().isRed() == lastCard.getSuit().isRed())
+           return false;
+
+       return lastCard.getRank().isSuccessorOf(nextCard.getRank());
+    }
+
+    private static boolean isValidRun(List<Card> run) {
+       Card prev = null;
+
+       for (Card next : run) {
+           if (next.isHidden() || (prev != null && !isValidNextCard(prev, next)))
+               return false;
+
+           prev = next;
+       }
+
+       return true;
+    }
+
     private final List<Card> cards;
 
     Depot(List<Card> cards) {
@@ -16,11 +36,12 @@ final class Depot {
        this.cards.getLast().reveal();
     }
 
-    private static boolean isValidNextCard(Card lastCard, Card nextCard) {
-       if (nextCard.getSuit().isRed() == lastCard.getSuit().isRed())
-           return false;
+    @Override
+    public String toString() {
+       if (cards.isEmpty())
+           return "<   >";
 
-       return lastCard.getRank().isSuccessorOf(nextCard.getRank());
+       return cards.stream().map(String::valueOf).collect(Collectors.joining("\n"));
     }
 
     private boolean isValidPlacement(Card card) {
@@ -30,17 +51,8 @@ final class Depot {
        return isValidNextCard(cards.getLast(), card);
     }
 
-    private static boolean isValidRun(List<Card> run) {
-       Card prev = null;
-
-       for (Card next : run) {
-           if (next.isHidden() || (prev != null && !isValidNextCard(prev, next)))
-               return false;
-
-           prev = next;
-       }
-
-       return true;
+    boolean add(Card card) {
+       return add(List.of(card));
     }
 
     boolean add(List<Card> run) {
@@ -55,10 +67,6 @@ final class Depot {
        return true;
     }
 
-    boolean add(Card card) {
-       return add(List.of(card));
-    }
-
     Optional<List<Card>> remove(int size) {
        if (size < 1)
            throw new IllegalArgumentException("Size must be a positive integer");
@@ -79,12 +87,4 @@ final class Depot {
 
        return Optional.of(run);
     }
-
-    @Override
-    public String toString() {
-       if (cards.isEmpty())
-           return "<   >";
-
-       return cards.stream().map(String::valueOf).collect(Collectors.joining("\n"));
-    }
 }