diff options
| author | mo <mo.khan@gmail.com> | 2019-06-04 21:25:11 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2019-06-04 21:25:11 -0600 |
| commit | 51de1a6bab8cf511abf10206333bd9512c8cd010 (patch) | |
| tree | 6cd853c0df6d429e9a46613e3e6edb397da6c512 /src/Q2 | |
| parent | a5d68b1a3f033ddda8d5843cdfa9b9a27f30bea2 (diff) | |
determine winner based on rules
Diffstat (limited to 'src/Q2')
| -rw-r--r-- | src/Q2/RockPaperScissorsLizardSpock.java | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/Q2/RockPaperScissorsLizardSpock.java b/src/Q2/RockPaperScissorsLizardSpock.java index 4dee486..715dcb4 100644 --- a/src/Q2/RockPaperScissorsLizardSpock.java +++ b/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) { |
