/
app.js
98 lines (75 loc) · 2.35 KB
/
app.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
const ROCK = "rock";
const PAPER = "paper";
const SCISSORS = "scissors";
const TIE = 0;
const WIN = 1;
const LOST = 2;
let isPlaying = false;
const rockBtn = document.getElementById("rock");
const paperBtn = document.getElementById("paper");
const scissorsBtn = document.getElementById("scissors");
const resultText = document.getElementById("start-text");
const userImg = document.getElementById("user-img");
const machineImg = document.getElementById("machine-img");
rockBtn.addEventListener("click", () => {
play(ROCK);
});
paperBtn.addEventListener("click", () => {
play(PAPER);
});
scissorsBtn.addEventListener("click", () => {
play(SCISSORS);
});
function play(userOption) {
if(isPlaying) return;
isPlaying = true;
userImg.src = "img/" + userOption + ".svg";
resultText.innerHTML = "Chossing!";
const interval = setInterval(function(){
const machineOption = calcMachineOption();
machineImg.src = "img/" + machineOption + ".svg";
}, 200);
setTimeout(function () {
clearInterval(interval);
const machineOption = calcMachineOption();
const result = calcResult(userOption, machineOption);
machineImg.src = "img/" + machineOption + ".svg";
switch (result) {
case TIE:
resultText.innerHTML = "You have tied!";
break;
case WIN:
resultText.innerHTML = "You win!";
break;
case LOST:
resultText.innerHTML = "You lost!";
break;
}
isPlaying = false;
}, 2000);
}
function calcMachineOption() {
const number = Math.floor(Math.random() * 3);
switch (number) {
case 0:
return ROCK;
case 1:
return PAPER;
case 2:
return SCISSORS;
}
}
function calcResult(userOption, machineOption) {
if (userOption === machineOption) {
return TIE;
} else if (userOption === ROCK) {
if (machineOption === PAPER) return LOST;
if (machineOption === SCISSORS) return WIN;
} else if (userOption === PAPER) {
if (machineOption === SCISSORS) return LOST;
if (machineOption === ROCK) return WIN;
} else if (userOption === SCISSORS) {
if (machineOption === ROCK) return LOST;
if (machineOption === PAPER) return WIN;
}
}