Advertisement
cgorrillaha

Untitled

Dec 18th, 2020
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. import java.util.ArrayList;
  2.  
  3. public class Deck {
  4.  
  5.     String[]ranks={"two", "three", "four", "five", "six", "seven",
  6.             "eight", "nine", "ten", "jack", "queen", "king", "ace"};
  7.     String[]suits={"Hearts","Diamonds","Clubs","Spades"};
  8.  
  9.     ArrayList<Card>deck=new ArrayList<>();
  10.  
  11.     public Deck(){
  12.         loadDeck();
  13.         shuffleDeck();
  14.         shuffleDeck();
  15.         shuffleDeck();
  16.         printDeck();
  17.     }
  18.  
  19.     public Card dealCard(){
  20.         return deck.remove(0);
  21.     }
  22.  
  23.     public void loadDeck(){
  24.         for(String s:suits){
  25.             for(String r: ranks){
  26.                 deck.add(new Card(s,r));
  27.             }
  28.         }
  29.     }
  30.  
  31.     public void shuffleDeck(){
  32.         for(int i=0; i<deck.size()-1; i++){
  33.             int min=i+1;
  34.             int max=deck.size()-1;
  35.             int randIndex=(int)(Math.random()*(max-min+1))+min;
  36.             swapCards(i,randIndex);
  37.         }
  38.     }
  39.     public void swapCards(int lowIndex, int highIndex){
  40.         deck.set(highIndex,deck.set(lowIndex, deck.get(highIndex)));
  41.     }
  42.  
  43.     public void clearDeck(){
  44.         deck.clear();
  45.     }
  46.  
  47.     public void printDeck(){
  48.         for (Card c:deck) {
  49.             System.out.println(c);
  50.         }
  51.     }
  52.  
  53.     public String[] getRanks() {
  54.         return ranks;
  55.     }
  56.  
  57.     public void setRanks(String[] ranks) {
  58.         this.ranks = ranks;
  59.     }
  60.  
  61.     public String[] getSuits() {
  62.         return suits;
  63.     }
  64.  
  65.     public void setSuits(String[] suits) {
  66.         this.suits = suits;
  67.     }
  68.  
  69.     public ArrayList<Card> getDeck() {
  70.         return deck;
  71.     }
  72.  
  73.     public void setDeck(ArrayList<Card> deck) {
  74.         this.deck = deck;
  75.     }
  76. }
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement