Как я могу уменьшить количество блоков источника, которые я использую? - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть образец из таблицы «В», который показывает, сколько агентов должно переместиться с конвейеров (левая колонна) на свои станции (буксируемая строка) за 1 час.Я буду использовать этот лист в качестве базы данных, к которой может обратиться моя модель.

В настоящее время у меня есть 3 источника для каждого голубого, красного и липового конвейеров с 3 отдельными событиями, вызывающими эти источники для создания постоянного числаагенты в соответствии с таблицей.Возьмем, к примеру, синийКонвейер, будет сгенерировано 6 синих юнитов (1 идет на синюю станцию. 3 идет на красную станцию ​​и 2 идет на известковую станцию).

sample From to Table

Если бы я масштабировал свою таблицу до 30x30, мне потребовалось бы 30 блоков исходного кода и 30 событий, которые будут довольно грязными.Может быть, есть лучший способ?

1 Ответ

0 голосов
/ 08 декабря 2018

Здесь слишком много вещей, которые вы должны сделать, чтобы достичь своей цели:

1) создать группу агентов, называемых транспортерами, загруженными из вашей базы данных.У каждого агента будут параметры blue, red, lime и его имя (например, blueConveyor)

2) у каждого объекта agentAgent будет совокупность источников, равная количеству столбцов скорости в вашей таблице (3 в данном случае длясиний, красный и салатовый) (я предполагаю, что ваше число строк всегда равно количеству столбцов) source populaiton

3) создать коллекцию событий ...Самый простой способ сделать это - создать еще одну группу агентов в вашем конвейерном агенте. Каждый из них будет иметь четное число, которое будет контролировать рассматриваемый источник и будет иметь следующее действие:

conveyorAgent.source.get(getIndex()).inject(1); 

ЗАКЛЮЧЕНИЕ
Все это лишь руководство о том, как это сделать ... Я не привожу все детали, но этого должно быть достаточно, чтобы начать работу с

...