Actualmente estoy trabajando en un cuestionario en línea usando JavaScript, HTML y CSS. Estoy bastante contento hasta ahora, pero tengo un problema al intentar agregar una puntuación de usuario al juego. Estoy buscando que el puntaje aumente, ponga 5 puntos por cada pregunta para la que el usuario obtenga una respuesta correcta. He intentado algunas formas diferentes de hacerlo, pero parece que sigo apareciendo con el mismo problema, el puntaje no aumenta. Este es mi último intento, ¿alguien puede darme un consejo, por favor?
const scorePanelElement = document.getElementById('score-panel'); const userScoreElement = document.getElementById('user-score'); const scoreCounterElemet = document.getElementById('score-counter'); const questionCounterElement = document.getElementById('question-counter'); document.addEventListener("DOMContentLoaded", startButton) let shuffledQuestions, currentQuestionIndex; let questionCounter = 1; let scoreCounter = 5; let score = 5; let selectedAnswer; let maxQuestions = 10; startButton.addEventListener("click", startGame) nextButtonElement.addEventListener('click', () => { currentQuestionIndex++ nextQuestion() userScore() }) console.log(questions) function startGame() { console.log('StartGame'); startButton.classList.add('hidden'); shuffledQuestions = questions.sort(() => Math.random() - .5); currentQuestionIndex = 0; questionPanelElement.classList.remove('hidden'); questionCounter = 0; scoreCounter = 0; callQuestions(); } function checkAnswer(e) { selectedAnswer = e.target const correct = selectedAnswer.dataset.correct; Array.from(answerButtonsElement.children).forEach(button => { answerChoice(button, button.dataset.correct); }) if (shuffledQuestions.length > currentQuestionIndex + 1) { callQuestions; } else { nextButtonElement.classList.add('hidden'); questionPanelElement.classList.add('hidden'); usernameElement.classList.remove('hidden'); } answerChoice; } function userScore() { if (selectedAnswer === 'correct') { scoreCounter++; scoreCounterElemet.innerText = + score; } console.log('Increase Score') }```Creo que el problema aquí podría ser
function userScore() { if (selectedAnswer === 'correct') { // increases scoreCounter by one scoreCounter++; // sets the element text into something that doesn't really make sense scoreCounterElemet.innerText = + score; } console.log('Increase Score') }En su lugar, intente algo como esto
function userScore() { if (selectedAnswer === 'correct') { scoreCounter = scoreCounter + 5; // increases scoreCounter by 5 // sets the element text to the current score scoreCounterElemet.innerText = scoreCounter; } console.log('Increase Score') }