-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
87 lines (75 loc) · 2.77 KB
/
app.js
File metadata and controls
87 lines (75 loc) · 2.77 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
document.addEventListener("DOMContentLoaded", () => {
const choices = document.querySelectorAll(".choice");
const playerChoiceDisplay = document.getElementById("player-choice");
const computerChoiceDisplay = document.getElementById("computer-choice");
const resultMessageDisplay = document.getElementById("result-message");
const playerScoreDisplay = document.getElementById("player-score");
const computerScoreDisplay = document.getElementById("computer-score");
const resetBtn = document.getElementById("reset-btn");
let playerScore = 0;
let computerScore = 0;
// Initialize game
updateScore();
choices.forEach((choice) => {
choice.addEventListener("click", () => {
const playerChoice = choice.id;
const computerChoice = getComputerChoice();
const result = determineWinner(playerChoice, computerChoice);
updateChoices(playerChoice, computerChoice);
updateResult(result);
updateScore();
});
});
resetBtn.addEventListener("click", resetGame);
function getComputerChoice() {
const choices = ["rock", "paper", "scissors"];
const randomIndex = Math.floor(Math.random() * choices.length);
return choices[randomIndex];
}
function determineWinner(player, computer) {
if (player === computer) {
resultMessageDisplay.classList.add("draw");
resultMessageDisplay.classList.remove("win", "lose");
return "It's a draw!";
} else if (
(player === "rock" && computer === "scissors") ||
(player === "paper" && computer === "rock") ||
(player === "scissors" && computer === "paper")
) {
playerScore++;
resultMessageDisplay.classList.add("win");
resultMessageDisplay.classList.remove("lose", "draw");
return "You win!";
} else {
computerScore++;
resultMessageDisplay.classList.add("lose");
resultMessageDisplay.classList.remove("win", "draw");
return "You lose!";
}
}
function updateChoices(player, computer) {
playerChoiceDisplay.textContent = `Player choice: ${capitalize(player)}`;
computerChoiceDisplay.textContent = `Computer choice: ${capitalize(
computer
)}`;
}
function updateResult(result) {
resultMessageDisplay.textContent = result;
}
function updateScore() {
playerScoreDisplay.textContent = playerScore;
computerScoreDisplay.textContent = computerScore;
}
function resetGame() {
playerScore = 0;
computerScore = 0;
updateScore();
playerChoiceDisplay.textContent = "Player choice: -";
computerChoiceDisplay.textContent = "Computer choice: -";
resultMessageDisplay.textContent = "Make your move!";
resultMessageDisplay.classList.remove("win", "lose", "draw");
}
function capitalize(word) {
return word.charAt(0).toUpperCase() + word.slice(1);
}
});