private void broadcastFinalScores(){
    	String stringScores;
    	int finalScore[];
    	
    	System.out.println();
    	printStatus("[ GAME OVER ] " + GameInfo.indexToPlayerName(turn) + " wins");
    	
		stringScores = "";
		finalScore = new int[hands.length];	// all elements are set to 0 by default in Java
		
		// Calculate the scores of each player 
    	for(int i=0; i<finalScore.length; i++){
    		outbox[i].println(game.toString());
    		
    		if(i != turn){
    			try {
					finalScore[i] = finalScore[i] + Integer.parseInt(inbox[i].readLine()) * -1;
				} catch (Exception e) {
					printStatus(GameInfo.indexToPlayerName(i) + " has already terminated their connection.");
				}
    			
    			finalScore[turn] = finalScore[turn] + finalScore[i] * -1;
    		}
    	}
    	
    	// Create a string that contains all scores
    	stringScores = "";
    	for(int i=0; i<finalScore.length; i++)
    		stringScores = stringScores + finalScore[i] + ",";
    	stringScores = stringScores.substring(0,stringScores.lastIndexOf(","));
    	
    	// Broadcast the scores to all players and display the final results in the server
    	for(int i=0; i<finalScore.length; i++){
    		if(i == turn)
    			printStatus("[ " + GameInfo.indexToPlayerName(i) + " ] : " + finalScore[i]);
    		else
    			printStatus("  " + GameInfo.indexToPlayerName(i) + "   : " + finalScore[i]);
    		
    		
    		outbox[i].println(stringScores);
    	}
    }