netlogo - 为什么我的品种不会走路?

标签 netlogo

我正在生物 react 器内建立一个模型种群,以讲述如何进食、繁殖和死亡等的基本教程为基础。在修补时,我的海龟停止了行走。我怀疑这与如何要求不同品种做事有关?

编辑:由于某种原因,我的污染物也不是“轮子”

turtles-own [ energy ]  
patches-own [ nutrition ]
breed [ Xanthomonas Xanthomona ]
breed [ contaminants contaminant ]

globals 
[ xanthan biomass ]

to setup
  clear-all
  setup-patches
  set-default-shape Xanthomonas "bug"
  set-default-shape contaminants "wheel"
  crt num-Xanthomonas
  [set color yellow
    set energy 10 
    setxy random-xcor random-ycor
  ]
  foul
  determine-biomass
   reset-ticks
    ;; begins defining a procedure named "setup"
    ;; resets the world to an initial, empty state
    ;; creates 100 turtles, they start out standing at the origin 0,0
    ;; set default shape so I don't have to tell it every time
    ;; A turtle's color variable is random until specified
    ;; setxy command with next two numbers as inputs
    ;; chooses random reporters for allowable x and y coordinates
End

to setup-patches 
  ask patches
  [ set pcolor green
    set nutrition 50
  ]
  ;; every patch starts with 50 nutrition, the color indicates it for us
end

to foul
  set-default-shape contaminants "wheel"
  if Contamination?
  [ crt num-contaminants
    [ set color red
        setxy random-xcor random-ycor
  ]
  compete ]
end

to go
  if ticks >= 2000 [ stop ]
  if count turtles > 2000 [stop]
  if count turtles = 0 [stop]
    feed
  move-turtles
  ask turtles 
  [eat-glucose]
  ask Xanthomonas
  [reproduce]
  check-death
    tick
end

to determine-biomass
  ifelse Contamination?
    [set biomass num-Xanthomonas + num-contaminants
    ]
        [set biomass num-Xanthomonas ]
end 

to move-turtles   
  ;; says that each turtle should run the commands in the brackets
  ;; random doesn't include the number you give it as a possible result
  ;; uses a reporter, each turtle picks a random whole number between 0 and 359
  ;; makes the turtle move forward one step
  ;;specify what you're defining will lose 1 energy per step
 ask Xanthomonas
 [ right random 360
   forward 1
   set energy energy - 1 ]
end

to Feed
  if Continuous-feed?
    [ ask patches
      [if random 100 < 3
      [set pcolor green
    set nutrition nutrition + 50
      ] ] ]
end

to eat-glucose
  ask Xanthomonas
   [ if pcolor = green 
    [ set energy energy + 10
      set nutrition nutrition - 50
      set pcolor gray
      set biomass biomass + 1
    ] ]
  ifelse show-energy?
    [ set label energy ]
    [ set label "" ]
  ;;ask turtles before "if"
  ;;if when true, and only then will the turtle run the commands inside the brackets (otherwise it skips them)
  ;;true/false questions, if true, will do first set of brackets
  ;;false means turtle runs commands in second set of bracket
  ;;energy (elements) will default to zero
end

to reproduce
  ask Xanthomonas
  [ if energy > 50
    [set energy energy - 50
      set xanthan xanthan + 1
      hatch-Xanthomonas 1
      [set biomass biomass + 1
        rt random-float 360 fd 1
      ] ] ]
  end

  to check-death
    ask Xanthomonas
    [ if energy < 0 
      [ die ]
    ]
 end

to reinoculate
    ask patches [
      if random 100 < 10 
      [ set pcolor green 
      ]
    ]
end

to Contaminate
  crt num-contaminants
  [ set color red
    setxy random-xcor random-ycor
  ]
end

to compete
  ask contaminants
  [ if energy > 50
    [set energy energy - 50
      set xanthan xanthan + 1
      hatch-contaminants 1
      [ set color red 
        set biomass biomass + 1
        rt random-float 360 fd 1
      ] ] ]
end

最佳答案

好吧,你的基本问题是 crt命令。这是 create-turtles 的缩写。你这里有两个品种并且你已经定义了它们。然而,当您创建海龟时,您并没有告诉 NetLogo 要创建哪个品种。

这意味着您需要进行一些小的更改来指定品种。如果你查字典,你会看到命令是 create-<breed> 。你在哪里crt num-Xanthomonas ,将其更改为 create-Xanthomonas num-Xanthomonas与产生污染物的地方类似。

关于netlogo - 为什么我的品种不会走路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43405307/

相关文章:

netlogo - 在 Netlogo 中的同一路径上分配海龟随机位置且没有海龟?

loops - Netlogo:如何迭代代理集并设置可变速度

scala - 如何在 Netlogo 扩展中使用Optional

netlogo - 无法透过墙壁看到

list - 将带有空格的文件行作为列表读入 NetLogo

simulation - Netlogo 将优先依恋模型扩展到 Bianconi-Barabasi 模型

netlogo - 随时间绘制列表元素(刻度线)

average - NetLogo:查找一组海龟的平均值

real-time - 如何使用 NetLogo 从网站获取实时数据?

netlogo - 你怎么能打破 netlogo 中的询问