【netlogo】海龟交配仿真模拟

海龟交配仿真模拟代码

turtles-own [ energy gender age married birthday]

to setup

  clear-all

  setup-patches

  create-turtles 100

  [ setxy random-xcor random-ycor

    ;set color green

    ;set size 3

    ;set shape "person"

    set gender random 2

    ifelse gender = 1

    [

    set color blue

    ]

    [

    set color pink

    ]

    ]

  reset-ticks

end

to reset

  clear-all

end

to go

  update-age

  move-turtles

  eat-grass

  regrow-grass

  reproduce

  check-death 

  tick

end

to update-age

  ask turtles[

  set age (ticks - birthday) / 365

  ]

  end


to move-turtles

  ask turtles [

    right random 360 

    forward 1

    set energy energy - 1 

  ]

end

to setup-patches

  ask patches [

    set pcolor green

  ]

end

to eat-grass

  ask turtles [

    if pcolor = green [

      set pcolor black

      ;set energy energy + 10

      Set energy energy + energy-from-food

    ]

  ]

end

to regrow-grass

  ask patches[

    if random 100 < 3

    [

      set pcolor green

    ]



  ]

end

to reproduce

  let date ticks mod 365

  if date >= 60 and date <= 100

  [

  ask turtles with [

    gender = 1 and age >= 1 and age <= 5 and married = 0 and energy >= 100

    ]

    [

    let females turtles-here with [

    gender = 0 and age >= 1 and age <= 5 and married = 0 and energy >= 100

    ]

    if any? females[

    ask one-of females[

    set married 1

    set energy energy - 100

    hatch random 31

      [

    set birthday ticks

    set energy 10

    set gender random 2

    set color ifelse-value (gender = 1) [blue][pink] 

    set married 0

      ]

    ]

    set married 1

    ]

    ]

  ]

end

to check-death

  ask turtles [

    if energy <= 0 [ die ]

    if age > 8 [ die ]

  ]

end

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容