diff options
Diffstat (limited to 'src/main/java/design/controller/userinput/menus')
3 files changed, 56 insertions, 3 deletions
diff --git a/src/main/java/design/controller/userinput/menus/HolePlayMenu.java b/src/main/java/design/controller/userinput/menus/HolePlayMenu.java index 6651500..e4dc43d 100644 --- a/src/main/java/design/controller/userinput/menus/HolePlayMenu.java +++ b/src/main/java/design/controller/userinput/menus/HolePlayMenu.java @@ -28,6 +28,10 @@ public class HolePlayMenu extends Menu { this.ctx = new HolePlayContext(this.golfer, round, PersonalDatabase.instance()); } + public Round getRound() { + return round; + } + @Override public String getTitle() { return String.format("hole play - %s | hole %d", round.getCourse().getName(), diff --git a/src/main/java/design/controller/userinput/menus/LeageMenu.java b/src/main/java/design/controller/userinput/menus/LeageMenu.java index d9afa91..fb03d52 100644 --- a/src/main/java/design/controller/userinput/menus/LeageMenu.java +++ b/src/main/java/design/controller/userinput/menus/LeageMenu.java @@ -3,6 +3,8 @@ package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; import design.model.League; +import design.model.Round; +import design.runtime.Session; import java.util.ArrayList; import java.util.List; @@ -22,9 +24,13 @@ public class LeageMenu extends Menu { @Override public List<MenuOption> getMenuOptions() { List<MenuOption> options = new ArrayList<>(); - options.add(new MenuOption("statistics...", () -> {})); - options.add(new MenuOption("leaderboard...", () -> {})); - options.add(new MenuOption("log round...", () -> {})); + options.add(new MenuOption("statistics...", () -> new LeagueStatsMenu(league).present())); + options.add(new MenuOption("log round...", () -> { + var holePlay = new HolePlayMenu(); + holePlay.present(); + Round round = holePlay.getRound(); + league.recordPlay(Session.getCurrentGolfer(), league.getCurrentMatch(), round); + })); return options; } } diff --git a/src/main/java/design/controller/userinput/menus/LeagueStatsMenu.java b/src/main/java/design/controller/userinput/menus/LeagueStatsMenu.java new file mode 100644 index 0000000..d0aa2b2 --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/LeagueStatsMenu.java @@ -0,0 +1,43 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; +import design.model.League; +import design.model.statistics.LeagueStats; + +import java.util.List; + +public class LeagueStatsMenu extends Menu { + private final LeagueStats league; + + public LeagueStatsMenu(League league) { + this.league = new LeagueStats(league); + } + + @Override + public String getTitle() { + return "League Stats"; + } + + @Override + public List<MenuOption> getMenuOptions() { + return List.of( + new MenuOption("View Played Matches", () -> { + System.out.println(league.getMatchesPlayed()); + this.present(); + }), + new MenuOption("Get Scores", () -> { + System.out.println(league.getScores()); + this.present(); + }), + new MenuOption("Get Standings", () -> { + System.out.println(league.getStandings()); + this.present(); + }), + new MenuOption("Get Winners", () -> { + System.out.println(league.getWinners()); + this.present(); + }) + ); + } +} |
