Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 19 additions & 13 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="main.js"></script>
</head>
<body>
<h1>Hello World!</h1>
<hr/>
<div id="display-element"></div>
<button onclick="displayDate()">Click Me</button>
<hr/>
</body>
</html>

<head>
<meta charset="utf-8">
<title></title>

</head>

<body>
<h1>Hello World!</h1>
<hr />
<div id="display-element"></div>
<input type="text" value="" name="value1" id="first-hand" onkeyup="(storeHands(this.value, this.id))">
<input type="text" value="" name="value2" id="second-hand" onkeyup="(storeHands(this.value, this.id))">
<button onclick="displayResults()">Click Me</button>
<hr />
<script src="main.js"></script>
</body>

</html>
72 changes: 70 additions & 2 deletions main.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// uses strict mode so strings are not coerced, variables are not hoisted, etc...
'use strict';

let value1 = ""
let value2 = ""

// brings in the assert module for unit testing
const assert = require('assert');
// brings in the readline module to access the command line
Expand All @@ -11,8 +14,68 @@ const rl = readline.createInterface({
output: process.stdout
});

//1 create two inputs
//2 create a function that when inputs are typed in is called and saves inputs to two different global variables
//3 create a button
//4 create a function, that when button is clicked, displays the results of RPS function


const storeHands = (value, id) => {

if ( id == "first-hand"){
value1 = value
} else if (id == "second-hand"){
value2 = value
}

}

const displayResults = () => {

document.getElementById("Rdisplay-element").innerHTML = rockPaperScissors(value1, value2)

}

// the function that will be called by the unit test below
const rockPaperScissors = (hand1, hand2) => {
const rockPaperScissors = (firstHand, secondHand) => {

let hand1 = firstHand.toLowerCase().trim()
let hand2 = secondHand.toLowerCase().trim()

// if (hand1 === 'rock' && hand2 === 'rock'){
// return "It's a tie!"
// }
// if (hand1 === 'paper' && hand2 === 'paper'){
// return "It's a tie!"
// }
// if (hand1 === 'scissors' && hand2 === 'scissors'){
// return "It's a tie!"
// }

if (hand1 === hand2){
return "It's a tie!"
}

if (hand1 === 'rock' && hand2 === 'paper'){
return "Hand two wins!"
}
if (hand1 === 'paper' && hand2 === 'scissors'){
return "Hand two wins!"
}
if (hand1 === 'scissors' && hand2 === 'rock'){
return "Hand two wins!"
}

if (hand1 === 'rock' && hand2 === 'scissors'){
return "Hand one wins!"
}
if (hand1 === 'paper' && hand2 === 'rock'){
return "Hand one wins!"
}
if (hand1 === 'scissors' && hand2 === 'paper'){
return "Hand two wins!"
}


// Write code here
// Use the unit test to see what is expected
Expand Down Expand Up @@ -48,11 +111,16 @@ if (typeof describe === 'function') {
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', () => {
it('should scrub input to ensure lowercase with "trim"ed whitespace', () => {
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 test for input before asking for next hand', () => {
assert.equal(rockPaperScissors(undefined, "paper"), "Dont be dumb make a choice");
assert.equal(rockPaperScissors('paper', undefined), "Dont be dumb make a choice");

});
});
} else {

Expand Down