public void PerformSpinResultsPresentation(DataModelStateInfo args)
        {
            Random byRandom = new Random();

            this.betNumbers   = args.ActualBetNumbers.ToArray();
            this.drawnNumbers = args.DrawResults.ToArray();
            this.matchings    = args.Matchings.ToArray();
            this.currentWin   = args.CurrentWin;
            this.score        = args.PlayerScore.GetValueOrDefault(0);

            this.counter          = 0;
            this.drumsSpinningMap = new bool[] { true, true, true, true, true, true };

            ThrowOnScreen(betNumbers, "Draw in process ...", true);

            for (int j = 0; j < 6; j++)
            {
                if (j == 0)
                {
                    drumsRanges[0] = new List <int> {
                        1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
                    };
                }
                else
                {
                    drumsRanges[j] = new List <int>(drumsRanges[j - 1].Except(new List <int>()
                    {
                        drawnNumbers[j - 1]
                    }));
                }

                drumsEnumerators[j] = drumsRanges[j].GetEnumerator();
                drumsEnumerators[j].MoveNext();
            }

            //  scrambling of drums starting points a little bit

            foreach (IEnumerator <int> enumerator in drumsEnumerators)
            {
                for (int i = 0; i < byRandom.Next(0, 26); i++)
                {
                    if (!enumerator.MoveNext())
                    {
                        enumerator.Reset();
                        enumerator.MoveNext();
                    }
                }
            }

            groupBox_BetArea.Enabled    = false;
            groupBox_BetNumbers.Enabled = false;
            groupBox_WalletArea.Enabled = false;

            button_Resign.Enabled     = false;
            button_Spin.Enabled       = false;
            timer_drawNumber.Interval = 1;
            timer_drawNumber.Start();
        }
Exemple #2
0
 private void EvaluateIfSpinActionCanBePerformed(DataModelStateInfo modelInfo)
 {
     if (modelInfo.CurrentBet != 0 && modelInfo.ActualBetNumbers.Count == 3)
     {
         view.SwitchView_ReadyToSpin_SubState(true);
     }
     else
     {
         view.SwitchView_ReadyToSpin_SubState(false);
     }
 }
Exemple #3
0
 private void EvaluateIfBetNumbersCanBeAdded(DataModelStateInfo modelInfo)
 {
     if (modelInfo.ActualBetNumbers.Count == 3)
     {
         view.SetViewTo_BetNumbersAreaLocked_SubState(modelInfo.ActualBetNumbers);
     }
     else
     {
         view.SetViewTo_BetNumbersAreaUnLocked_SubState();
     }
 }
Exemple #4
0
 // Auxiliary Methods
 // -> checks:
 private void EvaluateIfPlayerHasMoneyToPlay(DataModelStateInfo modelInfo)
 {
     if (modelInfo.CurrentBet == 0 && modelInfo.PlayerMoneyAmount == 0)
     {
         view.SwitchView_NoMoney_SubState(true);
     }
     else
     {
         view.SwitchView_NoMoney_SubState(false);
     }
 }
 public void UpdateModelView(DataModelStateInfo args)
 {
     label_PlayerNameLabel.Text = args.PlayerName;
     ThrowOnScreen(args.ActualBetNumbers.ToArray());
     textBox_WalletFunds.Text = args.PlayerMoneyAmount.GetValueOrDefault(0m).ToUsString();
     textBox_BetBox.Text      = args.CurrentBet.GetValueOrDefault(0m).ToUsString();
     // scroll bar 1 (characteristic) update
     trackBar_BetBar_Characteristic.Maximum = args.PlayerMoneyAmount.GetValueOrDefault(0.0m).SplitToCharacteristicAndMantissa()[0];
     trackBar_BetBar_Characteristic.Minimum = args.CurrentBet.GetValueOrDefault(0.0m).SplitToCharacteristicAndMantissa()[0] * -1;
     trackBar_BetBar_Characteristic.Value   = 0;
     // scroll bar 2 (mantissa) update
     trackBar_BetBar_Mantissa.Maximum = args.PlayerMoneyAmount.GetValueOrDefault(0.0m).SplitToCharacteristicAndMantissa()[1];
     trackBar_BetBar_Mantissa.Minimum = args.CurrentBet.GetValueOrDefault(0.0m).SplitToCharacteristicAndMantissa()[1] * -1;
     trackBar_BetBar_Mantissa.Value   = 0;
     label_BetAmount.Text             = "0";
 }