Как наградить сумму массиву игрока в игре Bank - Player (nodejs-javascript) - PullRequest
0 голосов
/ 05 июня 2019

У меня простая игра, у игрока будет 2 стороны для увеличения суммы, в конце игры победитель получит 1 сторону. Конечно, победитель получит сумму, которую он поставил (не все) <= У меня здесь проблема, игровой скрипт (используйте код nodejs, javascript) </p>

  • Сторона A: [{id: 123, amount: "200", timebet: 11}, {id: 124, amount: "220", timebet: 12}, {id: 125, amount: "300", timebet: 13 }]
  • Сторона B: [{id: 555, amount: "100", timebet: 22}, {id: 556, amount: "200", timebet: 23}, {id: 557, amount: "250", timebet: 24 }]

Конец игры:

  • Победа, B проигрыш
  • Всего ставка: 720
  • Общая ставка B: 550

Вознаграждение игрока A = 550 (общая ставка B), Cashback игрока A = 170

  • Результат вознаграждение = [{id: 123, amount: "200"}, {id: 124, amount: "220"}, {id: 125, amount: "130" }]

  • Результат кешбэка A = [{id: 125, amount: "170"}]

Я много размышлял, но не смог найти решение для определения вознаграждения в списке и возврата игрока в список (вознаграждение по ставке на время сортировки, любой, кто сделал ставку первым, получает вознаграждение заранее). Кто может мне помочь (извините за мой английский)

1 Ответ

0 голосов
/ 05 июня 2019

Я не уверен, что понимаю ваш вопрос, но постараюсь.

Если вы сначала объедините свои массивы:

const merged = [...sideA, ...sideB];

тогда вы можете отсортировать его по расписанию:

merged.sort((a,b) => a.timebet - b.timebet)

Затем у вас есть список, в котором первый элемент является первой ставкой и т. Д.

Теперь вы можете делать с ней все, что захотите:

merged.forEach(bet => PayCashOut(bet););

Иначе, пожалуйста, добавьте немного больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...