public static void playGame(int playerCount, int rows, int cols) {
    	//create a new game board. this initalizes our 2d array and lets the complexity of handling that
    	// array be deligated to the board object.
    	

        Board board = new Board(playerCount, rows, cols);

        //we are going to generate a random list of moves. Heres where we are goign to store it
        List<Move> moves = new ArrayList<Move>();

        //we are creating moves for each space on the board.
        for (int row = 0; row < rows; row++) {
            for (int col = 0; col < cols; col++) {
                moves.add(new Move(row, col));
            }
        }

        //randomize the move list
        Collections.shuffle(moves);

        //do each move
        for (Move move : moves) {
            board.play(move.getRow(), move.getColumn());
            
            if(gameOver(board)){
            	break;
            }
        }
    }