Exemplo n.º 1
0
        private static void LearnFromExe(string[] args)
        {
            TyDebug.LogInfo("Executable Learn");

            var enemy = TycheAgent.GetTrainingAgent(0.0f, false);

            TyLearnSetup learnSetup = new TyLearnSetup();

            learnSetup.Rounds          = 50;
            learnSetup.MatchesPerRound = 1;

            Dictionary <string, string> keyValues = new Dictionary <string, string>();

            char[] split = { '=' };

            for (int i = 0; i < args.Length; i++)
            {
                var keyValuePair = args[i].Split(split, StringSplitOptions.RemoveEmptyEntries);

                if (keyValuePair.Length == 2)
                {
                    keyValues.Add(keyValuePair[0], keyValuePair[1]);
                }
                else
                {
                    TyDebug.LogError("Arg '" + args[i] + "' is not allowed");
                }
            }


            var deck0Value = DeckFu.All.ToString();

            keyValues.TryGetValue("deck0", out deck0Value);

            var deck1Value = DeckFu.All.ToString();

            keyValues.TryGetValue("deck1", out deck1Value);

            int generations = TryGetIntValue(keyValues, "gens", 20);

            var myDeck  = DeckFromEnumString(deck0Value);
            var hisDeck = DeckFromEnumString(deck1Value);

            learnSetup.Clear();
            learnSetup.Run(generations, myDeck, hisDeck, enemy);
        }
Exemplo n.º 2
0
        private static void DebugLearn()
        {
            TyDebug.LogInfo("Debug Learn");
            var enemy = new BotB.BotB();

            TyLearnSetup learnSetup = new TyLearnSetup();

            learnSetup.Rounds          = 1;
            learnSetup.MatchesPerRound = 1;

            const int GENERATIONS = 20;

            learnSetup.Clear();
            learnSetup.Run(GENERATIONS, DeckFromEnum(DeckFu.Mage), DeckFromEnum(DeckFu.Mage), enemy);

            learnSetup.Clear();
            learnSetup.Run(GENERATIONS, DeckFromEnum(DeckFu.Warrior), DeckFromEnum(DeckFu.Warrior), enemy);

            learnSetup.Clear();
            learnSetup.Run(GENERATIONS, DeckFromEnum(DeckFu.Shaman), DeckFromEnum(DeckFu.Shaman), enemy);
        }