| downhill {NetLogoR} | R Documentation |
Move downhill
Description
Move the turtles to their neighboring patch with the lowest value.
Usage
downhill(world, pVar, turtles, nNeighbors, torus = FALSE)
## S4 method for signature 'worldMatrix,missing,agentMatrix,numeric'
downhill(world, turtles, nNeighbors, torus)
## S4 method for signature 'worldArray,character,agentMatrix,numeric'
downhill(world, pVar, turtles, nNeighbors, torus = FALSE)
Arguments
world |
|
pVar |
Character. If the |
turtles |
|
nNeighbors |
Integer: 4 or 8. Represents the number of neighbor |
torus |
Logical to determine if the |
Details
If no neighboring patch has a smaller value than the patch where the
turtle is currently located on, the turtle stays on this patch. It still
moves to the patch center if it was not already on it.
If there are multiple neighboring `patches` with the same lowest value,
the `turtle` chooses one `patch` randomly.
If a `turtle` is located on a `patch` on the edge
of the `world` and `torus = FALSE`, it has fewer
neighboring `patches` as options to move than `nNeighbors`; if
`torus = TRUE`, the `turtle` can move on the other side of the `world` to
move downhill and its choice of neighboring `patches` is always equals to
`nNeighbors`.
Value
AgentMatrix representing the turtles with updated
coordinates and updated data for their heading values and
previous coordinates prevX
and prevY.
Author(s)
Sarah Bauduin
References
Wilensky, U. 1999. NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
See Also
https://ccl.northwestern.edu/netlogo/docs/dictionary.html#downhill
Examples
w1 <- createWorld(
minPxcor = 1, maxPxcor = 10, minPycor = 1, maxPycor = 10,
data = runif(100)
)
t1 <- createTurtles(n = 10, coords = randomXYcor(w1, n = 10))
plot(w1)
points(t1, col = of(agents = t1, var = "color"), pch = 16)
if (requireNamespace("SpaDES.tools", quietly = TRUE)) {
t1 <- downhill(world = w1, turtles = t1, nNeighbors = 8)
points(t1, col = of(agents = t1, var = "color"), pch = 16)
}