competitor report as brief specifies

This commit is contained in:
Joshua Perry 2023-01-31 16:19:33 +00:00
parent b437000778
commit 0ae6adc481
1 changed files with 19 additions and 11 deletions

View File

@ -7,6 +7,8 @@ import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner; import java.util.Scanner;
import org.r0r5chach.r6.R6Attacker; import org.r0r5chach.r6.R6Attacker;
@ -77,21 +79,27 @@ public class CompetitorList {
private String generateTable() { private String generateTable() {
StringBuilder table = new StringBuilder("Competitor Level Scores Overall Favorite Character(s)"); StringBuilder table = new StringBuilder("Competitor Level Scores Overall Favorite Character(s)");
Competitor best = null;
double bestScore = 0;
Rank bestRank = Rank.BRONZE;
List<Rank> ranks = Arrays.asList(Rank.values());
for (Competitor player: getCompetitors()) { for (Competitor player: getCompetitors()) {
table.append("\n"); if (player.getOverallScore() > bestScore) {
for (String detail: player.getFullDetails().split("\n")) { best = player;
String[] detailParts = detail.split(": "); bestScore = player.getOverallScore();
if (detailParts[0].equals("Player Number")) { bestRank = player.getPlayerLevel();
table.append(detailParts[1]).append(" "); }
} else if (player.getOverallScore() == bestScore) {
else if (detailParts[0].equals("Favorite Agent") || detailParts[0].equals("Favorite Attacker") || detailParts[0].equals("Favorite Defender")) { if (ranks.indexOf(player.getPlayerLevel()) > ranks.indexOf(bestRank)) {
table.append(detailParts[0] + ": " + detailParts[1]).append(" "); best = player;
} bestScore = player.getOverallScore();
else { bestRank = player.getPlayerLevel();
table.append(detailParts[1]).append(" ");
} }
} }
table.append("\n");
table.append(player.getShortDetails()).append(" ");
} }
table.append("\n\n").append(best.getFullDetails());
return table.toString(); return table.toString();
} }