Example #1
0
        public void Play()
        {
            int nDecision = 0;
            OutcomesBaccaratCoup result = OutcomesBaccaratCoup.None;

            aResultBaccaratShoe = new ResultBaccaratShoe();

            while (true)
            {
                result = PlayACoup();
                if (OutcomesBaccaratCoup.End == result)
                {
                    break;
                }

                if (OutcomesBaccaratCoup.None == result)
                {
                    continue;
                }

                aResultBaccaratCoup.IndexDecision = ++nDecision;
                aResultBaccaratCoup.OutcomeCoup   = result;

                Results.Add(aResultBaccaratCoup);
                aResultBaccaratCoup = new ResultBaccaratCoup();
            }
        }
Example #2
0
        private OutcomesBaccaratCoup StrategyCore_RepeatN(int i, List <ResultBaccaratCoup> results, ScoreBaccarat scoreShoe, decimal sessionTotalScore, BetProgressionCore betProgression, MoneyManagementShoe mmShoe, MoneyManagementBankroll mmBankroll)
        {
            if (i < CustomRepeat_Length)
            {
                return(OutcomesBaccaratCoup.Continue);
            }

            OutcomesBaccaratCoup outcomeN = results[i - CustomRepeat_Length].OutcomeCoup;

            if (outcomeN == OutcomesBaccaratCoup.T)
            {
                return(OutcomesBaccaratCoup.Continue);
            }

            if (MoneyManager(scoreShoe.TotalScore, sessionTotalScore, betProgression, mmShoe, mmBankroll))
            {
                return(OutcomesBaccaratCoup.Break);
            }

            ResultBaccaratCoup result = results[i];

            OutcomesBaccaratCoup betPlacement = outcomeN;

            result.CoupBet.BetPlacement = betPlacement;
            result.CoupBet.UnitBet      = NextBet;

            OutcomesBaccaratCoup outcome = result.OutcomeCoup;

            if (betPlacement == outcome)
            {
                if (outcome == OutcomesBaccaratCoup.B)
                {
                    scoreShoe.ScoreBankerWin(NextBet);
                }
                else
                {
                    scoreShoe.ScorePlayerWin(NextBet);
                }

                result.OutcomeBet = OutcomesLastCoupBet.Win;
                LastBetResult     = OutcomesLastCoupBet.Win;
            }
            else
            {
                if (outcome == OutcomesBaccaratCoup.T)
                {
                    result.OutcomeBet = OutcomesLastCoupBet.Push;
                    LastBetResult     = OutcomesLastCoupBet.Push;
                }
                else
                {
                    scoreShoe.ScoreLoss(NextBet, betPlacement);

                    result.OutcomeBet = OutcomesLastCoupBet.Loss;
                    LastBetResult     = OutcomesLastCoupBet.Loss;
                }
            }

            return(betPlacement);
        }
Example #3
0
        private OutcomesBaccaratCoup StrategyCore_TieAlways(int i, List <ResultBaccaratCoup> results, ScoreBaccarat scoreShoe, decimal sessionTotalScore, BetProgressionCore betProgression, MoneyManagementShoe mmShoe, MoneyManagementBankroll mmBankroll)
        {
            if (MoneyManager(scoreShoe.TotalScore, sessionTotalScore, betProgression, mmShoe, mmBankroll))
            {
                return(OutcomesBaccaratCoup.Break);
            }

            ResultBaccaratCoup result = results[i];

            OutcomesBaccaratCoup betPlacement = OutcomesBaccaratCoup.T;

            result.CoupBet.BetPlacement = betPlacement;
            result.CoupBet.UnitBet      = NextBet;

            OutcomesBaccaratCoup outcome = result.OutcomeCoup;

            if (outcome == OutcomesBaccaratCoup.T)
            {
                scoreShoe.ScoreTieWin(NextBet);

                result.OutcomeBet = OutcomesLastCoupBet.Win;
                LastBetResult     = OutcomesLastCoupBet.Win;
            }
            else
            {
                scoreShoe.ScoreLoss(NextBet, betPlacement);

                result.OutcomeBet = OutcomesLastCoupBet.Loss;
                LastBetResult     = OutcomesLastCoupBet.Loss;
            }

            return(betPlacement);
        }
Example #4
0
        public GameBaccarat()
        {
            Results             = new List <ResultBaccaratCoup>();
            aResultBaccaratCoup = new ResultBaccaratCoup();
            aResultBaccaratShoe = new ResultBaccaratShoe();

            IncludeTies = true;
        }
Example #5
0
        private OutcomesBaccaratCoup StrategyCore_None(int i, List <ResultBaccaratCoup> results, ScoreBaccarat scoreShoe, decimal sessionTotalScore, BetProgressionCore betProgression, MoneyManagementShoe mmShoe, MoneyManagementBankroll mmBankroll)
        {
            if (MoneyManager(scoreShoe.TotalScore, sessionTotalScore, betProgression, mmShoe, mmBankroll))
            {
                return(OutcomesBaccaratCoup.Break);
            }

            ResultBaccaratCoup result = results[i];

            OutcomesBaccaratCoup betPlacement = OutcomesBaccaratCoup.None;

            result.CoupBet.BetPlacement = betPlacement;
            result.CoupBet.UnitBet      = NextBet;

            return(betPlacement);
        }
Example #6
0
        private OutcomesBaccaratCoup StrategyCore_Follow(int i, List <ResultBaccaratCoup> results, ScoreBaccarat scoreShoe, decimal sessionTotalScore, BetProgressionCore betProgression, MoneyManagementShoe mmShoe, MoneyManagementBankroll mmBankroll)
        {
            if (i < Follow_Length)
            {
                Follow_BetPlacement = OutcomesBaccaratCoup.None;
                return(OutcomesBaccaratCoup.Continue);
            }

            int j = 1;
            OutcomesBaccaratCoup lastOutcome = results[i - j].OutcomeCoup;

            for (; j < Follow_Length; j++)
            {
                if (results[i - j - 1].OutcomeCoup != lastOutcome)
                {
                    break;
                }
            }

            if (j == Follow_Length)
            {
                if (lastOutcome != OutcomesBaccaratCoup.T)
                {
                    Follow_BetPlacement = lastOutcome;
                }
            }

            if (Follow_BetPlacement != OutcomesBaccaratCoup.None)
            {
                if (MoneyManager(scoreShoe.TotalScore, sessionTotalScore, betProgression, mmShoe, mmBankroll))
                {
                    return(OutcomesBaccaratCoup.Break);
                }

                ResultBaccaratCoup result = results[i];

                OutcomesBaccaratCoup betPlacement = Follow_BetPlacement;

                result.CoupBet.BetPlacement = betPlacement;
                result.CoupBet.UnitBet      = NextBet;

                OutcomesBaccaratCoup outcome = result.OutcomeCoup;

                if (outcome == betPlacement)
                {
                    if (outcome == OutcomesBaccaratCoup.B)
                    {
                        scoreShoe.ScoreBankerWin(NextBet);
                    }
                    else if (outcome == OutcomesBaccaratCoup.P)
                    {
                        scoreShoe.ScorePlayerWin(NextBet);
                    }
                    else if (outcome == OutcomesBaccaratCoup.T)
                    {
                        scoreShoe.ScoreTieWin(NextBet);
                    }

                    result.OutcomeBet = OutcomesLastCoupBet.Win;
                    LastBetResult     = result.OutcomeBet;
                }
                else
                {
                    if (outcome == OutcomesBaccaratCoup.T)
                    {
                        if (CustomPattern_BetPlacement != OutcomesBaccaratCoup.T)
                        {
                            result.OutcomeBet = OutcomesLastCoupBet.Push;
                            LastBetResult     = result.OutcomeBet;
                        }
                    }
                    else
                    {
                        scoreShoe.ScoreLoss(NextBet, betPlacement);

                        result.OutcomeBet = OutcomesLastCoupBet.Loss;
                        LastBetResult     = result.OutcomeBet;
                    }
                }
            }

            return(Follow_BetPlacement);
        }