Witam,
Proszę o wytłuczenie i przykład jak mogę naprawić kod.. zmienna "winNumber" jest undefined w środku fukncji i cały program pada.. Dlaczego? Jak to naprawić?
function getWinNum(min, max) {
wiin = Math.floor(Math.random() * (max - min + 1) + min);
console.log(wiin);
}
const min = 1;
const max = 10;
const winNumber = getWinNum(min, max);
let guessLeft = 3;
// UI elements
const gameWrap = document.getElementById('game');
const minNum = document.querySelector('.min-num');
const maxNum = document.querySelector('.max-num');
const guessBTN = document.getElementById('guess-btn');
const guessInput = document.getElementById('guess-input');
const message = document.querySelector('.message');
// assing max and min
minNum.textContent = min;
maxNum.textContent = max;
function setMessage(text, color) {
message.style.color = color;
message.textContent = text;
guessInput.style.borderColor = color;
}
function gameOver(won, text) {
let color;
// won === true ? color = 'green' : color = 'red';
if (won === true) {
color = 'green';
} else {
color = 'red';
}
setMessage(text, color);
guessInput.disabled = true;
guessBTN.value = 'Play Again?';
guessBTN.className += 'play-again';
}
function someFunction() {
const guess = parseInt(guessInput.value, 0);
if (isNaN(guess) || guess < min || guess > max) {
setMessage(`Please set number between ${min} and ${max}`, 'red');
} else if (guess === winNumber) {
gameOver(true, 'WOW you win1');
} else {
guessLeft -= 1;
if (guessLeft === 0) {
gameOver(false, `Game over the correct number was ${winNumber}`);
} else {
guessInput.value = '';
setMessage(`${guess} is not correct, you have ${guessLeft} guess left! `, 'blue');
}
}
}
function rel(e) {
if (e.target.className === 'play-again') {
window.location.reload();
}
}
guessBTN.addEventListener('click', someFunction);
gameWrap.addEventListener('mousedown', rel);
https://github.com/STurbiarz/javascriptVaraibles