Reputation: 146
I have a simple model which has a separate Agent called 'Passenger'. Inside the Passenger I have a parameters called 'WITH_CHILDREN' which it's default value is randomTrue(0.5).
In my main process, I would like the Passenger that results TRUE for 'WITH_CHILDREN' to take longer at a specific delay process.
I thought it would be something like (inside the on enter action of the delay):
if(passenger.WITH_CHILDREN == true){
delayTime = triangular(1,5,15);
else{
delayTime = triangular(0,1,1.5);
}
However there are many errors with this :( I would like to link it from the Agent as oppose to setting the percentage in the delay as I have future percentages parameters that will be used on other delays.... If that makes sense.
Upvotes: 0
Views: 1107
Reputation: 9431
You can define this directly in the delay time of the delay block using the following code:
agent.WITH_CHILDREN ? triangular(1,5,15) : triangular(0,1,1.5)
And because an image is better than 1000 words (I made a mistake in the image... it's agent. not passenger.
when you use delayTime in the actions, it's only a readable variable, you can't change it.
And learn about the ? and : operators in java in here: http://www.cafeaulait.org/course/week2/43.html
Upvotes: 1