private AgentModel[] RunAgents(AgentModel[] agentModels) { var agents = new List <Agent>(NumberOfAgents); foreach (var agentModel in agentModels) { //Create the agent var agent = new Agent(agentModel, _instructionFactory); agents.Add(agent); } var worldSize = new Size(WorldWidth, WorldHeight); var foodLocation = new Rect(new Point(FoodX, FoodY), new Size(FoodSize, FoodSize)); //Create the world viewmodel var world = new WorldViewModel(agents, worldSize, foodLocation); for (int i = 0; i < NumberOfCycles; i++) { //IterationNumber = i; world.Cycle(); } var lived = world.Agents .Where(a => !a.IsDead) .Select(a => a.GetModel()) .ToArray(); return(lived); }
public AgentViewModel(WorldViewModel world, Agent agent, Point location) { Location = location; _world = world; _agent = agent; }