summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/controller/userinput/menus/StatisticsMenu.java')
-rw-r--r--src/main/java/design/controller/userinput/menus/StatisticsMenu.java109
1 files changed, 57 insertions, 52 deletions
diff --git a/src/main/java/design/controller/userinput/menus/StatisticsMenu.java b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
index 8835ce1..9ce0bd0 100644
--- a/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
+++ b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java
@@ -19,8 +19,7 @@ import java.util.List;
import java.util.Scanner;
public class StatisticsMenu extends Menu {
-
- Golfer golfer = Session.getCurrentGolfer();
+ private final Golfer golfer = Session.getCurrentGolfer();
@Override
public String getTitle() {
@@ -29,54 +28,61 @@ public class StatisticsMenu extends Menu {
@Override
public List<MenuOption> getMenuOptions() {
- return List.of(
- new MenuOption("return to main menu", () -> new MainMenu().present()),
- new MenuOption("view lifetime statistics", () -> {
- Statistics stats = new LifetimeStats(golfer);
-
- System.out.printf("Total swings: %d\n", stats.get_score());
- System.out.printf("Total distance: %.1f\n", stats.get_distance());
- this.present();
- }),
- new MenuOption("view yearly statistics", () -> {
- Statistics baseStats = new LifetimeStats(golfer);
- Statistics yearStats = getUserYear(baseStats);
-
- System.out.printf("Total swings: %d\n", yearStats.get_score());
- System.out.printf("Total distance: %.1f\n", yearStats.get_distance());
- this.present();
- }),
- new MenuOption("view course statistics", () -> {
- Statistics baseStats = new LifetimeStats(golfer);
- Statistics yearStats = getUserYear(baseStats);
- Statistics courseStats = getUserCourse(yearStats);
-
- System.out.printf("Total swings: %d\n", courseStats.get_score());
- System.out.printf("Total distance: %.1f\n", courseStats.get_distance());
- this.present();
- }),
- new MenuOption("view round statistics", () -> {
- Statistics baseStats = new LifetimeStats(golfer);
- Statistics yearStats = getUserYear(baseStats);
- Statistics courseStats = getUserCourse(yearStats);
- Statistics roundStats = getUserRound(courseStats);
-
- System.out.printf("Total swings: %d\n", roundStats.get_score());
- System.out.printf("Total distance: %.1f\n", roundStats.get_distance());
- this.present();
- }),
- new MenuOption("view hole statistics", () -> {
- Statistics baseStats = new LifetimeStats(golfer);
- Statistics yearStats = getUserYear(baseStats);
- Statistics courseStats = getUserCourse(yearStats);
- Statistics roundStats = getUserRound(courseStats);
- Statistics holeStats = getUserHole(roundStats);
-
- System.out.printf("Total swings: %d\n", holeStats.get_score());
- System.out.printf("Total distance: %.1f\n", holeStats.get_distance());
- this.present();
- })
- );
+ List<MenuOption> opts = new java.util.ArrayList<>();
+
+ opts.add(new MenuOption("return to main menu", () -> new MainMenu().present()));
+
+ opts.add(new MenuOption("view lifetime statistics", () -> {
+ Statistics stats = new LifetimeStats(golfer);
+
+ System.out.printf("Total swings: %d\n", stats.get_score());
+ System.out.printf("Total distance: %.1f\n", stats.get_distance());
+ this.present();
+ }));
+
+ opts.add(new MenuOption("view yearly statistics", () -> {
+ Statistics baseStats = new LifetimeStats(golfer);
+ Statistics yearStats = getUserYear(baseStats);
+
+ System.out.printf("Total swings: %d\n", yearStats.get_score());
+ System.out.printf("Total distance: %.1f\n", yearStats.get_distance());
+ this.present();
+ }));
+
+ opts.add(new MenuOption("view course statistics", () -> {
+ Statistics baseStats = new LifetimeStats(golfer);
+ Statistics yearStats = getUserYear(baseStats);
+ Statistics courseStats = getUserCourse(yearStats);
+
+ System.out.printf("Total swings: %d\n", courseStats.get_score());
+ System.out.printf("Total distance: %.1f\n", courseStats.get_distance());
+ this.present();
+ }));
+
+ opts.add(new MenuOption("view round statistics", () -> {
+ Statistics baseStats = new LifetimeStats(golfer);
+ Statistics yearStats = getUserYear(baseStats);
+ Statistics courseStats = getUserCourse(yearStats);
+ Statistics roundStats = getUserRound(courseStats);
+
+ System.out.printf("Total swings: %d\n", roundStats.get_score());
+ System.out.printf("Total distance: %.1f\n", roundStats.get_distance());
+ this.present();
+ }));
+
+ opts.add(new MenuOption("view hole statistics", () -> {
+ Statistics baseStats = new LifetimeStats(golfer);
+ Statistics yearStats = getUserYear(baseStats);
+ Statistics courseStats = getUserCourse(yearStats);
+ Statistics roundStats = getUserRound(courseStats);
+ Statistics holeStats = getUserHole(roundStats);
+
+ System.out.printf("Total swings: %d\n", holeStats.get_score());
+ System.out.printf("Total distance: %.1f\n", holeStats.get_distance());
+ this.present();
+ }));
+
+ return opts;
}
// Helper classes to get user input and handle finding the data they requested (Course, Hole, Year, etc.)
@@ -86,8 +92,7 @@ public class StatisticsMenu extends Menu {
System.out.println("Enter year to search: ");
int year = Integer.parseInt(sc.nextLine());
- Statistics yearStats = new YearlyStats(baseStats, year);
- return yearStats;
+ return new YearlyStats(baseStats, year);
}
private Statistics getUserCourse(Statistics baseStats){