2016-10-03 10 views
0

Я создаю агент на основе другого кода. Исходный агент находится в обрабатываемом блоке задержки, и я хочу создать копии, где только идентификатор будет изменен и выполнить метод в блоке Enter.Итерация по параметрам агента

Чтобы скопировать информацию из исходного агента я не могу показаться, чтобы найти лучший способ, чем указать каждый параметр в:

newAgent.color = original.color; 
newAgent.component = original.component; 
newAgent.geometry = original.geometry; 
... 
newAgent.LastParameter = original.LastParameter; 

и так далее.

Есть ли способ перебрать параметры агента, чтобы улучшить это действие?

Спасибо заранее, Luís

ответ

0

мне удалось решить мою проблему, и я отправляю ответ, как другие люди могут столкнуться в будущем. Это просто, что я уже пробовал, но с проблемой литья типа.

Структура кода выглядит следующим образом:

add_myAgents(); 
for(String p : agent.getParameterNames()) 
{ 
    myAgents.get(myAgents.size()-1).setParameter(p, agent.getParameter(p), true); 
} 
enter.take(myAgents.get(myAgents.size()-1)); 

Я обнаружил, что использование myAgent prod = new MyAgent() не работает. Дубликат должен быть вставлен в популяцию, поэтому я создал совершенно пустую популяцию под названием myAgents и там, где я добавляю дубликат.

 Смежные вопросы

  • Нет связанных вопросов^_^