Netlogo 如何迫使海龟只在半个地球上活动?

Netlogo 如何迫使海龟只在半个地球上活动?,netlogo,Netlogo,我使用命令ask patches with[pxcor0][set pcolor green]创建了一个分为两部分的世界。 其中一个有100只海龟,其中5只被感染,另一部分也一样。 我的问题是强迫海龟们只在他们的地盘活动。所以我想让pcolor=蓝色的海龟在第二象限和第三象限随机移动(pxcor 0)。我该怎么办 代码如下: turtles-own [ sick? sick-time] to setup ca ask patches with [ pxcor < 0 ] [se

我使用命令
ask patches with[pxcor<0][set pcolor blue]ask patches with[pxcor>0][set pcolor green]
创建了一个分为两部分的世界。 其中一个有100只海龟,其中5只被感染,另一部分也一样。 我的问题是强迫海龟们只在他们的地盘活动。所以我想让pcolor=蓝色的海龟在第二象限和第三象限随机移动(pxcor 0)。我该怎么办

代码如下:

turtles-own

[
sick?
sick-time]


to setup

 ca
 ask patches with [ pxcor < 0 ] [set pcolor blue] ; we want divide the world in two parts: the blue one in the north of Italy
 ask patches with [pxcor > 0  ] [set pcolor green]; the white one is the south of Italy
 ask patches with [pxcor = 0 ] [set pcolor white ] ; represent the border
  
 create-turtles 200 ; we create a population made up for 200 people
 [ set size 1
  set shape "person"
  set sick-time 0
    get-healthy]
  
   ask n-of 100 turtles  ; 100 of this one live in north of Italy
 [setxy 12  random-ycor ]
  
   ask n-of 100 turtles ; another 100 in the south
 [setxy -12 random-ycor   
    ]
  
 
 ask n-of 5 turtles with [pcolor = blue] ; we want infect 5 people for each world
[get-sick ]
  
 ask n-of 5 turtles with [pcolor = green]
[get-sick ]


  reset-ticks

end



to get-healthy

  set sick? false
  set color white
end


to get-sick
set sick? true
set color yellow
set shape "circle"
set sick-time sick-time + 1

end



to go

  ask turtles
  [
    move ]
  tick

end



to move

rt random-float 360
fd 1

end
海龟自己的
[
生病的
病假]
设置
ca
使用[pxcor<0][set pcolor blue]询问贴片;我们想把世界分成两部分:意大利北部的蓝色部分
使用[pxcor>0][设置pcolor绿色]询问补丁;白色的在意大利南部
使用[pxcor=0][设置pcolor白色]询问补丁;代表边界
创造海龟200只;我们创造了一个200人的人口
[套装尺寸1
设置形状“人”
将病假时间设置为0
[保持健康]
问n-100只海龟;其中100人居住在意大利北部
[setxy 12随机ycor]
问n-100只海龟;南部还有100人
[setxy-12随机ycor
]
用[P颜色=蓝色]询问5只海龟中的n只;我们希望每个世界感染5个人
[生病]
问5只乌龟中的n只[pcolor=绿色]
[生病]
重置滴答声
结束
健康
生病了?假的
将颜色设置为白色
结束
生病
生病了?真的
设置颜色为黄色
设置形状“圆”
设置病假时间病假时间+1
结束
外带
问海龟
[
移动]
打上钩
结束
移动
rt随机浮点360
fd 1
结束

您的移动过程如下所示:

to move
  right random-float 360
  forward 1
end
如果你想让他们呆在原地,如果移动会让他们进入错误的一半,那么你可以使用
patch ahead
来测试他们要移动的补丁。我想你想要的是,他们不去一个不同颜色的补丁。一种方法是:

to move
  right random-float 360
  if [pcolor] of patch-ahead 1 = pcolor [forward 1]
end

前方补片1的
[pcolor]返回前方一个距离单位的补片颜色,以便乌龟尝试移动到的位置
pcolor
是海龟当前站在的补丁的颜色。

请提供更多信息。您的编程语言和问题的抽象。还可以使用“您的代码”向我们展示您的代码。我希望现在更清楚!谢谢你的回答,你不需要提供所有的代码,只需要提供相关的部分。在这种情况下,这就是分裂世界和移动海龟的程序。@GiulianaGatani如果答案解决了你的问题,请接受它-请参阅