public static boolean bingo(int[][] board, int[] drawn) {
        // the size of the board.
        int size = board.length;

        // This array keeps track of filled array.
        boolean filled[][] = new boolean[size][size];

        // Mark the center of the board as filled.
        if (size % 2 != 0) {
            // note that only boards of odd size have center cells.
            // so we have to check the size of the board first.
            filled[size / 2][size / 2] = true;
        }

        // For each number, find the position of that number on the board.
        // If the number is found on the board, mark the cell containing the
        // number
        // as filled.
        for (int i = 0; i < drawn.length; i++) {
            // Find the number on the board.
            // mark its position on the array 'filled'
            for (int row = 0; row < size; row++) {
                for (int col = 0; col < size; col++) {
                    if (drawn[i] == board[row][col]) {
                        // Hooray! The number is on our board.
                        // mark this new cell as filled.
                        filled[row][col] = true;
                    }
                }
            }
        }

        //+2 credits
        // Check for completed row/ column/diagonal: 
        if (checkRow(filled) || checkCol(filled) || checkDiagonal1(filled)
                || checkDiagonal2(filled)) {
            return true;
        } else {
            return false;
        }

    }