diff --git a/App.java b/App.java new file mode 100644 index 0000000000000000000000000000000000000000..7923b88e9e7cf46e07b14b4484925d04deac2430 --- /dev/null +++ b/App.java @@ -0,0 +1,7 @@ +public class App { + public static void main (String [] args) { + Deck deck = new Deck(); + deck.Shuffle(); + deck.Show(); + } +} diff --git a/Card.java b/Card.java new file mode 100644 index 0000000000000000000000000000000000000000..28d64fe0162950854cd93e2774d9885cd24bc971 --- /dev/null +++ b/Card.java @@ -0,0 +1,15 @@ +public class Card { + private Suit suit; + private Rank rank; + Card (Suit suit, Rank rank) { + this.suit = suit; + this.rank = rank; + } + public Suit getSuit() {return this.suit;} + public Rank getRank() {return this.rank;} + public String getShortName () { return this.rank.getShortName() + this.suit.getShortName(); } + @Override public String toString() { + return this.rank.toString() + " of " + this.suit.toString(); + } +} + diff --git a/Deck.java b/Deck.java new file mode 100644 index 0000000000000000000000000000000000000000..2b9db10a7f0ec7591abe54df2573f5779e0d8c86 --- /dev/null +++ b/Deck.java @@ -0,0 +1,36 @@ +import java.util.Random; +import java.util.Collections; +import java.util.List; +import java.util.Arrays; + +class Deck { + private Card[] deck = new Card[52]; + static Random random = new Random(Double.doubleToLongBits(Math.random())); + + Deck() { + int ctr = 0; + + for(Suit suit : Suit.values()) { + for(Rank rank : Rank.values()) { + Card card = new Card(suit, rank); + deck[ctr] = card; + + ctr++; + } + } + } + void Shuffle() { + + List<Card> cardList = Arrays.asList(deck); + Collections.shuffle(cardList, random); + } + + public void Show() { + for(Card card : this.deck) { + + System.out.print(card.getShortName()+"-"); + System.out.println(card.toString()); + } + + } +} diff --git a/Rank.java b/Rank.java new file mode 100644 index 0000000000000000000000000000000000000000..d7b33332016636060b001ec8449d7fb21d36d200 --- /dev/null +++ b/Rank.java @@ -0,0 +1,26 @@ +public enum Rank { + ACE ("A") + , DEUCE ("2") + , THREE ("3") + , FOUR ("4") + , FIVE ("5") + , SIX ("6") + , SEVEN ("7") + , EIGHT ("8") + , NINE ("9") + , TEN ("10") + , JACK ("J") + , QUEEN ("Q") + , KING ("K") + ; + private final String shortName; + + Rank(String shortName){this.shortName = shortName;}; + + public String getShortName() {return shortName;} + + @Override public String toString() { + String s = super.toString(); + return s.substring(0,1) + s.substring(1).toLowerCase(); + } +} diff --git a/Suit.java b/Suit.java new file mode 100644 index 0000000000000000000000000000000000000000..d5bebdf8f32d91e8b6ad25f2d218608b99afa41a --- /dev/null +++ b/Suit.java @@ -0,0 +1,9 @@ +public enum Suit { CLUBS, HEARTS, SPADES, DIAMONDS; + + public String getShortName() {return this.toString().substring(0,1); } + @Override public String toString() { + String s = super.toString(); + return s.substring(0,1) + s.substring(1).toLowerCase(); + } +} +