예제 #1
0
        // ----------------------

        public RouletteType(string MachineName, decimal MachineStake)

        {
            ID      = 0;
            Name    = MachineName;
            stake   = MachineStake;
            Fields  = new List <SelectableField>();
            Results = new HashSet <TestResult>();
            for (int i = 1; i <= 63; i++)
            {
                SelectableField field = new SelectableField();

                switch (i)
                {
                case int n when(n <= 30):
                    field.ID = i;

                    field.Color           = "Black";
                    field.stakeMultiplier = 2;

                    break;

                case int n when(n >= 31 && n <= 60):
                    field.ID = i;

                    field.Color           = "Red";
                    field.stakeMultiplier = 2;

                    break;

                case int n when(n > 60):
                    field.ID = i;

                    field.Color           = "White";
                    field.stakeMultiplier = 0.1M;

                    break;
                }

                Fields.Add(field);
            }
        }
예제 #2
0
        public void RunSingleTest()
        {
            Random randomizer = new Random();

            string selectedColour = randomizer.Next(1, 2) == 1 ? "Black" : "Red";

            int randomResult = randomizer.Next(1, Fields.Count());

            decimal runprofit = stake;

            SelectableField resultField = Fields.Where(x => x.ID == randomResult).First();

            if (resultField.Color == selectedColour || resultField.Color == "White")
            {
                runprofit -= (stake * resultField.stakeMultiplier);
            }

            Results.Add(new TestResult
            {
                testNum = Results.Count == 0 ? 1 : Results.Max(x => x.testNum) + 1,
                profit  = runprofit
            });
        }