海龟turtles
瓦片patch:不会移动
观察者:上帝视角
瓦片构成背景,海龟在背景上移动,观察者(observer)是观察着所有事情的一个主体。
随便打开一个模型
观察者> ask patches[ set pcolor yellow ] ;;请求瓦片改变颜色为黄色
观察者> ask turtles [set color brown ]
海龟集> set color pink
嵌块集> set pcolor white
总结:
1、观察者(observer)俯视着世界,因此使用ask向瓦片或海龟发出命令。正如第一个例子那样(observer> ask patches [set pcolor yellow]),observer 必须请求(ask) 瓦片把它的颜色pcolor设为黄色。但在第二个例子中,命令直接发给了一组主体(patches> set pcolor white),你只需直接给出命令。
2、color 和pcolor是变量(variables)。有些命令和变量是海龟专用的,有些是瓦片专用。
在 NetLogo 所有颜色对应一个数值。在这些练习里我们使用了颜色名,只是因为 NetLogo认识 16 个不同的颜色名。
嵌块集> set pcolor red
嵌块集> set pcolor red - 2
输入set color red与输入set color 15 效果完全一样。要得到一个更浅或更深的颜色,只需使用一个比该颜色更小或更大的一个数。
了解了主体监视器,有三种方式改变一个海龟的颜色。
第一种是使用主体监视器底部的主体命令器(Agent Commander)。在这输入命令,就像在命令中心一样,只是在这输入的命令只由这个海龟执行。
第二种是直接改变海龟监视器中的 color 变量。在监视器底部命令行输入命令即可。
第三种是使用观察者(observer)改变海龟或瓦片的颜色。因为 observer 俯视着 NetLogo世界,它可以发出命令,影响单个或一组海龟。
观察者> ask turtle 11 [set color blue]
要让某个海龟做什么,我们使用 who number。但瓦片没有 who number,需要其他方法。
记住,瓦片存在于一个坐标系统中。要在图上画个点需要两个数:x 坐标和 y 坐标。瓦片的定位方式与此相同。
监视器表明这个瓦片的pxcor变量是9,pycor 是 0。
使用坐标让这个特定的瓦片改变颜色。
在瓦片监视器的底部,输入set pcolor blue,回车。
在海龟或瓦片的监视器中输入命令只对这个海龟或瓦片管用。
在命令中心也可操作单个瓦片:
观察者> ask patch 9 0 [set pcolor green]