summaryrefslogtreecommitdiff
path: root/src/main/java/design/model/ScrambleLeague.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/model/ScrambleLeague.java')
-rw-r--r--src/main/java/design/model/ScrambleLeague.java25
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);
+ }
+ }
+ }
+ }
}