public boolean hasWon() {
        if(score<MINIMUM_WIN_SCORE) { //speed optimization
            return false;
        }
        for(int i=0;i<BOARD_SIZE;++i) {
            for(int j=0;j<BOARD_SIZE;++j) {
                if(boardArray[i][j]>=TARGET_POINTS) {
                    return true;
                }
            }
        }
        
        return false;
    }