package core;

import java.util.ArrayList;

public class Game {
    /** Let's call a Deck a deck manager to make it clear
     *  what we are using it for in a game and distinguish
     *  it from each of the player's decks.
     */
	public Deck deckManager = new Deck("Deck Manager Two");
	
    /** Each game is played by two players */
    private Player playerOne = new Player();
    private Player playerTwo = new Player();
    
    /** Each player has one deck in a game */
    private ArrayList<Card> deckOne = buildDeck(); 
    private ArrayList<Card> deckTwo = buildDeck();
    
    /** Shuffle each deck */
    public void shuffleDeck(ArrayList<Card> deck) {
    	deckManager.shuffleDeck(deck);
    }

    
    /** Each player has one hand */
    public ArrayList<Card> playerOneHand = new ArrayList<Card>();
    public ArrayList<Card> playerTwoHand = new ArrayList<Card>(); 
    
    
    /** Each player has an activatorResource pool */
    // Player one's resource pool
    
    
    // Player two's resource pool
    /** Constructors */
    public Game() {
        
    }
    
    public Game(Player p1, Player p2) {
        this.playerOne = p1;
        this.playerTwo = p2;
    }
    
    
    /** Setters */
    public void setPlayerOne(Player player) {
        this.playerOne = player;
    }
    
    public void setPlayerTwo(Player player) {
        this.playerTwo = player;
    }
    
    
    /** Getters */
    public Player getPlayerOne() {
        return playerOne;
    }
    
    public Player getPlayerTwo() {
        return playerTwo;
    }
    
    public ArrayList<Card> getDeckOne() {
        return deckOne;
    }
    
    public ArrayList<Card> getDeckTwo() {
        return deckTwo;
    }
    
    
    /** Announce the game! */
    public void announceGame() {
        System.out.println("** Welcome to The Dark Arts game **\n");   
    }
    
    /** Make the decks */
    // Create a deck object from Deck (half activator, half bear)
    public ArrayList<Card> buildDeck() {
       Deck deck = new Deck();
       ArrayList<Card> myDeck = deck.getDeckArrayList();
       deck.buildDeckOfHalfActivatorClubs(myDeck);
       deck.addToDeckTwentySixBears(myDeck);
       return myDeck;
    }
    
    
}
@@ -279,12 +279,8 @@
 ager
- Two
 %22);%0A
@@ -699,17 +699,16 @@
 ;%0A    %7D%0A
-%0A
     %0A   
@@ -741,29 +741,30 @@
 and */%0A    p
-ublic
+rivate
  ArrayList%3CC
@@ -808,29 +808,30 @@
 rd%3E();%0A    p
-ublic
+rivate
  ArrayList%3CC
@@ -873,17 +873,16 @@
 Card%3E();
- 
 %0A    %0A  
@@ -875,32 +875,34 @@
 rd%3E();%0A    %0A    
+  
 %0A    /** Each pl
@@ -1464,24 +1464,29 @@
      return 
+this.
 playerOne;%0A 
@@ -1545,16 +1545,21 @@
  return 
+this.
 playerTw
@@ -1625,24 +1625,29 @@
      return 
+this.
 deckOne;%0A   
@@ -1711,16 +1711,21 @@
  return 
+this.
 deckTwo;
@@ -1728,32 +1728,214 @@
 Two;%0A    %7D%0A    %0A
+    public ArrayList%3CCard%3E getPlayerOneHand() %7B%0A    %09return this.playerOneHand;%0A    %7D%0A    %0A    public ArrayList%3CCard%3E getPlayerTwoHand() %7B%0A    %09return this.playerTwoHand;%0A    %7D%0A    %0A
     %0A    /** Ann
@@ -2277,21 +2277,17 @@
 .get
-DeckArrayList
+BlankDeck
 ();%0A
@@ -2317,17 +2317,12 @@
 Half
-Activator
+Gold
 Club
@@ -2405,19 +2405,9 @@
 ;%0A    %7D%0A
-    %0A    %0A
 %7D

Refactor game