Coderslang_Master
cпасибо с 4 решил
осталось 3 ( Покупка нового производителя должна изменить скорость производства в соответствии с текущим tickSpeed. Подсказка: оно должен стать меньше.)
вроде все верно
мне кажется ошибка вот здесь const productionRate = state.producers[i].baseProduction / state.tickSpeed;
но не могу понять именно что не так
handlers.js
import { updateGold, checkInitCompleted, updateProducerList, formatNumber } from "./functions.js";
export const handleKeyPress = (term, state) => (name, matches, data) => {
if (String.fromCharCode(data.code) === "g" || String.fromCharCode(data.code) === "G") {
state.gold++;
}
let i=0
for (const obj of state.producers)
{
if (String.fromCharCode(data.code) == obj.id && state.gold >= obj.cost) {
state.gold -= obj.cost;
obj.cost *= obj.growthRate;
obj.count++;
const productionRate = state.producers[i].baseProduction / 1000 * state.tickSpeed; ;
state.productionRate = state.productionRate + productionRate;
state.isProducerListUpdated = false;
i++;
}
}
for (const obj of state.producers) {
if (obj.count > 0 && state.isProducerListUpdated === false)
{
term.moveTo(25, 3);
const speed = state.productionRate * 1000 / state.tickSpeed;
term.green(formatNumber(speed));
}
}
if (state.isProducerListUpdated == false)
updateProducerList(term, state)
if (!state.isInitCompleted && state.gold >= 10)
checkInitCompleted(term, state)
}
export const handleStateChange = (term, state) => {
return () => {
updateGold(term, state)
state.gold += state.productionRate
}
}