Хочется сделать игрового бота, но как-то не получается. Мне нужно сделать так, что бы при написании команды бот отправлял определенное сообщение с шансом. Допустим у нас есть 4 предмета:
1 предмет с шансом 30 %
2 предмет с шансом 40 %
3 предмет с шансом 50 %
4 предмет с шансом 60 %
Бот должен отправить сообщение в соответствии шансу. Искал уже вопрос по данной теме и нашёл код :
const items = [
{
name: 'Apple',
dropChance: 0.7
},
{
name: 'Knife',
dropChance: 0.25
},
{
name: 'Spoon',
dropChance: 0.25
},
{
name: 'Ice Cream',
dropChance: 0.1
}
];
const lerp = (min, max, value) => ((1 - value) * min + value * max);
const drop = items => {
const total = items.reduce((accumulator, item) => (accumulator += item.dropChance), 0);
const chance = lerp(0, total, Math.random());
let current = 0;
for (const item of items) {
if (current <= chance && chance < current + item.dropChance) {
return item;
}
current += item.dropChance;
}
};