【问题标题】:Netlogo random ycorNetlogo 随机 ycor
【发布时间】:2020-05-13 15:29:44
【问题描述】:

如何使随机 ycor 高于/低于某个值?我有交通 2 样本,我在草地上添加了一些羊,但我希望它们重生,并且只在草地上随机重生,而不是在路上。应该怎么做我改变了,让羊永远不能上街?


breed [sheeps sheep]

to setup
  clear-all
  draw-road
  setup-vans
  create-or-remove-cars
  set selected-car one-of turtles
  ask selected-car [ set color red ]
  set selected-van one-of turtles
  ask selected-van [ set color red ]
  reset-ticks
  set-default-shape turtles "sheep"
  create-sheeps number-of-sheeps [ 
    set color white
    set xcor random-pxcor
    set ycor -4
    set energy random 10
  ]
end



to-report free [ road-patches ] ; turtle procedure
  let this-car self
  report road-patches with [
    not any? turtles-here with [ self != this-car ]
  ]
end



to go

  ask turtles [ move-forward ]

  ask turtles with [ ycor != target-lane ] [ move-to-target-lane ]
  ask sheeps
  [
    move
    forward 1
  ]
  tick
end
to move  
  rt random 100
  lt random 100
  fd 20
  set energy energy - 0.5
end





【问题讨论】:

    标签: netlogo


    【解决方案1】:

    您有两个问题。先回答一下吧。

    set ycor some-value + random-float (max-pycor + 0.5 - some-value)
    

    其中 some-value 是您希望 pycor 大于的值。同样,

    set ycor some-value - random-float (some-value - min-pycor - 0.5)
    

    其中 some-value 是您希望 pycor 小于的值。 max-pycor + 0.5 是 ycor 的最大可能值,min-pycor - 0.5 是最小可能值。

    【讨论】:

    • 我在尝试使用您的代码行时出错:已经有一个名为 YCOR 的海龟变量
    • 对不起,“让”应该是“设置”。我编辑了我的答案以更正它。
    • 以及我如何将它们设置为同时(大于某物并同时小于某物)?可能是 IF 或其他东西?因为我的代码占用了最后一行我写的代码
    • @NistorMihnea 我不明白“同时大于某物而低于某物”是什么意思?
    猜你喜欢
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多