public List <IAgent> CreateAgents(IGraph graph) { int numOfAgents; do { Console.WriteLine("Please specify: <numOfAgents>"); } while (!int.TryParse(Console.ReadLine(), out numOfAgents)); Console.WriteLine(factory.MapToString()); Console.WriteLine("Please specify: <agentType>;<vertexId> (also add ';<initialDelay>' for vandal agents or ';<maximumExpands> for RTA* agents)"); var agents = new List <IAgent>(); for (var agentId = 0; agentId < numOfAgents;) { var parts = Console.ReadLine()?.Split(';'); var optional = 0; if (parts == null || parts.Length < 2 || !int.TryParse(parts[0], out var agentType) || !int.TryParse(parts[1], out var vertexId) || ((agentType == 2 || agentType == 5) && parts.Length > 2 && !int.TryParse(parts[2], out optional))) { Console.WriteLine("Wrong parameters."); continue; } var agent = factory.CreateAgent(agentType, vertexId, optional); agents.Add(agent); agentId++; } return(agents); }
protected override InvestAgent getFallBackAgent() { if (_fallBackAgent == null) { AgentsFactory factory = new AgentsFactory(); _fallBackAgent = factory.CreateAgent(ConfigurationManager.AppSettings["RegressionFallBackAgent"], _gm, _comm, _isTrain); } return(_fallBackAgent); }