Hi,
I think the move actions works well. Here a simple example to test it.
model headingmove
global {
goal the_goal;
init {
create goal;
create dummy_move;
}
}
species goal {
init {
the_goal <- self;
}
aspect default {
draw square(5) color: #yellow;
}
}
species dummy_move skills:[moving] {
aspect default {
draw circle(2) color: #red;
}
reflex movement {
do move heading: (self towards the_goal);
if (self distance_to the_goal <= 1.0) {
ask the_goal {do die;}
create goal;
}
}
}
experiment headingmove type: gui {
output {
display view {
species goal;
species dummy_move;
}
}
}
To make it works in your model, you can just write:
reflex movement {
do updateLocation;
//Änderung der Fließgeschwindigkeit
do move heading: (self towards current_cell.target_cell) bounds: world.shape speed: sf_speed;
}
Note that in your case, the use of the bounds facet is not useful and is very tiem consuming, so you should remove it:
do move heading: (self towards current_cell.target_cell) speed: sf_speed;
Cheers,
Patrick