2

タートルを視覚的に最も近い赤または緑のカラー パッチに移動したいです。このコードを試しましたが、動きません。何が問題なのですか?

while [collectedDirt = 5]
[
  ask turtle 0 [ 
                   let nearest-patch min-one-of (patches with [pcolor = red or pcolor = green] in-cone 15 20)[distancemyself]
                   face nearest-patch
                   fd distance nearest-patch

               ]
  set collectedDirt collectedDirt + 1
  search-dirt ;; research whether there is red patch in-cone because of new position
] 
4

1 に答える 1

4

もう少しコンテキストを提供したいと思うかもしれませんが、私の推測では、のwhile [collectedDirt < 5]代わりにのようなものが必要になるでしょうwhile [collectedDirt = 5]。このブロックがカメが「汚れを集める」ことができる唯一の方法である場合、コードはおそらく実行されることさえありません...

編集:

視界に赤/緑のパッチがない場合に備えて、条件を追加することもできます。

if is-patch? nearest-patch [ 
  face nearest-patch
  fd distance nearest-patch
  set collectedDirt collectedDirt + 1
]
于 2012-02-19T21:46:46.917 に答える