Netlogo:士兵(乌龟)有一个变量,我希望他们中的一半成为x的一部分而y

时间:2017-10-11 20:29:49

标签: netlogo

我创建了一个netlogo模型,它有两种类型的海龟,一名士兵和一名将军。在模型中我创建了两支军队,每支军队都由士兵和将军组成。每个士兵和每个将军属于一支军队(1或2)。我有一个滑块,用于士兵数量和将军数量。我怎样才能让50%的士兵成为军队的一部分而50%的士兵成为军队的一部分?

1 个答案:

答案 0 :(得分:2)

一种直截了当的方式是:

breed [ soldiers soldier ]
soldiers-own [ army ]
breed [ generals general ]
generals-own [ army ]

to setup
  clear-all
  create-soldiers number-of-soldiers [ set army 1 ]
  ask n-of (count soldiers / 2) soldiers [ set army 2 ]
  create-generals number-of-generals [ set army 1 ]
  ask n-of (count generals / 2) generals [ set army 2 ]
end

另一种方法是使用number-of-soldiers-per-army滑块,然后执行以下操作:

create-soldiers number-of-soldiers-per-army [ set army 1 ]
create-soldiers number-of-soldiers-per-army [ set army 2 ]

......和将军一样。

如果你不需要每个军队中的士兵数量在每个模拟运行中完全相同,你可以选择类似的东西:

create-soldiers number-of-soldiers [ set army one-of [1 2] ]