Commit 0f3a597

mo <mo.khan@gmail.com>
2019-06-05 02:19:38
accept command line argument to run specific exercise
1 parent fc5df8d
src/Q2/RockPaperScissorsLizardSpock.java
@@ -15,18 +15,21 @@ public class RockPaperScissorsLizardSpock {
   public static final int SPOCK = 5;
 
   public int getConsecutiveWins() {
-    return 0;
+    return this.consecutiveWins;
   }
 
   public int getLastWinner() {
-    return 0;
+    return this.lastWinner;
   }
 
   public int random() {
     return new Random().nextInt(4) + 1;
   }
 
-  public void play(int player1, int player2) {}
+  public void play(int player1, int player2) {
+    int player1Roll = random();
+    int player2Roll = random();
+  }
 
   public static String convert(int i) {
     return "";
@@ -35,5 +38,7 @@ public class RockPaperScissorsLizardSpock {
   public static void main(String[] args) {
     Scanner in = new Scanner(System.in);
     System.out.println("Hi");
+    RockPaperScissorsLizardSpock game = new RockPaperScissorsLizardSpock();
+    game.play(RockPaperScissorsLizardSpock.PLAYER1, RockPaperScissorsLizardSpock.PLAYER2);
   }
 }
src/App.java
@@ -6,17 +6,26 @@ import java.util.Scanner;
 public class App {
   public static void main(String[] args) {
     Scanner in = new Scanner(System.in);
+    Integer selection = args.length > 0 ? Integer.parseInt(args[0]) : null;
+
     while (true) {
-      System.out.println("Choose exercise: (1-10)");
-      switch (in.nextInt()) {
+      if (selection == null) {
+        System.out.println("Choose exercise: (1-10)");
+        selection = in.nextInt();
+      }
+      switch (selection) {
         case 1:
           Q1.ReversedSentence.main(args);
           break;
+        case 2:
+          Q2.RockPaperScissorsLizardSpock.main(args);
+          break;
         default:
           System.out.println("Bye");
           System.exit(0);
           break;
       }
+      selection = null;
     }
   }
 }
Rakefile
@@ -10,6 +10,10 @@ Rake::PackageTask.new("comp-268-2", DateTime.now.strftime("%y%m").to_i) do |pack
   ])
 end
 
+def run_cli(selection = nil)
+  sh "java -cp target/assignment2*.jar ca.mokhan.comp268.App #{selection}"
+end
+
 task(:pdf) do
   Dir["src/**/*.md"].each do |file|
     sh "node ./node_modules/.bin/mdpdf #{file}"
@@ -21,16 +25,9 @@ task(:clean) { sh 'rm -fr pkg target' }
 task(:test) { sh 'mvn test' }
 task(doc: [:pdf]) { sh 'mvn javadoc:javadoc' }
 task publish: [:clean, :test, :doc, :repackage]
-task :run do
-  sh "mvn package"
-  sh "java -cp target/assignment2*.jar ca.mokhan.comp268.App"
-end
-
-task :run1 do
-  Dir.chdir 'src/Q1' do
-    sh 'javac ReversedSentence.java'
-    sh 'java ReversedSentence'
-  end
-end
+task(:build) { sh "mvn package" }
+task(run: :build) { run_cli }
+task(run1: :build) { run_cli(1) }
+task(:run2) { run_cli(2) }
 
 task default: [:publish]