forked from copilot-workshops/copilot-rock-paper-scissors
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
63 lines (56 loc) · 2.75 KB
/
main.js
File metadata and controls
63 lines (56 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Write a rock, paper, scissors game
// 1. Create a function called computerPlay that will randomly return either ‘Rock’, ‘Paper’ or ‘Scissors’.
// 2. Create a function that plays a single round of Rock Paper Scissors. The function should take two parameters - the playerSelection and computerSelection - and then return a string that declares the winner of the round like so: "You Lose! Paper beats Rock"
const computerPlay = () => {
const choices = ['rock', 'paper', 'scissors'];
const randomChoice = Math.floor(Math.random() * choices.length);
return choices[randomChoice];
};
const playRound = (playerSelection, computerSelection) => {
if (playerSelection.toLowerCase() === computerSelection) {
return "It's a tie!";
} else if (playerSelection.toLowerCase() === 'rock' && computerSelection === 'paper') {
return 'You lose! Paper beats Rock';
} else if (playerSelection.toLowerCase() === 'rock' && computerSelection === 'scissors') {
return 'You win! Rock beats Scissors';
} else if (playerSelection.toLowerCase() === 'paper' && computerSelection === 'rock') {
return 'You win! Paper beats Rock';
} else if (playerSelection.toLowerCase() === 'paper' && computerSelection === 'scissors') {
return 'You lose! Scissors beats Paper';
} else if (playerSelection.toLowerCase() === 'scissors' && computerSelection === 'rock') {
return 'You lose! Rock beats Scissors';
} else if (playerSelection.toLowerCase() === 'scissors' && computerSelection === 'paper') {
return 'You win! Scissors beats Paper';
}
};
// define main function that handles all the logic
const game = () => {
let playerScore = 0;
let computerScore = 0;
// loop through 5 rounds, keeping track of score
for (let i = 0; i < 5; i++) {
// prompt user for input
let playerSelection = prompt('Rock, Paper, or Scissors?');
let computerSelection = computerPlay();
console.log(`You chose ${playerSelection}`);
console.log(`Computer chose ${computerSelection}`);
console.log(playRound(playerSelection, computerSelection));
// if player wins, add 1 to playerScore
if (playRound(playerSelection, computerSelection).includes('win')) {
playerScore++;
console.log(`Player score: ${playerScore}`);
} else if (playRound(playerSelection, computerSelection).includes('lose')) {
computerScore++;
console.log(`Computer score: ${computerScore}`);
}
}
// after 5 rounds, determine winner
if (playerScore > computerScore) {
console.log('You win!');
} else if (computerScore > playerScore) {
console.log('You lose!');
} else {
console.log("It's a tie!");
}
};
game();