summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Lizzio <mjl2396@rit.edu>2025-10-07 13:57:32 -0400
committerMichael Lizzio <mjl2396@rit.edu>2025-10-07 13:57:32 -0400
commita20f2f027981ce9c7677b969be24c962c0029907 (patch)
tree9d1a8af5e7829d0357ecfe8d0d9d51eb4c929091 /src
parent821c44c8ca0bc364c83fac2e116fd8c8ec8e86c9 (diff)
downloaddesignproject-design-6-a20f2f027981ce9c7677b969be24c962c0029907.tar.gz
designproject-design-6-a20f2f027981ce9c7677b969be24c962c0029907.tar.bz2
designproject-design-6-a20f2f027981ce9c7677b969be24c962c0029907.zip
Updated HolePlayMenu to allow user to select one of their clubs
Diffstat (limited to '')
-rw-r--r--src/main/java/design/controller/userinput/menus/HolePlayMenu.java37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/main/java/design/controller/userinput/menus/HolePlayMenu.java b/src/main/java/design/controller/userinput/menus/HolePlayMenu.java
index 34e36f6..14e5345 100644
--- a/src/main/java/design/controller/userinput/menus/HolePlayMenu.java
+++ b/src/main/java/design/controller/userinput/menus/HolePlayMenu.java
@@ -44,13 +44,38 @@ public class HolePlayMenu extends Menu {
} else {
// 0) Take a shot
opts.add(new MenuOption("take a shot", () -> {
- // Gets club
+ // loads golfers clubs
+ var golfer = Session.getCurrentGolfer();
+ Club[] clubs = (golfer == null) ? new Club[0] : golfer.getClubs();
+
+ if (clubs.length == 0) {
+ System.out.println("You don't have any clubs yet. Add one first.");
+ new AddClubMenu().present();
+ this.present();
+ return;
+ }
+
+ // list clubs
+ System.out.println("-- YOUR CLUBS --");
+ for (int i = 0; i < clubs.length; i++) {
+ Club c = clubs[i];
+ System.out.printf("%d: #%d %s - %s (%s)%n",
+ i + 1, c.getId(), c.getNickname(), c.getManufacture(), c.getClubType());
+ }
+
+ // user selects one of their clubs
Scanner sc = new Scanner(System.in);
- System.out.print("Club nickname: ");
- String nick = sc.nextLine().trim();
- // Defaulted to Driver for now
- // TODO update logic
- Club club = new Club(0, "Generic", nick, Club.ClubType.DRIVER);
+ Club club = null;
+ while (club == null) {
+ System.out.print("Select club # (1.." + clubs.length + "): ");
+ String line = sc.nextLine().trim();
+ int idx = Integer.parseInt(line);
+ if (idx < 1 || idx > clubs.length) {
+ System.out.println("Out of range. Try again.");
+ continue;
+ }
+ club = clubs[idx - 1];
+ }
// Get shot distance (defaults to 0 of not stated)
System.out.print("Distance (yds, blank=0): ");