Commit 51de1a6

mo <mo.khan@gmail.com>
2019-06-05 03:25:11
determine winner based on rules
1 parent a5d68b1
Changed files (1)
src/Q2/RockPaperScissorsLizardSpock.java
@@ -1,7 +1,6 @@
 package Q2;
 
-import java.util.Random;
-import java.util.Scanner;
+import java.util.*;
 
 public class RockPaperScissorsLizardSpock {
   private int consecutiveWins = 0;
@@ -72,11 +71,23 @@ public class RockPaperScissorsLizardSpock {
     }
   }
 
-  public int determineWinner(int player1Roll, int player2Roll) {
+  private int determineWinner(int player1Roll, int player2Roll) {
     if (player1Roll == player2Roll) return 0;
-    if (((player1Roll - player2Roll) % 5) < 3) return PLAYER1;
 
-    return PLAYER2;
+    switch (player1Roll) {
+      case SCISSORS:
+        return (player2Roll == PAPER || player2Roll == LIZARD) ? PLAYER1 : PLAYER2;
+      case PAPER:
+        return (player2Roll == ROCK || player2Roll == SPOCK) ? PLAYER1 : PLAYER2;
+      case ROCK:
+        return (player2Roll == LIZARD || player2Roll == SCISSORS) ? PLAYER1 : PLAYER2;
+      case LIZARD:
+        return (player2Roll == SPOCK || player2Roll == PAPER) ? PLAYER1 : PLAYER2;
+      case SPOCK:
+        return (player2Roll == SCISSORS || player2Roll == ROCK) ? PLAYER1 : PLAYER2;
+      default:
+        return 0;
+    }
   }
 
   private void puts(String message, Object... args) {