Commit a7f31ad

mo <mo.khan@gmail.com>
2019-06-07 02:45:22
create program profile for Q2
1 parent 70d3f20
src/Q2/README.md
@@ -33,6 +33,88 @@ Rule 10: Rock breaks scissors
 ```
 
 2. Description of the Code: 
+
+The main game loop can be found in `main`. This will loop until a winner
+has won at least 4 consecutive times.
+
+The `Random` class is used to generate a pseudo random number between
+0 - 4. To keep the numbers between 1 - 5, I have incremented this value
+by 1.
+
+The `play` method prints out the choice for both players, then
+determines the winner and adjusts the last winner and consecutive wins
+fields based on the winner.
+
 3. Errors and Warnings:
+
+When a tie occurs, I assume the previous winner remains the current
+winner.
+
+This program does not require any user input so the possibilities
+remains low. A possible condition that can occur is an infinite loop due
+to the random number generator producing results that does not allow a
+single player to win 4 consecutive times. One way to handle this
+scenario, is to set a maximum number of rounds that can be played. I
+chose not to implement this.
+
 4. Sample Input and Output:
+
+An example of a short game:
+
+```bash
+Starting a new game of Rock, paper, scissors, lizard, spock...
+
+Round: 1
+--------------------------------------
+Player 1: scissor
+Player 2: paper
+Player 1 has 1 consecutive wins.
+
+Round: 2
+--------------------------------------
+Player 1: scissor
+Player 2: lizard
+Player 1 has 2 consecutive wins.
+
+Round: 3
+--------------------------------------
+Player 1: rock
+Player 2: lizard
+Player 1 has 3 consecutive wins.
+
+Round: 4
+--------------------------------------
+Player 1: paper
+Player 2: rock
+Player 1 has 4 consecutive wins.
+
+**************************************
+       The winner is player 1!
+**************************************
+```
+
+An example of a longer game:
+```bash
+...
+Round: 72
+--------------------------------------
+Player 1: paper
+Player 2: paper
+Player 1 has 3 consecutive wins.
+
+Round: 73
+--------------------------------------
+Player 1: rock
+Player 2: scissor
+Player 1 has 4 consecutive wins.
+
+**************************************
+       The winner is player 1!
+**************************************
+```
+
 5. Discussion:
+
+I chose to print additional information to the console to make it
+easier to see how many rounds were played and to ensure that the
+correct winner is determined.
src/Q2/RockPaperScissorsLizardSpock.java
@@ -53,8 +53,8 @@ public class RockPaperScissorsLizardSpock {
   /**
    * Plays the game until a winner has 4 consecutive wins.
    *
-   * @param player1 id of player 1
-   * @param player2 id of player 2
+   * @param player1 the choice made by player 1
+   * @param player2 the choice made by player 2
    */
   public void play(int player1, int player2) {
     this.puts("Player 1: %s", convert(player1));