Beispiel #1
0
 private static string GetPocketIcon(RoulettePocketColor color)
 {
     return(color switch
     {
         RoulettePocketColor.Green => "🟩",
         RoulettePocketColor.Red => "🟥",
         RoulettePocketColor.Black => "⬛", //"🔳",
         _ => throw new Exception("Unknown color")
     });
Beispiel #2
0
        // GREEN
        // 0

        // REDS
        // 32, 19, 21, 25, 34, 27, 36, 30, 23,  5, 16,  1, 14,  9, 18,  7, 12,  3

        // BLACKS
        // 15,  4,  2, 17,  6, 13, 11,  8, 10, 24, 33, 20, 31, 22, 29, 28, 35, 26

        public static RouletteResult Next(ArcadeUser user, RouletteBetMode mode, long wager)
        {
            int index  = RandomProvider.Instance.Next(0, 37);
            int pocket = Pockets[index];
            RoulettePocketColor color = GetColor(index);
            bool isSuccess            = JudgeBet(mode, index);
            RouletteResultFlag flag   = isSuccess ? RouletteResultFlag.Win : RouletteResultFlag.Lose;
            float multiplier          = GetPayout(mode) + 1;
            long  reward = GetReward(wager, mode);

            return(new RouletteResult
            {
                Color = color,
                Index = index,
                Pocket = pocket,
                Mode = mode,
                Wager = wager,
                IsSuccess = isSuccess,
                Flag = flag,
                Multiplier = multiplier,
                Reward = reward
            });
        }