Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo 如何让海龟检查补丁集_Netlogo - Fatal编程技术网

Netlogo 如何让海龟检查补丁集

Netlogo 如何让海龟检查补丁集,netlogo,Netlogo,我有一组海龟,我打算检查一组补丁,如果在那组补丁上有任何静止的海龟,我希望原始海龟停下来, 基本上是一种箱型接线的情况 我尝试将补丁的含义设置为十字路口,并尝试执行检查十字路口功能 十字路口由以下人员组成: ;create crossroads ask patches with [( pxcor mod 40 = 31 or pxcor mod 40 = 32 or pxcor mod 40 = 33 or pxcor mod 40 = 34 or pxcor mod 40 = 35 or px

我有一组海龟,我打算检查一组补丁,如果在那组补丁上有任何静止的海龟,我希望原始海龟停下来, 基本上是一种箱型接线的情况

我尝试将补丁的含义设置为十字路口,并尝试执行检查十字路口功能

十字路口由以下人员组成:

;create crossroads
ask patches with [(
pxcor mod 40 = 31 or pxcor mod 40 = 32 or pxcor mod 40 = 33 or pxcor mod 40 = 34 or pxcor mod 40 = 35 or pxcor mod 40 = 36 or pxcor mod 40 = 37 or pxcor mod 40 = 38 or pxcor mod 40 = 39 or pxcor mod 40 = 0 or pxcor mod 40 = 1 or pxcor mod 40 = 2 or pxcor mod 40 = 3 or pxcor mod 40 = 4 or pxcor mod 40 = 5)
and (
pycor mod 44 = 35 or pycor mod 44 = 36 or pycor mod 44 = 37 or pycor mod 44 = 38 or pycor mod 44 = 39 or pycor mod 44 = 40 or pycor mod 44 = 41 or pycor mod 44 = 42 or pycor mod 44 = 43 or pycor mod 44 = 0 or pycor mod 44 = 1 or pycor mod 44 = 2 or pycor mod 44 = 3 or pycor mod 4 = 4 or pycor mod 44 = 5)] [
set pcolor grey
 set meaning "crossroad"
]
我也试着让它用补丁集检查它前面的补丁,但我无法让它工作

to check-crossroad
let in-crossroad (patch-set patch-ahead 8 patch-ahead 7 patch-ahead 6 patch-ahead 5 patch-ahead 4 patch-ahead 3 patch-ahead 2 patch-ahead 1 patch-left-and-ahead 26 3 patch-right-and-ahead 26 3 )
let car3-oncrossroad one-of cars3-on in-crossroad

if [meaning] of patch-ahead 4 = "crossroad" and will-stop? = "maybe"
if [used] of patch-set in-crossroad and will-stop? = "yes"
end

让海龟使用
成员?
检查路口是否有其他海龟,如果没有,则可以自由进入路口。使用此设置:

globals [ box-to-check ]

to setup
  ca
  set box-to-check patches with [
    pxcor > -3 and pxcor < 3 and
    pycor > -3 and pycor < 3 
  ]
  ask box-to-check [
    set pcolor grey - 2
  ]
  crt 10 [ 
    setxy ( random 15 - 20 ) one-of [ -1 0 1 ]
    set heading 90
  ]
  crt 10 [ 
    setxy one-of [ -1 0 1 ] ( random 15 - 20 )
    set heading 0
  ]
  reset-ticks
end
那就让你的海龟们在他们要进入路口的时候检查一下记者:

to go
  ask turtles [
    ifelse member? patch-ahead 1 box-to-check [
      if not any? other-turtles-on-junction [
        move
      ]
    ] [
      move
    ]
  ]
  tick   
end
希望这能给你一些想法,但请记住,你需要调整以适应多个交叉点等情况

to go
  ask turtles [
    ifelse member? patch-ahead 1 box-to-check [
      if not any? other-turtles-on-junction [
        move
      ]
    ] [
      move
    ]
  ]
  tick   
end