From 26a7076e93c4cd49fd6c9da7a2c9b217771012e8 Mon Sep 17 00:00:00 2001 From: Jacob Shimp Date: Thu, 2 Oct 2025 11:48:18 -0400 Subject: implemented lifetime statistics --- .../design/model/statistics/LifetimeStats.java | 22 +++++++++++++++++++--- .../model/statistics/StatisticsDecorator.java | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/design/model/statistics/LifetimeStats.java b/src/main/java/design/model/statistics/LifetimeStats.java index 9c1236c..9cefd7a 100644 --- a/src/main/java/design/model/statistics/LifetimeStats.java +++ b/src/main/java/design/model/statistics/LifetimeStats.java @@ -1,16 +1,32 @@ package design.model.statistics; +import design.model.Golfer; +import design.model.Play; +import design.model.Round; + public class LifetimeStats extends StatisticsDecorator{ - public LifetimeStats(Statistics wrapped_statistics){ + Golfer golfer; + public LifetimeStats(Statistics wrapped_statistics, Golfer golfer){ super(wrapped_statistics); + this.golfer = golfer; } @Override public int get_score(){ - return super.get_score(); + int baseStats = super.get_score(); + for(Round round : golfer.getRounds()){ + baseStats += round.getTotalSwings(); + } + return baseStats; } @Override public double get_distance(){ - return super.get_distance(); + double baseStats = super.get_distance(); + for(Round round : golfer.getRounds()){ + for(Play play : round.getPlays()){ + baseStats += play.getDistance(); + } + } + return baseStats; } } diff --git a/src/main/java/design/model/statistics/StatisticsDecorator.java b/src/main/java/design/model/statistics/StatisticsDecorator.java index b0ba323..96a2aaf 100644 --- a/src/main/java/design/model/statistics/StatisticsDecorator.java +++ b/src/main/java/design/model/statistics/StatisticsDecorator.java @@ -1,6 +1,6 @@ package design.model.statistics; -public class StatisticsDecorator implements Statistics{ +public abstract class StatisticsDecorator implements Statistics{ protected Statistics wrapped_statistics; public StatisticsDecorator(Statistics wrapped_statistics){ this.wrapped_statistics = wrapped_statistics; -- cgit v1.2.3