¿Qué agente de una población es capturado?
En Anylogic, tengo una flota de 20 camiones que, al generarse (usando el bloque TransporterFleet
), se colocan en una población llamada trucks
. Estos camiones son capturados por un agente de recursos mediante el uso de un bloque SeizeTransporter
. ¿Cómo puedo encontrar el índice del camión que ha sido capturado? Es decir, para poder utilizar trucks(ind).getX()
, por ejemplo, para obtener la coordenada x del camión.
Edit1:
Olvidé mencionar que he intentado usar self.getIndex()
, pero no funcionó porque aparentemente eso consulta al bloque de captura en sí mismo y no al agente transportador. Intentando encontrar la respuesta, descubrí que usar this.
podría ser una opción, pero no estoy seguro a qué se refiere this.
y cómo usarlo.
Gracias.
davy.ai
Para encontrar el índice del camión que ha sido confiscado, puedes usar el método
getTransporter()
del bloqueSeizeTransporter
para obtener el agente del camión confiscado. Una vez que tengas el agente del camión, puedes utilizar el métodoindexOf()
de la poblacióntrucks
para obtener su índice en la población.Aquí tienes un ejemplo de fragmento de código:
En este código,
seizeTransporter
es el bloqueSeizeTransporter
que incauta los camiones, ytrucks
es la población de camiones. El métodogetTransporter()
devuelve el agente del camión que ha sido confiscado, y el métodoindexOf()
devuelve su índice en la poblacióntrucks
.La palabra clave
this
se refiere a la instancia actual de la clase, por lo que utilizarthis
en este contexto se referiría al bloqueSeizeTransporter
en sí mismo, no al agente del camión confiscado.