diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main/java/design/model/ScrambleLeague.java | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/main/java/design/model/ScrambleLeague.java b/src/main/java/design/model/ScrambleLeague.java index 1fb8f1d..adf2105 100644 --- a/src/main/java/design/model/ScrambleLeague.java +++ b/src/main/java/design/model/ScrambleLeague.java @@ -58,14 +58,16 @@ public class ScrambleLeague extends League { public String getType() { return "scramble"; } + @Override public void recordPlay(Golfer player, Match match, Round round){ if(!isPlayable()) return; Team team = player.getTeam(); if (team == null) return; - int strokes = round.getTotalSwings(); - team.addMemberRound(player, strokes); + int index = participants.indexOf(team); + team.addMemberRound(player, round.getTotalSwings()); match.addRound(round); + match.addRoundFor(index, round); } @Override @@ -81,4 +83,23 @@ public class ScrambleLeague extends League { public Map<Team, Integer> getTotalTeamScores(){ return Collections.unmodifiableMap(totalTeamScores); } + + @Override + public Map<Team, Integer> getResults() { + return getTotalTeamScores(); + } + + @Override + public void finalizeMatch(Match match) { + getCompletedMatches().add(match); + for(int i = 0; i < participants.size(); i++){ + Team team = participants.get(i); + Round round = match.getRoundFor(i); + if(round != null){ + for(Golfer member : team.getMembers()){ + member.addRound(round); + } + } + } + } } |
