2016-04-18 10 views
1

Imこのコードを修正して、そこにカメがいない場合は、カメが前方のセルに移動するようにします。カメを確認するにはどうすればいいですか?

ask turtles 
    [ let close-friend min-n-of 1 turtles with [my-group = [my-group] of myself] [distance myself] 
    ask close-friend 

    [ face myself 
    forward 1 
    ] 
] 

私は、変数を楽しみに1からカメの数を追加する追加を見て、その後、IF文が、私はそれを動作させることができませんでした。

ご返信いただければ幸いです。

先にパッチ上の任意の亀のがあるかどう

答えて

1

チェック:

if not any? other turtles-on patch-ahead 1 [forward 1] 

あなたがパッチ先には誰も報告しない可能性があるため、亀は最初の前方に移動することができますかどうかを確認することをお勧めします。

if can-move? 1 and not any? other turtles-on patch-ahead 1 [forward 1] 
+0

本当にありがとうございます。 – AFarquhar

+1

それが明確かどうかは議論の余地がありますが、 'if patch-ahead 1!= nobody'ではなく' if can-move 1'を使うことができます。 ['can-move?'](http://ccl.northwestern.edu/netlogo/docs/dictionary.html#can-move)のドキュメントを参照してください。 –

+1

ここでは、 'patch-ahead 1'はカメの方位が90の倍数でない場合、カメがすでに立っている同じパッチであるかもしれないので、' other'が必要です。 NetLogoのモデルライブラリのコード例セクション。 –