0

カメがいるかどうかを調べようとしていますpatch-ahead n

その速度 - 加速度は <= 0 です。私が思いついたコードは次のとおりです。

if any? turtles on patch-ahead n with [speed <= (speed - acceleration)]

しかし、これにより次のエラーが発生します。

patch-ahead は数値を期待していますが、代わりにエージェント セットを取得しました。

これを解決するにはどうすればよいですか?

nは数値変数です。呼び出し元のタートルからn番目のパッチで、ユーザー定義のタートル独自の変数であるタートルの「速度」にアクセスしたいと考えています。コマンド ' with' はここでは機能しません。たとえば、呼び出し元のタートルからの 3 番目のパッチで、タートルの速度にアクセスするための代替案を提案してください。

4

1 に答える 1

1

パッチアヘッドのドキュメントを見ると、引数が 1 つ必要であることがわかります。それは、先読みする距離を表す数値です。番号の代わりにパッチ「n」を使用しています。

あなたのコメントによると、おそらくタートルズオンが必要だと思います。括弧を使用して明確にします。

if any? ((turtles-on patch-ahead n) with [speed <= (speed - aceleration)])

上記では、それが数値であると仮定しています。つまりn、前方を見たい距離です。

于 2010-08-25T16:27:09.727 に答える