const attack = document.querySelector('.attack');
const force = document.querySelector('.force');
const damage = {
one: force.value,
all: 0
}
force.addEventListener('input', ({target}) => damage.one = target.value);
attack.addEventListener('click', onDamage);
function onDamage() {
damage.all += parseInt(damage.one);
console.log(`%c Урон равен: ${damage.one} ед.`, 'color: red');
console.log(`%c Всего получено урона: ${damage.all}`, 'color: blue');
}
const monster = document.querySelector('#monster progress');
const button = document.querySelector('.btn');
function onDamage(init) {
const user = 0;
const hit = user ? user : randDamage();
return [hit, allDamage(hit)];
}
function allDamage(hit) {
const actual = monster.value - hit;
return monster.max - actual;
}
function randDamage() {
const random = Math.random() * (5 - 1 + 1) + 1;
return Math.floor( random );
}
1. Функция принимает один аргумент init, это значение инициализации.
Например при первом старте, если не было нанесено урона то оно равно 0.
2. Функция должна возвращать массив, который состоит из двух элементов.
2.1. Первый элемент массива это актуальный урон(он накопительный). Далее
я буду называть этот элемент - (D).
2.2. Второй элемент - функция с одним аргументов. Данная функция
принимает на вход значение наносимого урона. Данный урон должен
увеличивать значение (D). Клиент может менять значение (D),
при взаимодействии с этой функцией.
Пример взаимодействия с данной функцией смотри в функции main.
Я также добавил обработчик на кнопку "Attack". При нажатии на кнопку
мы увидем в консоли сообщение: "Player deal damage: <значение урона>"
Посмотри внимательно на то как клиент взаимодействует с этой функцией.
*/
function onDamage(init) {
throw new Error("onDamage func not implemented");
}
function main() {
try {
const [damage, addDamage] = onDamage(0);
const btn = document.querySelector(".btn");
btn.addEventListener("click", (evt) => {
const playerDamage = 10;
addDamage(playerDamage);
console.log("Player deal damage:", damage.value);
});
} catch (error) {
console.error(error);
}
}
main();