I am doing a project on paper-rock-scissor that has UI. So, I have four buttons, Start game, rock, paper and scissor. Previously I write the code separately and it works. But right now because I want the result from clicking the button to be an input to another function. So I tried to group all the buttons altogether in my code below. However, it seems like the button doesnt seem to work but there are no errors. I have no idea why? Below are my code :
------------- HTML ---------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Project Rock Paper Scissors</title>
<script src = "javascript.js" defer> </script>
</head>
<body>
<div class="btn-group">
<button id="startgame"> Start game </button>
<button id="rock"> Rock </button>
<button id="paper"> Paper </button>
<button id="scissor"> Scissor </button>
</div>
</body>
</html>
------------ Javascript ---------------
const button = document.querySelector(".btn-group");
const startGame = document.querySelector('#startgame');
const rock = document.querySelector('#rock');
const paper = document.querySelector('#paper');
const scissor = document.querySelector('#scissor');
button.addEventListener('click', function(selection) {
if (selection === startGame) {
startGame.addEventListener('click', () => {
alert("Choose Rock, Paper or Scissor");
})
} else if (selection === rock) {
rock.addEventListener('click', () => {
let item = "rock";
return item.toLowerCase();
})
} else if (selection === paper) {
paper.addEventListener('click', () => {
let item2 = "paper";
return item2.toLowerCase();
})
} else if (selection === scissor) {
scissor.addEventListener('click', () => {
let item3 = "scissor";
return item3.toLowerCase();
})
}
})
----------- Js code above to be used as argument to function playRound(.... , ....) below ------------
function playRound(playerSelection, computerSelection) {
if (playerSelection === "Paper".toLowerCase() && computerSelection.toLowerCase() === "Rock".toLowerCase() ) {
console.log(`Player choose ${playerSelection} and computer plays ${computerSelection} player wins !`);
} else if (playerSelection === "Scissor".toLowerCase() && computerSelection.toLowerCase() === "Paper".toLowerCase() ) {
console.log(`Player choose ${playerSelection} and computer plays ${computerSelection} player wins !`);
} else if (playerSelection === "Rock".toLowerCase() && computerSelection.toLowerCase() === "Scissor".toLowerCase() ) {
console.log(`Player choose ${playerSelection} and computer plays ${computerSelection} player wins !`);
} else if (playerSelection === computerSelection.toLowerCase() ) {
console.log(`Player choose ${playerSelection} and computer plays ${computerSelection} game is draw !`);
} else {
console.log(`Player choose ${playerSelection}, computer plays ${computerSelection}, computer wins !`);
}
}