Финальная задача экзамена не принимает мой код. В последнем этапе мы меняем скорость обновления чисел с 1000 мс на 100 мс, при этом у нас автоматически в 10 раз быстрее начинают копать золото автоматические добытчики. Моё решение проблемы: умножить копаемое добытчиками золото на соотношение tick к 1 с — в итоге за секунду добытчики копают 10 раз, но каждый раз в 10 раз меньше, чем изначально — за секунду копают то же значение, что и раньше. Задача такое решение не принимает.
Прикладываю кусок кода функции updateGold из functions.js:
export const updateGold = (term, state) => {
state.gold = state.gold + (state.productionRate * (state.tickSpeed / 1000));
term.moveTo(25,2);
term.eraseLineAfter();
term.bold.yellow(formatNumber(state.gold));
};
tickSpeed задаем в конфиге:
export const config = { gold : 0, producers, productionRate : 0, isInitCompleted: false, isProducerListUpdated: true, tickSpeed: 100};
Код, который вызывает обновление экрана и количества золота:
setInterval(handleStateChange(term, state), Number(state.tickSpeed));
export const handleStateChange = (term, state) => () => {
updateGold(term,state);
};
Судя по результату, все требования выполнены. Что не так? Может условие для выполнения задачи требует чего-то другого?