예제 #1
0
파일: Program.cs 프로젝트: tansey/blackjack
        private static BlackjackSettings LoadSettingsFromFile(string file)
        {
            BlackjackSettings settings = null;
            XmlSerializer     ser      = new XmlSerializer(typeof(BlackjackSettings));

            using (TextReader writer = new StreamReader(file))
                settings = (BlackjackSettings)ser.Deserialize(writer);
            return(settings);
        }
예제 #2
0
        static void Main(string[] args)
        {
            //BlackjackSettings settings = SaveDefaultSettings();
            BlackjackSettings settings = LoadSettingsFromFile("settings.xml");
            BlackjackGame     game     = new BlackjackGame(settings);

            //ConsoleBlackjackPlayer player = new ConsoleBlackjackPlayer() { Game = game };
            var handsToPlay = 100000000L;
            var player      = new BasicStrategyPlayer(handsToPlay);

            game.Play(new [] { player });
            Console.WriteLine("Profit: {0}%", Math.Round((player.Profit / settings.MinimumBet / (decimal)handsToPlay) * 100m, 2));
        }
예제 #3
0
파일: Program.cs 프로젝트: tansey/blackjack
        static void Main(string[] args)
        {
            BlackjackSettings settings = LoadSettingsFromFile("settings.xml");
            BlackjackGame     game     = new BlackjackGame(settings);

            var handsToPlay = 100000000L;

            //BasicStrategyPlayer basic = new BasicStrategyPlayer(handsToPlay);
            //var table = ActionTable.FromStrategy(basic);

            //var player = basic;
            //var player = new ConsoleBlackjackPlayer() { Game = game };
            //var player = new WizardSimpleStrategy(handsToPlay);
            //var player = new ActionTablePlayer(table, handsToPlay) { Print = true };
            var player = new SimpleFiveCountPlayer(handsToPlay);

            game.Play(new [] { player });
            Console.WriteLine("Profit: {0:N2}%",
                              player.Profit / settings.MinimumBet / (decimal)handsToPlay * 100m);
        }
예제 #4
0
파일: Program.cs 프로젝트: tansey/blackjack
        private static BlackjackSettings SaveDefaultSettings()
        {
            BlackjackSettings settings = new BlackjackSettings()
            {
                DecksPerShoe = 8,
                MinCardsDealtBeforeReshuffle = 230,

                MinimumBet = 5,
                MaximumBet = 200,

                DealerHardStandThreshold = 17,
                DealerSoftStandThreshold = 18,

                BlackjackPayoff = 2.5m,

                InsuranceOffered = true,
                InsuranceCost    = 1m,
                InsurancePayoff  = 2m,

                ResplitAcesAllowed = true,
                SplitTensAllowed   = true,

                HittingSplitAcesAllowed = true,

                DoubleDownOnlyTenOrEleven     = false,
                SoftDoubleDownAllowed         = true,
                DoubleDownNonAceSplitsAllowed = true,
                DoubleDownSplitAcesAllowed    = false,

                SurrenderAllowed = true,
                SurrenderPayoff  = 0.5m
            };
            XmlSerializer ser = new XmlSerializer(typeof(BlackjackSettings));

            using (TextWriter writer = new StreamWriter("settings.xml"))
                ser.Serialize(writer, settings);
            return(settings);
        }