Untitled

 avatar
unknown
plain_text
9 months ago
804 B
10
Indexable
function calculateRouletteWin(bets, winningNumber) {
  // Payout mapping
  const payoutRates = {
    STRAIGHT_UP: 35,
    SPLIT: 17,
    STREET: 11,
    CORNER: 8,
    DOUBLE_STREET: 5
  };

  let totalWin = 0;
  const winDetails = [];

  bets.forEach(bet => {
    const numbers = bet.numbers.split('-').map(n => n.trim());
    const amount = Number(bet.amount);
    const type = bet.type;

    if (numbers.includes(String(winningNumber))) {
      const payout = amount * (payoutRates[type] ?? 0);
      totalWin += payout;
      winDetails.push({
        ...bet,
        payout,
        result: 'win'
      });
    } else {
      winDetails.push({
        ...bet,
        payout: 0,
        result: 'lose'
      });
    }
  });

  return { totalWin, winDetails };
}
Editor is loading...
Leave a Comment