summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus
diff options
context:
space:
mode:
authorjrshi <jrs9538@g.rit.edu>2025-11-16 15:37:32 -0500
committerjrshi <jrs9538@g.rit.edu>2025-11-16 15:37:32 -0500
commit0c2644dcb4fb6e70fb0e9b7a4d583e8b5b9af021 (patch)
tree8e959f7b6d181c952f6df0728ae639726dc566e7 /src/main/java/design/controller/userinput/menus
parent5bb349e46fbe9c63ad15379703e0d1371bae0081 (diff)
downloaddesignproject-design-6-0c2644dcb4fb6e70fb0e9b7a4d583e8b5b9af021.tar.gz
designproject-design-6-0c2644dcb4fb6e70fb0e9b7a4d583e8b5b9af021.tar.bz2
designproject-design-6-0c2644dcb4fb6e70fb0e9b7a4d583e8b5b9af021.zip
Working on league menus
Diffstat (limited to '')
-rw-r--r--src/main/java/design/controller/userinput/menus/HolePlayMenu.java4
-rw-r--r--src/main/java/design/controller/userinput/menus/LeageMenu.java14
-rw-r--r--src/main/java/design/controller/userinput/menus/LeagueStatsMenu.java43
3 files changed, 58 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..4e2f079 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,15 @@ 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();
+ })
+ );
+ }
+}