В вашем первом блоке кода, где вы запускаете каждый метод в цикле for, вы должны запустить questionArray[i].updateScore()
вместо questionArray[i].checkAnswer()
.На данный момент вы используете checkAnswer()
, который получает ответ от пользователя и проверяет, является ли он правильным.Но если после этого вы планируете вызывать updateScore()
, я полагаю, что вы в конечном итоге снова выполните checkAnswer()
в условии оператора if, и, таким образом, снова получите ответ от пользователя, не имея смысла.Запустив всего updateScore()
, вы соберете ответ и обновите счет.Я не уверен, что ты уже знал это, но я подумал, что дам тебе знать на всякий случай.
Что касается вашего первоначального вопроса, вы можете попробовать это: Создайте логическую переменную экземпляра для вашего класса Question (инициализированный в false), который будет установлен в true, если их ответ был правильным.Таким образом, вы можете перебрать свой questionArray
и просто проверить, был ли их ответ правильным или нет.Если на него был дан правильный ответ, то добавьте вопрос pointValue
к общему количеству баллов.
Надеюсь, я понял ваш вопрос и надеюсь, что это поможет,
Тайлер