public ServerCatanGame(Player playerArray[])
	{
		myBoard = new Board();
			
		numUsers = 4;
		diceRoll = 0;
		turn = 0;
		turnNumber = 0; // zero indexed
		winner = null;
		victory = false; // nobody has declared victory yet 
		                 // - it's the start of the game
		//set up user array - using objects John gives us
		//userArray = new Player[numUsers];
		
		//this isn't C++, so we need to initialize the array with new objects
		//for(int i = 0; i < numUsers; ++i)
		//{
		//	String playerString = "Player " + i;// for debugging
		//	userArray[i] = new Player(playerString);
		//}
		//generate the trade array
		offerArray = new int[5];
		for(int i = 0; i<5; ++i)
		{
			offerArray[i] = 0;
		}
		
		acceptArray = new int[5];
		for(int i = 0; i<5; ++i)
		{
			acceptArray[i] = 0;
		}
		
		this.userArray = playerArray;
		
		// we also need a to generate dice rolls
		rollGenerator = new Random();
		
		
		// Generate the development card deck

        // KNIGHT, VICTORY_POINTS, YEAR_OF_PLENTY, MONOPOLY, ROAD_BUILDING

        for (int i = 0; i < 15; i++) {
            cardDeck.add(new DevelopmentCard(DevelopmentCard.DevCardType.KNIGHT));
        }

        for (int i = 0; i < 4; i++) {
            cardDeck.add(new DevelopmentCard(DevelopmentCard
                                             .DevCardType.VICTORY_POINTS));
        }

        for (int i = 0; i < 2; i++) {
            cardDeck.add(new DevelopmentCard(DevelopmentCard
                                             .DevCardType.YEAR_OF_PLENTY));
        }

        for (int i = 0; i < 2; i++) {
            cardDeck.add(new DevelopmentCard(DevelopmentCard
                                             .DevCardType.MONOPOLY));
        }

        for (int i = 0; i < 2; i++) {
            cardDeck.add(new DevelopmentCard(DevelopmentCard
                                             .DevCardType.ROAD_BUILDING));
        }
		
	}