diff --git a/01week/rockPaperScissors.js b/01week/rockPaperScissors.js index 16f58790a..d68525aa5 100644 --- a/01week/rockPaperScissors.js +++ b/01week/rockPaperScissors.js @@ -1,23 +1,44 @@ -'use strict'; +"use strict"; -const assert = require('assert'); -const readline = require('readline'); +const assert = require("assert"); +const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); +// user1 makes move +// user2 makes move +// user1 chooses rock, user2 chooses paper - user2 wins +// user1 chooses rock, user2 chooses scissors - user1 wins +// user1 chooses rock, user2 chooses rock - it's a tie +// user1 chooses paper, user2 chooses rock - user1 wins +// user1 chooses paper, user2 chooses scissors - user2 wins +// user1 chooses paper, user2 chooses paper - it's a tie +// user1 chooses scissors, user2 chooses rock - user2 wins +// user1 chooses scissors, user2 chooses paper - user1 wins +// user1 chooses scissors, user2 chooses scissors - it's a tie function rockPaperScissors(hand1, hand2) { - // Write code here + if (hand1 === hand2) { + console.log("it is a tie"); + } else if ( + (hand1 === "rock" && hand2 === "scissors") || + (hand1 === "scissors" && hand2 === "paper") || + (hand1 === "paper" && hand2 === "rock") + ) { + console.log("player 1 wins"); + } else { + console.log("player 2 wins"); + } } function getPrompt() { - rl.question('hand1: ', (answer1) => { - rl.question('hand2: ', (answer2) => { - console.log( rockPaperScissors(answer1, answer2) ); + rl.question("hand1: ", answer1 => { + rl.question("hand2: ", answer2 => { + console.log(rockPaperScissors(answer1, answer2)); getPrompt(); }); }); @@ -25,27 +46,24 @@ function getPrompt() { // Tests -if (typeof describe === 'function') { - - describe('#rockPaperScissors()', () => { - it('should detect a tie', () => { - assert.equal(rockPaperScissors('rock', 'rock'), "It's a tie!"); - assert.equal(rockPaperScissors('paper', 'paper'), "It's a tie!"); - assert.equal(rockPaperScissors('scissors', 'scissors'), "It's a tie!"); +if (typeof describe === "function") { + describe("#rockPaperScissors()", () => { + it("should detect a tie", () => { + assert.equal(rockPaperScissors("rock", "rock"), "It's a tie!"); + assert.equal(rockPaperScissors("paper", "paper"), "It's a tie!"); + assert.equal(rockPaperScissors("scissors", "scissors"), "It's a tie!"); }); - it('should detect which hand won', () => { - assert.equal(rockPaperScissors('rock', 'paper'), "Hand two wins!"); - assert.equal(rockPaperScissors('paper', 'scissors'), "Hand two wins!"); - assert.equal(rockPaperScissors('rock', 'scissors'), "Hand one wins!"); + it("should detect which hand won", () => { + assert.equal(rockPaperScissors("rock", "paper"), "Hand two wins!"); + assert.equal(rockPaperScissors("paper", "scissors"), "Hand two wins!"); + assert.equal(rockPaperScissors("rock", "scissors"), "Hand one wins!"); }); it('should scrub input to ensure lowercase with "trim"ed whitepace', () => { - assert.equal(rockPaperScissors('rOcK', ' paper '), "Hand two wins!"); - assert.equal(rockPaperScissors('Paper', 'SCISSORS'), "Hand two wins!"); - assert.equal(rockPaperScissors('rock ', 'sCiSsOrs'), "Hand one wins!"); + assert.equal(rockPaperScissors("rOcK", " paper "), "Hand two wins!"); + assert.equal(rockPaperScissors("Paper", "SCISSORS"), "Hand two wins!"); + assert.equal(rockPaperScissors("rock ", "sCiSsOrs"), "Hand one wins!"); }); }); } else { - getPrompt(); - }