Цитата:
|
Моя твоя не понимать, друг.
Но, вот эмуляция того, что ты расписал.
// каждое число - кол-во вещей, которые положил пользователь.
var userItems = [60, 40];
// Получаем вещи, которые положил победитель
// Победил тот, кто положил больше.
var winner = Math.max.apply(null, userItems);
// получаем сумму всех вещей.
var items = userItems.reduce(function(a, b) {
return a + b;
});
// получаем 10% комиссии. (сумма всех вещей - вещи победителя) * 0.1
var commission = (items - winner) * 0.1;
alert(commission + '%');
|
Спасибо, а как добавить элемент рандомности. Ну вот может выиграь и второй игрок, но у него меньше шансов)
|
Не знаю я алгоритмов, но первое, что приходит в голову:
function rand(chance) {
var rnd = Math.round(Math.random() * 100);
return rnd + chance >= 100 ? true : false;
}
function getTheWinner(items) {
for (var i = 0; i < items.length; i++) {
if (rand(items[i])) {
return items[i];
}
}
return getTheWinner(items);
}
alert(getTheWinner([60, 40]));
|
Спасибо
|
Слегка изменил функцию getTheWinner, ибо она каждый раз проходила по всем элементам массива, даже если победитель был найден.
Учти, что шанс = кол-ву предметов. |
| Часовой пояс GMT +3, время: 04:49. |