summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
diff options
context:
space:
mode:
authorTyler Ferrari <69283684+Sowgro@users.noreply.github.com>2025-10-06 22:17:09 -0400
committerGitHub <noreply@github.com>2025-10-06 22:17:09 -0400
commit7ceecf80509e3387e9aa57d2996c333e4bfe4966 (patch)
treebe6673c6d3259face6c4936bdbc3d4801b3ec4c5 /src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
parent5b561d4743556a60cb4dc198489b48f8844a5c28 (diff)
parent97561886cb2ebc3f71558edd8d2202aa3a0cb03d (diff)
downloaddesignproject-design-6-7ceecf80509e3387e9aa57d2996c333e4bfe4966.tar.gz
designproject-design-6-7ceecf80509e3387e9aa57d2996c333e4bfe4966.tar.bz2
designproject-design-6-7ceecf80509e3387e9aa57d2996c333e4bfe4966.zip
Merge pull request #5 from RIT-SWEN-262/lizzio-holeplayUI
Lizzio holeplay UI
Diffstat (limited to '')
-rw-r--r--src/main/java/design/controller/userinput/menus/CourseSelectMenu.java52
1 files changed, 52 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..881c393
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java
@@ -0,0 +1,52 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+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;
+
+import design.persistence.MasterDatabase;
+import design.runtime.Session;
+
+public class CourseSelectMenu extends Menu {
+
+ @Override
+ public String getTitle() {
+ return "course select";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ List<MenuOption> opts = new ArrayList<>();
+
+ // 0) back
+ opts.add(new MenuOption("back to main menu", a -> new MainMenu().present()));
+
+ // 1) 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 = MasterDatabase.INSTANCE.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();
+ }));
+
+ return opts;
+ }
+}