summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-02 17:36:01 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-02 17:36:01 -0400
commit5f8bc7b2e35cf005b44e22e56f8be3f95127fd1b (patch)
tree6b5c1911dba6d6771637d26826a4f1ebf53f942f /src/main
parente085ca1bf0b5dd58d8a10d27b009a9f1dd384846 (diff)
downloaddesignproject-design-6-5f8bc7b2e35cf005b44e22e56f8be3f95127fd1b.tar.gz
designproject-design-6-5f8bc7b2e35cf005b44e22e56f8be3f95127fd1b.tar.bz2
designproject-design-6-5f8bc7b2e35cf005b44e22e56f8be3f95127fd1b.zip
Begin impl of user input subsystem
Diffstat (limited to '')
-rw-r--r--src/main/java/design/HelloWorld.java7
-rw-r--r--src/main/java/design/Main.java10
-rw-r--r--src/main/java/design/controller/userinput/Action.java5
-rw-r--r--src/main/java/design/controller/userinput/CommandOption.java19
-rw-r--r--src/main/java/design/controller/userinput/ParPalCLI.java28
5 files changed, 62 insertions, 7 deletions
diff --git a/src/main/java/design/HelloWorld.java b/src/main/java/design/HelloWorld.java
deleted file mode 100644
index ea552f9..0000000
--- a/src/main/java/design/HelloWorld.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package design;
-
-public class HelloWorld {
- public static void main(String[] args) {
- System.out.println("Hello, World!");
- }
-}
diff --git a/src/main/java/design/Main.java b/src/main/java/design/Main.java
new file mode 100644
index 0000000..43a8eb6
--- /dev/null
+++ b/src/main/java/design/Main.java
@@ -0,0 +1,10 @@
+package design;
+
+import design.controller.userinput.ParPalCLI;
+
+public class Main {
+ public static void main(String[] args) {
+ var cli = new ParPalCLI();
+ cli.start(args);
+ }
+}
diff --git a/src/main/java/design/controller/userinput/Action.java b/src/main/java/design/controller/userinput/Action.java
new file mode 100644
index 0000000..0569c48
--- /dev/null
+++ b/src/main/java/design/controller/userinput/Action.java
@@ -0,0 +1,5 @@
+package design.controller.userinput;
+
+public interface Action {
+ void onCommand(String[] args);
+}
diff --git a/src/main/java/design/controller/userinput/CommandOption.java b/src/main/java/design/controller/userinput/CommandOption.java
new file mode 100644
index 0000000..31b63d4
--- /dev/null
+++ b/src/main/java/design/controller/userinput/CommandOption.java
@@ -0,0 +1,19 @@
+package design.controller.userinput;
+
+public class CommandOption {
+ Action action;
+ String name;
+
+ public CommandOption(Action action, String name) {
+ this.action = action;
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void onCommand(String[] args) {
+ action.onCommand(args);
+ }
+}
diff --git a/src/main/java/design/controller/userinput/ParPalCLI.java b/src/main/java/design/controller/userinput/ParPalCLI.java
new file mode 100644
index 0000000..7707754
--- /dev/null
+++ b/src/main/java/design/controller/userinput/ParPalCLI.java
@@ -0,0 +1,28 @@
+package design.controller.userinput;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Scanner;
+
+public class ParPalCLI {
+
+ public void start(String[] args) {
+
+ }
+
+ public void promptUser(List<CommandOption> commandOptions) {
+ for (int i = 0; i < commandOptions.size(); i++) {
+ CommandOption commandOption = commandOptions.get(i);
+ System.out.printf("%s: %s\n", i, commandOption.getName());
+ }
+ Scanner sc = new Scanner(System.in);
+ var line = sc.nextLine().split(" ");
+
+ if (line.length > 0) {
+ int i = Integer.parseInt(line[0]);
+
+ commandOptions.get(i).onCommand(Arrays.copyOfRange(line, 1, line.length));
+ }
+ }
+}