public void summarizeAchievement(int gameID, int achievementID) {
   Game g = games.get(gameID);
   Achievement a = achievements.get(achievementID);
   System.out.println("Achievement: " + a);
   System.out.println(
       "--------------------------------------------------------------------------------");
   int nAchieved = a.players.size();
   int nTotal = g.players.size();
   double percent = (double) nAchieved / nTotal * 100;
   System.out.printf(
       "%.2f%% (%d of %d) players have gotten this achievement \n", percent, nAchieved, nTotal);
   printPlayers(a.players);
 }
 public void friendsWhoPlay(int playerID, int gameID) {
   Player p = players.get(playerID);
   Game g = games.get(gameID);
   ArrayList<Integer> friends = new ArrayList<Integer>();
   if (players.containsKey(playerID) && games.containsKey(gameID)) {
     for (int friend : players.get(playerID).friends) {
       if (games.get(gameID).players.contains(friend)) friends.add(friend);
     }
   }
   System.out.printf("Friends of %s playing %s \n", p, g);
   System.out.println(
       "--------------------------------------------------------------------------------");
   printPlayers(friends);
 }
 public void summarizeGame(int gameID) {
   Game g = games.get(gameID);
   System.out.println("Game: " + g);
   System.out.println(
       "--------------------------------------------------------------------------------");
   System.out.println("Players: ");
   printPlayers(g.players);
   System.out.println("Achievements: ");
   for (int a : g.achievements) {
     Achievement achievement = achievements.get(a);
     System.out.printf(
         "%4s %s has been achieved %d times\n", "-", achievement, achievement.players.size());
   }
   System.out.println();
 }