-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrock-paper-scissors.js
124 lines (110 loc) · 3.12 KB
/
rock-paper-scissors.js
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
let score = JSON.parse(localStorage.getItem('score')) || {
wins: 0,
losses: 0,
ties: 0
};
updateScoreElement();
/*
if(!score) {
score = {
wins: 0,
losses: 0,
ties: 0
};
}
*/
let isautoPlaying = false;
let intervalId;
function autoPlay() {
if(!isautoPlaying) {
intervalId = setInterval(() => {
const computerMove = pickMove();
playGame(computerMove);
}, 1000);
isautoPlaying = true;
}
else {
clearInterval(intervalId);
isautoPlaying = false;
}
}
document.querySelector('.js-rock-btn')
.addEventListener('click', () => {
playGame('rock');
});
document.querySelector('.js-paper-btn')
.addEventListener('click', () => {
playGame('paper');
});
document.querySelector('.js-scissors-btn')
.addEventListener('click', () => {
playGame('scissors');
});
document.body.addEventListener('keydown', (event) => {
if(event.key === 'r')
playGame('rock');
else if(event.key === 'p')
playGame('paper');
else if(event.key === 's')
playGame('scissors');
});
function playGame(playerMove)
{
const computerMove = pickMove();
let result = '';
if(playerMove ==='scissors')
{
if(computerMove === 'rock')
result = 'You lose';
else if(computerMove === 'paper')
result = 'You win';
else if(computerMove === 'scissors')
result = 'Tie';
}
else if(playerMove ==='rock')
{
if(computerMove === 'rock')
result = 'Tie';
else if(computerMove === 'paper')
result = 'You lose';
else if(computerMove === 'scissors')
result = 'You win';
}
else if(playerMove ==='paper')
{
if(computerMove === 'rock')
result = 'You win';
else if(computerMove === 'paper')
result = 'Tie';
else if(computerMove === 'scissors')
result = 'You lose';
}
if(result === 'You win')
score.wins += 1;
else if(result === 'You lose')
score.losses += 1;
else if(result === 'Tie')
score.ties += 1;
localStorage.setItem('score', JSON.stringify(score));
updateScoreElement();
document.querySelector('.js-result').innerHTML = result;
document.querySelector('.js-moves').innerHTML = `You
<img src = "/images/${playerMove}-emoji.png" class="move-icon">
<img src = "/images/${computerMove}-emoji.png" class="move-icon">
Computer`;
}
function updateScoreElement() {
document.querySelector('.js-score').innerHTML = `Wins: ${score.wins}, Losses: ${score.losses}, Ties: ${score.ties}`;
}
function pickMove()
{
const randomNumber = Math.random();
let computerMove = '';
if(randomNumber>=0 && randomNumber<1/3)
computerMove = 'rock';
else if(randomNumber>=1/3 && randomNumber<2/3)
computerMove = 'paper';
else if(randomNumber>=2/3 && randomNumber<1)
computerMove = 'scissors';
return computerMove;
}