diff options
| author | Tyler Ferrari <69283684+Sowgro@users.noreply.github.com> | 2025-10-09 08:33:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-09 08:33:53 -0400 |
| commit | 1eca2f8681752ad359e8372780cdf719e2b1747d (patch) | |
| tree | ac1ece075909102027be22a5ae2472f286f09b10 /src/main/java/design/model/statistics/HoleStats.java | |
| parent | f115308210fd98e6b6f83f8c091ca72dbfb666fb (diff) | |
| parent | 7bbb3d8d7842c5e212124631c302b63bdc370f20 (diff) | |
| download | designproject-design-6-1eca2f8681752ad359e8372780cdf719e2b1747d.tar.gz designproject-design-6-1eca2f8681752ad359e8372780cdf719e2b1747d.tar.bz2 designproject-design-6-1eca2f8681752ad359e8372780cdf719e2b1747d.zip | |
Merge pull request #11 from RIT-SWEN-262/statistic-dev
Statistic dev - Menu implementation
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; + } } |
