diff options
| author | Jacob Shimp <jrs9538@g.rit.edu> | 2025-10-08 21:48:53 -0400 |
|---|---|---|
| committer | Jacob Shimp <jrs9538@g.rit.edu> | 2025-10-08 21:48:53 -0400 |
| commit | 871f353b9d8765594983b8b85d541f0c27447f68 (patch) | |
| tree | 82c3d06fb8e21fe1bb6a29ac3ba51106c1d900c3 /src/main/java/design/model/statistics/HoleStats.java | |
| parent | 4a720e851d188688571e2f5c7f46b6389e9a429f (diff) | |
| download | designproject-design-6-871f353b9d8765594983b8b85d541f0c27447f68.tar.gz designproject-design-6-871f353b9d8765594983b8b85d541f0c27447f68.tar.bz2 designproject-design-6-871f353b9d8765594983b8b85d541f0c27447f68.zip | |
implemented all other menu options
Diffstat (limited to 'src/main/java/design/model/statistics/HoleStats.java')
| -rw-r--r-- | src/main/java/design/model/statistics/HoleStats.java | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/main/java/design/model/statistics/HoleStats.java b/src/main/java/design/model/statistics/HoleStats.java index 2c023b4..6f6104a 100644 --- a/src/main/java/design/model/statistics/HoleStats.java +++ b/src/main/java/design/model/statistics/HoleStats.java @@ -3,6 +3,7 @@ package design.model.statistics; import java.util.Arrays; import design.model.Hole; +import design.model.Play; import design.model.Round; public class HoleStats extends StatisticsDecorator{ @@ -16,7 +17,35 @@ public class HoleStats extends StatisticsDecorator{ @Override public Round[] getRounds(){ return Arrays.stream(super.getRounds()) - .filter(round -> round.getCourse().getHoles().stream().anyMatch(hole -> hole.equals(target_hole))) + .filter(round -> round.getCourse().getHoles().contains(target_hole)) .toArray(Round[]::new); } + + @Override + public int get_score() { + // Sum swings only on the target hole + int totalSwings = 0; + for (Round round : super.getRounds()) { + for (Play play : round.getPlays()) { + if (play.getHoleNumber() == target_hole.getNumber()) { + totalSwings += play.getSwingCount(); + } + } + } + return totalSwings; + } + + @Override + public double get_distance() { + // Sum distances only on the target hole + double totalDistance = 0; + for (Round round : super.getRounds()) { + for (Play play : round.getPlays()) { + if (play.getHoleNumber() == target_hole.getNumber()) { + totalDistance += play.getDistance(); + } + } + } + return totalDistance; + } } |
