private bool IsValidBet(BettingKind betKind) { int curStreakCount = 0; switch (betKind) { case BettingKind.Black: curStreakCount = Statistics.RedStreakCount; break; case BettingKind.Red: curStreakCount = Statistics.BlackStreakCount; break; case BettingKind.Odd: curStreakCount = Statistics.EvenStreakCount; break; case BettingKind.Even: curStreakCount = Statistics.OddStreakCount; break; case BettingKind.To18: curStreakCount = Statistics.From19StreakCount; break; case BettingKind.From19: curStreakCount = Statistics.To18StreakCount; break; default: return false; } return Settings.SingleStreakBettingSettings.StreakCounts.Any(cur => cur == curStreakCount); }
public BetViewModel(BettingKind betKind, int streakCount, int lastNumber, double amount, TimeSpan time) { BetKind = betKind; StreakCount = streakCount; LastNumber = lastNumber; Amount = amount; Time = time; Result = BetResultKind.None; }
private void GetStreakCount(BettingKind BettingKind, out int curStreakCount, out int maxStreakCount) { curStreakCount = 0; maxStreakCount = 0; switch (BettingKind) { case BettingKind.Black: curStreakCount = Statistics.RedStreakCount; maxStreakCount = Statistics.MaxRedStreakCount; break; case BettingKind.Red: curStreakCount = Statistics.BlackStreakCount; maxStreakCount = Statistics.MaxBlackStreakCount; break; case BettingKind.Odd: curStreakCount = Statistics.EvenStreakCount; maxStreakCount = Statistics.MaxEvenStreakCount; break; case BettingKind.Even: curStreakCount = Statistics.OddStreakCount; maxStreakCount = Statistics.MaxOddStreakCount; break; case BettingKind.To18: curStreakCount = Statistics.From19StreakCount; maxStreakCount = Statistics.MaxFrom19StreakCount; break; case BettingKind.From19: curStreakCount = Statistics.To18StreakCount; maxStreakCount = Statistics.MaxTo18StreakCount; break; case BettingKind.RedAltBlack: curStreakCount = Statistics.AlternatingRedBlackStreakCount; maxStreakCount = Statistics.MaxAlternatingRedBlackStreakCount; break; case BettingKind.EvenAltOdd: curStreakCount = Statistics.AlternatingOddEvenStreakCount; maxStreakCount = Statistics.MaxAlternatingOddEvenStreakCount; break; case BettingKind.To18AltFrom19: curStreakCount = Statistics.Alternating1818StreakCount; maxStreakCount = Statistics.MaxAlternating1818StreakCount; break; default: return; } }
private BetViewModel PlaceBet(BettingKind betKind, RouletteButtonKind betButtonKind, int streakCount, double amount = 0) { //TODO select correct bet amount button (when auto adjust is enabled) if (!Settings.IsBettingEnabled) return null; if (amount == 0) amount = Settings.DefaultBet.Amount.Value; if (amount < Settings.MinBetAmount) amount = Settings.MinBetAmount; else if (amount > Settings.MaxBetAmount) amount = Settings.MaxBetAmount; if (!Settings.IsSimulationMode) { RouletteBoardHelper.SetBet(Settings.DefaultBet); int betClicksToAmount = 1; if (amount > 0) betClicksToAmount = (int)(amount / Settings.DefaultBet.Amount.Value); for (int i = 0; i < betClicksToAmount; i++) { RouletteBoardHelper.ClickButton(betButtonKind); } } //int curStreakCount = GetOppositeStreakCount(betKind); double betAmount = amount == 0 ? Settings.DefaultBet.Amount.Value : amount; BetViewModel newBet = new BetViewModel(betKind, streakCount, Statistics.LastNumber.Value, betAmount, ApplicationViewModel.Instance.Session.ElapsedTime); Statistics.AddBetToHistory(newBet); return newBet; }
/// <summary> /// Place a single bet. /// </summary> /// <param name="amount">Amount to place. 0 for DefaultBet.</param> protected BetViewModel PlaceBet(BettingKind betKind, int streakCount = 0, double amount = 0) { RouletteButtonKind? betButton = null; switch (betKind) { case BettingKind.To18: betButton = RouletteButtonKind.To18; break; case BettingKind.From19: betButton = RouletteButtonKind.From19; break; case BettingKind.Even: betButton = RouletteButtonKind.Even; break; case BettingKind.Odd: betButton = RouletteButtonKind.Odd; break; case BettingKind.Red: betButton = RouletteButtonKind.Red; break; case BettingKind.Black: betButton = RouletteButtonKind.Black; break; case BettingKind.To18AltFrom19: { bool lastWasTo18 = RouletteHelper.IsNumberOfType(Statistics.LastNumber.Value, NumberKind.To18); if (lastWasTo18) betButton = RouletteButtonKind.To18; else betButton = RouletteButtonKind.From19; } break; case BettingKind.EvenAltOdd: { bool lastWasEven = RouletteHelper.IsNumberOfType(Statistics.LastNumber.Value, NumberKind.Even); if (lastWasEven) betButton = RouletteButtonKind.Even; else betButton = RouletteButtonKind.Odd; } break; case BettingKind.RedAltBlack: { bool lastWasRed = RouletteHelper.IsNumberOfType(Statistics.LastNumber.Value, NumberKind.Red); if (lastWasRed) betButton = RouletteButtonKind.Red; else betButton = RouletteButtonKind.Black; } break; default: return null; } return PlaceBet(betKind, betButton.Value, streakCount, amount); }
private bool IsValidBet(BettingKind BettingKind) { int curStreakCount; int maxStreakCount; GetStreakCount(BettingKind, out curStreakCount, out maxStreakCount); int maxBettingStreakCount = Settings.MaxBettingStreakCount; if (Settings.AutoAdjustBettingStreakCount && maxStreakCount > maxBettingStreakCount) maxBettingStreakCount = maxStreakCount; int minBettingOffset = Settings.MaxBettingStreakCount - Settings.MinBettingStreakCount; int minBettingStreakCount = maxBettingStreakCount - minBettingOffset; return curStreakCount >= minBettingStreakCount && curStreakCount <= maxBettingStreakCount; }