-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
76 lines (62 loc) · 2.28 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
let userScore = 0
let compScore = 0
const choices = document.querySelectorAll('.choice')
const msg = document.querySelector('#msg')
const userScorePara = document.querySelector('#user-score')
const compScorePara = document.querySelector('#comp-score')
const genCompChoice = () => {
// rock, paper, scissors
const options = ["rock", "paper", "scissors"]
const randIdx = Math.floor(Math.random()*3)
return options[randIdx]
}
const drawGame = () => {
console.log("game was draw!")
msg.innerText = "Game was draw!"
msg.style.backgroundColor = "#081b31"
}
const showWinner = (userWin, userChoice, compChoice) => {
if(userWin){
userScore++
userScorePara.innerText = userScore
console.log("you win");
msg.innerText = `You win! Your ${userChoice} beats ${compChoice}`
msg.style.backgroundColor = "green"
} else {
compScore++
compScorePara.innerText = compScore
console.log("you lose");
msg.innerText = `You lose! ${compChoice} beats your ${userChoice}`
msg.style.backgroundColor = "red"
}
}
const playGame = (userChoice) => {
console.log(`User choice: ${userChoice}`);
//generate computer choice => modular programming (to make one task = one reusable function)
const compChoice = genCompChoice()
console.log(`Computer Choice: ${compChoice}`);
if (userChoice === compChoice) {
drawGame()
} else {
let userWin = true
if (userChoice === "rock") {
// now compChoice can be scissors or paper
userWin = compChoice === "paper" ? false : true
} else if (userChoice === "paper"){
// compChoice can be scissors or rock
userWin = compChoice === "scissors" ? false : true
} else {
// now the userChoice is the last i.e scissors
// compChoice can be rock or paper
userWin = compChoice === "rock" ? false : true
}
showWinner(userWin,userChoice, compChoice)
}
}
choices.forEach((choice) => {
choice.addEventListener('click', () => {
const userChoice = choice.getAttribute("id")
console.log(`${userChoice} was clicked`);
playGame(userChoice)
})
})