public void LoadAndReplay()
		{
			var dir = new DirectoryInfo(@"C:\Code\AIGames.Challenger\games\texas-hold-em");

			var bot = new ACDCBot();
			bot.Actor.Nodes.Clear();

			foreach (var file in dir.GetFiles("*.log"))
			{
				using (var platform = new ConsolePlatformTester(file))
				{
					platform.DoRun(bot);
				}
			}
			var nodes = new List<Node>(bot.Actor.Nodes);
			nodes.Sort();
			nodes.Save(new FileInfo(@"C:\temp\data.bin"));
			using (var writer = new StreamWriter(@"C:\temp\data.log"))
			{
				foreach (var node in nodes)
				{
					writer.WriteLine(node);
				}
			}
		}
        private static ACDCBot GetBot(NeuralNetwork <ActionOption> network, PlayerName name, MT19937Generator rnd)
        {
            var bot = new ACDCBot(network, rnd)
            {
                Settings = new Settings()
                {
                    YourBot = name,
                },
            };

            return(bot);
        }
        public void GetP_Range_AreEqual()
        {
            var state = new GameState();

            var tests = new int[] { 60, 100, 300, 400, 1000, 1800, 1900, 2000, 2100, 3000, 19 };

            var exp = new double[] { 0.0228, 0.0251, 0.0398, 0.0495, 0.1513, 0.4183, 0.4589, 0.5, 0.5411, 0.8487, 0 };

            for (var i = 0; i < tests.Length; i++)
            {
                var z = Math.Round(ACDCBot.GetP(tests[i], state), 4);

                Console.WriteLine(z);

                Assert.AreEqual(exp[i], z, "GetZ({0}) should lead to {1}.", tests[i], exp[i]);
            }
        }
		private static ACDCBot GetBot(NodeCollection nodes, PlayerName name, MT19937Generator rnd)
		{
			var bot = new ACDCBot(nodes, rnd)
			{
				Settings = new Settings()
				{
					YourBot = name,
				},
			};
			return bot;
		}