]> wirehaze git hosting - solitaire.git/commitdiff

wirehaze git hosting

cleanup main
authorphfr24 <phfr24@inf.ufpr.br>
Mon, 10 Aug 2026 01:47:17 +0000 (22:47 -0300)
committerphfr24 <phfr24@inf.ufpr.br>
Mon, 10 Aug 2026 01:47:17 +0000 (22:47 -0300)
src/solitaire/Card.java
src/solitaire/Depot.java
src/solitaire/Foundation.java
src/solitaire/Main.java
src/solitaire/Rank.java
src/solitaire/Stock.java
src/solitaire/Suit.java
src/solitaire/Waste.java

index bace9aeaa2636f0c91301ad82762302eaa011200..1f75859b46cfa4c41502a2c43d9fcc310090e7f8 100644 (file)
@@ -5,24 +5,32 @@ final class Card {
     private final Rank rank;
     private boolean hidden;
 
+    Card(Suit suit, Rank rank) {
+       this(suit, rank, true);
+    }
+
     Card(Suit suit, Rank rank, boolean hidden) {
        this.suit = suit;
        this.rank = rank;
        this.hidden = hidden;
     }
 
-    Card(Suit suit, Rank rank) {
-       this(suit, rank, true);
-    }
+    @Override
+    public String toString() {
+       if (isHidden())
+           return " * ";
 
-    Suit getSuit() {
-       return suit;
+       return String.format("%s%2s", suit, rank);
     }
 
     Rank getRank() {
        return rank;
     }
 
+    Suit getSuit() {
+       return suit;
+    }
+
     boolean isHidden() {
        return hidden;
     }
@@ -30,12 +38,4 @@ final class Card {
     void reveal() {
        hidden = false;
     }
-
-    @Override
-    public String toString() {
-       if (isHidden())
-           return " * ";
-
-       return String.format("%s%2s", suit, rank);
-    }
 }
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"));
-    }
 }
index af9751084cae537a917447687f7799c87417d6ac..48995c0e8562b6ba40bb843fcef5d592a53e987a 100644 (file)
@@ -8,20 +8,20 @@ final class Foundation {
     private final Suit suit;
 
     Foundation(Suit suit) {
-       this.cards = new LinkedList<>();
+       cards = new LinkedList<>();
        this.suit = suit;
     }
 
-    Suit getSuit() {
-       return suit;
-    }
+    @Override
+    public String toString() {
+       if (cards.isEmpty())
+           return String.format("( %s )", suit);
 
-    boolean isFull() {
-       return cards.size() == Rank.RANKS.size();
+       return String.format("(%s)", cards.getLast());
     }
 
     private boolean isValidNextCard(Card nextCard) {
-       if (nextCard.getSuit() != this.suit)
+       if (nextCard.getSuit() != suit)
            return false;
 
        if (cards.isEmpty())
@@ -40,11 +40,11 @@ final class Foundation {
        return true;
     }
 
-    @Override
-    public String toString() {
-       if (cards.isEmpty())
-           return String.format("( %s )", suit);
+    Suit getSuit() {
+       return suit;
+    }
 
-       return String.format("(%s)", cards.getLast());
+    boolean isFull() {
+       return cards.size() == Rank.RANKS.size();
     }
 }
index 18e5629ae26e12f83d83639463d8358877b42fd8..922d824063d57580e9d097395e52d4ed195c5341 100644 (file)
@@ -5,10 +5,6 @@ class Main {
     private static Waste waste = new Waste();
     private static Foundation foundation = new Foundation(Suit.CLUBS);
 
-    private static void printTable() {
-       System.out.printf("%s  %s\n\n%s\n\n", stock, waste, foundation);
-    }
-
     public static void main(String[] args) {
        Card c;
 
@@ -25,4 +21,8 @@ class Main {
        printTable();
     }
 
+    private static void printTable() {
+       System.out.printf("%s  %s\n\n%s\n\n", stock, waste, foundation);
+    }
+
 }
index f85d1d2713d2d6681901721482085d6484faa1c8..eda02f938c7c7ac217b36a023721b6352b491cc2 100644 (file)
@@ -14,12 +14,12 @@ enum Rank {
        this.symbol = symbol;
     }
 
-    boolean isSuccessorOf(Rank rank) {
-       return this.ordinal() == rank.ordinal() + 1;
-    }
-
     @Override
     public String toString() {
        return symbol;
     }
+
+    boolean isSuccessorOf(Rank rank) {
+       return ordinal() == rank.ordinal() + 1;
+    }
 }
index 91907fbee4c4a2fe4109de47c040e0271a9112da..704f0323ab550ad1a56c51895d4c9a9e27d57c7a 100644 (file)
@@ -8,7 +8,7 @@ final class Stock {
     private final List<Card> cards;
 
     Stock() {
-       this.cards = new LinkedList<>();
+       cards = new LinkedList<>();
 
        for (Suit s : Suit.SUITS)
            for (Rank r : Rank.RANKS)
@@ -17,14 +17,6 @@ final class Stock {
        Collections.shuffle(cards);
     }
 
-    Card draw() {
-       return cards.removeLast();
-    }
-
-    boolean isEmpty() {
-       return cards.isEmpty();
-    }
-
     @Override
     public String toString() {
        if (isEmpty())
@@ -32,4 +24,12 @@ final class Stock {
 
        return String.format("{%s}", cards.getLast());
     }
+
+    Card draw() {
+       return cards.removeLast();
+    }
+
+    boolean isEmpty() {
+       return cards.isEmpty();
+    }
 }
index 9f79b6890138624c45d31132b7cddbf7229fe5a5..af10ae9995faf2242634398c822249fcd10ef595 100644 (file)
@@ -15,16 +15,16 @@ enum Suit {
        this.red = red;
     }
 
-    boolean isRed() {
-       return red;
+    @Override
+    public String toString() {
+       return symbol;
     }
 
     boolean isBlack() {
        return !red;
     }
 
-    @Override
-    public String toString() {
-       return symbol;
+    boolean isRed() {
+       return red;
     }
 }
index 24ee6f5e7c61fbc34fb0077e77510c4c96617805..3a2acacb5f16da67b16b0733934952acf9810459 100644 (file)
@@ -8,7 +8,15 @@ final class Waste {
     private final List<Card> cards;
 
     Waste() {
-       this.cards = new LinkedList<>();
+       cards = new LinkedList<>();
+    }
+
+    @Override
+    public String toString() {
+       if (isEmpty())
+           return "{   }";
+
+       return cards.stream().map(String::valueOf).collect(Collectors.joining("|", "[", "]"));
     }
 
     void add(Card card) {
@@ -22,12 +30,4 @@ final class Waste {
     boolean isEmpty() {
        return cards.isEmpty();
     }
-
-    @Override
-    public String toString() {
-       if (isEmpty())
-           return "{   }";
-
-       return cards.stream().map(String::valueOf).collect(Collectors.joining("|", "[", "]"));
-    }
 }