summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
diff options
context:
space:
mode:
authorMichael Lizzio <mjl2396@rit.edu>2025-10-05 16:42:54 -0400
committerMichael Lizzio <mjl2396@rit.edu>2025-10-05 16:42:54 -0400
commit042c456a542a60262e71f694fa21e0dfcfc25f3a (patch)
tree9a9fc9b17db70a280f32949e423c7138bd0a69fd /src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
parent204654ad4a69677e9f38308344760ddb33316758 (diff)
downloaddesignproject-design-6-042c456a542a60262e71f694fa21e0dfcfc25f3a.tar.gz
designproject-design-6-042c456a542a60262e71f694fa21e0dfcfc25f3a.tar.bz2
designproject-design-6-042c456a542a60262e71f694fa21e0dfcfc25f3a.zip
Completed HolePlayMenu and basic CourseSelectionMenu, minal updates to other classes
Diffstat (limited to 'src/main/java/design/controller/userinput/menus/CourseSelectMenu.java')
-rw-r--r--src/main/java/design/controller/userinput/menus/CourseSelectMenu.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java b/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
new file mode 100644
index 0000000..cf6f4b1
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
@@ -0,0 +1,50 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+import design.controller.userinput.Session;
+import design.model.Course;
+import design.model.Hole;
+import design.model.Round;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+
+public class CourseSelectMenu extends Menu {
+
+ @Override
+ public String getTitle() {
+ return "course select";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ List<MenuOption> opts = new ArrayList<>();
+
+ // 0) pick course by number TODO: add error checking
+ opts.add(new MenuOption("pick course by number (1..1000)", a -> {
+ Scanner sc = new Scanner(System.in);
+
+ System.out.print("Course number (1..1000): ");
+ int n = Integer.parseInt(sc.nextLine().trim());
+ Course c = Session.MDB.getCourse(n - 1);
+
+ System.out.print("Starting hole (1..18, blank=1): ");
+ String s = sc.nextLine().trim();
+ int start = s.isEmpty() ? 1 : Integer.parseInt(s);
+
+ Hole startHole = c.getHoles().get(start - 1);
+
+ Round r = new Round(c, LocalDateTime.now(), startHole);
+ Session.getCurrentGolfer().addRound(r);
+ new HolePlayMenu(r).present();
+ }));
+
+ // 1) back
+ opts.add(new MenuOption("back to main menu", a -> new MainMenu().present()));
+
+ return opts;
+ }
+}