我正在尝试编写一些仅当乌龟位于特定补丁上时才为补丁着色的代码。否则,补丁将是原始颜色。我希望这在乌龟移动时发生,所以乌龟先将一块补丁涂成红色,然后再向前移动,它刚刚变成红色的补丁就会恢复为原始颜色。谢谢!
答案 0 :(得分:2)
@ Jesse001发表的评论在正确的轨道上。试试这个:
ask patches [ set pcolor ifelse-value any? turtles-here [red] [green] ]
或稍易读的等效项:
ask patches
[ ifelse-value any? turtles-here
[ set pcolor red]
[ set pcolor green]
]
如果您希望它直接与乌龟的动作联系在一起,则可以在代码的动作部分中使用[ ask patch-here [ set pcolor red ] ]
。在移动之前和之后设置颜色。当然,在将颜色切换为空之前,您必须确保同一补丁上没有其他乌龟。
答案 1 :(得分:1)
我最终通过在执行过程中重复调用该过程来解决了该问题,这样它就可以始终为补丁着色,同时包括使提前补丁变成红色的代码。谢谢大家的帮助!