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); }
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); }