I am new to javascript and html. I am trying to make a scissors, paper stone game that the player plays against the computer. However I am not able to get the score to play or get the score to display in html. I have tried adding a rendering function too but doesn't work. What is wrong with my scoreWindow code? Why does it show as error and null? Please help.
let choises = ['rock', 'paper', 'scissors'];
choises.rock = document.querySelector('.rock');
choises.paper = document.querySelector('.paper');
choises.scissors = document.querySelector('.scissors');
/*let userScore = document.querySelector('.scores .scorePlayer');
let computerScore = document.querySelector('.scores .scoreComp');*/
let scoreWindow = document.querySelector('.scores');
let playerSelection;
let computerSelection;
let computerScore = 0;
let userScore = 0;
scoreWindow.innerHTML = userScore + ' : ' + computerScore;
function computerPlay() {
let computerAction = Math.floor(Math.random() * choises.length);
computerSelection = choises[computerAction];
return computerSelection;
}
function playRound(playerSelection, computerSelection) {
if (playerSelection === computerSelection) {
userScore = userScore + 1;
computerScore = computerScore + 1;
} else if ((playerSelection === choises.rock && computerSelection === choises.scissors) ||
(playerSelection === choises.rock && computerSelection === choises.rock) ||
(playerSelection === choises.scissors && computerSelection === choises.paper)) {
userScore = userScore++;
} else {
computerScore = computerScore++;
}
scoreWindow.innerHTML = userScore + ' : ' + computerScore;
return (computerScore, userScore);
}
function doChoises() {
choises.rock.addEventListener('click', () => {
playerSelection = choises[0];
console.log(computerPlay());
console.log(playerSelection);
console.log(playRound(playerSelection, computerSelection));
});
choises.paper.addEventListener('click', () => {
playerSelection = choises[1];
console.log(computerPlay());
playRound();
});
choises.scissors.addEventListener('click', () => {
playerSelection = choises[2];
console.log(computerPlay());
playRound();
});
}
function renderScore(computerScore, userScore) {
scoreWindow.innerText = `${computerScore} : ${userScore}`;
}
renderScore();
doChoises();
<div class="battlefield">
<div class="battlefield__back">
<div class="scores">
<span>:</span>
</div>
<div class="battlefield__weapon">
<button class="rock">
<img src="./rock.png"/>
</button>
<button class="paper">
<img src="./paper.png"/>
</button>
<button class="scissors">
<img src="./scissors.png"/>
</button>
</div>
</div>
</div>