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(); }
private void EvaluateIfSpinActionCanBePerformed(DataModelStateInfo modelInfo) { if (modelInfo.CurrentBet != 0 && modelInfo.ActualBetNumbers.Count == 3) { view.SwitchView_ReadyToSpin_SubState(true); } else { view.SwitchView_ReadyToSpin_SubState(false); } }
private void EvaluateIfBetNumbersCanBeAdded(DataModelStateInfo modelInfo) { if (modelInfo.ActualBetNumbers.Count == 3) { view.SetViewTo_BetNumbersAreaLocked_SubState(modelInfo.ActualBetNumbers); } else { view.SetViewTo_BetNumbersAreaUnLocked_SubState(); } }
// 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"; }