Netlogo 让海龟只在特定的区域移动

Netlogo 让海龟只在特定的区域移动,netlogo,Netlogo,我对netlogo还比较陌生,所以这似乎是一个愚蠢的问题,但问题是: 我有一个具有特定属性的斑块的世界,这些斑块代表公园、建筑物、街道(大小两种类型),等等。我希望我的海龟只使用代表街道的斑块朝着特定的点移动(我成功做到了),但有向公园和绿地移动的趋势。 我想知道你能否帮我让他们只使用代表街道的补丁 以下是我建立我的世界和创造我的海龟的方式: extensions [ gis ] globals [ Batiments ChemindeFer Cim

我对netlogo还比较陌生,所以这似乎是一个愚蠢的问题,但问题是:

我有一个具有特定属性的斑块的世界,这些斑块代表公园、建筑物、街道(大小两种类型),等等。我希望我的海龟只使用代表街道的斑块朝着特定的点移动(我成功做到了),但有向公园和绿地移动的趋势。 我想知道你能否帮我让他们只使用代表街道的补丁

以下是我建立我的世界和创造我的海龟的方式:

    extensions  
[
  gis   
]


globals    
[
  Batiments
  ChemindeFer
  Cimetiere
  Densite
  Eau
  Ponts
  Routes
  TerrainSports
  Vegetations
]


patches-own 
[
  Cheminferroviaire
  Bati
  pont
  TerraindeSport
  Vege
  cimetary
  water
  road
  densitepop
  Npatchvert

]


breed [ Renards renard]
breed [ Proies proie]


Renards-own
[
  stress
  poids
]


Proies-own
[
  weight
]


to setup          
ca                
  initialiserGIS  
  creerRenard
  creerProie
  move
reset-ticks

end



  to initialiserGIS            


  ; ---------------------- chargement densité ----------------------------

  set Densite gis:load-dataset "desite_ind_g.asc"
  gis:apply-raster Densite densitepop

  let min-Densite gis:minimum-of Densite
  let max-Densite gis:maximum-of Densite
   ask patches
  [
    ifelse densitepop >= 1.5
    [ set pcolor scale-color grey densitepop 1.5 6]
    [ set pcolor white ]
  ]


  ;------------------- chargement des chemin de fer ----------------

  set ChemindeFer gis:load-dataset "chdefer_g.asc"
  gis:apply-raster ChemindeFer Cheminferroviaire
  ask patches with [Cheminferroviaire = 1]
  [set pcolor grey]


   ;--------------------- chargement batiments --------------------

  set Batiments gis:load-dataset "batiment_g.asc"
  gis:apply-raster Batiments Bati
  ask patches with [Bati = 1]
  [set pcolor brown]


   ;--------------------- chargement des ponts --------------------

  set Ponts gis:load-dataset "ponts_g.asc"
  gis:apply-raster Ponts pont
  ask patches with [ pont = 1]
  [set pcolor 87]

  ;--------------------- chargement de l'eau ----------------------

  set Eau gis:load-dataset "eau_g.asc"
  gis:apply-raster Eau water
  ask patches with [ water = 1]
  [set pcolor blue]

  ;--------------------- sports field -----------------

  set TerrainSports gis:load-dataset "terrain_sport_g.asc"
  gis:apply-raster TerrainSports TerraindeSport
  ask patches with [ TerraindeSport = 1]
  [set pcolor green]

  ;--------------------- végétation --------------------

  set Vegetations gis:load-dataset "vegetation_g.asc"
  gis:apply-raster Vegetations Vege
  ask patches with [ vege = 1 ]
  [set pcolor green]

  ;--------------------- cimetary --------------------

  set Cimetiere gis:load-dataset "cimetiere_g.asc"
  gis:apply-raster Cimetiere cimetary
  ask patches with [ cimetary = 1 ]
  [set pcolor green]

  ;---------------------- roads ---------------------------

  set Routes gis:load-dataset "routes_g.asc"
  gis:apply-raster Routes road

  ask patches with
  [ road = 4] [set pcolor 87]
  ask patches with
  [ road = 3] [set pcolor 104]
  ask patches with
  [ road = 0] [set pcolor green]


end




to creerRenard

  create-Renards 10

end 

to move

  ; --- 1st mouvement (towards campus) --- 
  ask renards 
  [ set heading towardsxy 10 101 
  fd 1 ]
end

我希望这不是太多的信息…提前谢谢你!

在这个问题中,你有几个想法。(1)限制道路通行(2)选择目的地(3)向该目的地移动(4)修改目的地或通行以优先考虑绿地。我建议你从(1)开始一种方法是创建不可见(
隐藏海龟
)代理位于每个道路交叉口,链接代表道路。请查看NetLogo中模型库中的链接漫游,以及感谢您的回答,问题是我的模型中有很多交叉口,我无法找到在导入光栅的交叉口上正确创建它们的方法。有没有方法使turTLE只在蓝色或值为3或4的补丁上移动?(我所有代表街道的像素的值都是3或4)@tony bof I这是一个很好的具体问题-请打开一个新问题来提问,而不是在对现有问题的评论中提问。谢谢,我会这样做的