NetLogoを初めて使用しました。一般的なプログラミングにはまったく新しいものです。私はここで多くの役に立つものを読んでいます。今私は自分の知識で岩底を打ち、私の最初の質問をこれまでに尋ねることに決めました。どんなに愚かな私が鳴るかもしれない:NetLogoのネストされたifelseに関する問題
私はいくつかのカメを移動し、NetLogoの特定のパッチを回避しようとします。
loop [
ifelse any? Movers with [steps > 0]
[
ask Movers with [steps > 0]
[
ifelse patch-ahead 1 is-Patch? [
ifelse not any? turtles-on patch-ahead 1 [
ifelse [pcolor] of patch-ahead 1 != white [
ifelse [pcolor] of patch-ahead 1 != brown [
fd 1 set steps steps - 1][turnTurtle]
]
[turnTurtle]
]
[turnTurtle]
]
[turnTurtle]
]
]
[stop]
]
ループは、すべてのムーバーが1回移動するまで実行する必要があります。それは私が "ステップ"変数の使用を追跡するものです。いずれかの条件がfalseの場合、 "turnTurtle"というプロシージャが呼び出されます。回したカメは、ループの次の実行中に移動しようとするか、または再び回り込みます。
コードを実行しようとすると「予想されるキーワード」エラーが発生します。どうして?
ProQuestion:パッチをチェックしてカメを飼うより良い方法はありますか?この非常にネスト化されたセットアップは貧しい選択かもしれませんか?
ちょっとしたものとして、patch-ahead 1!= white と[patch-ahead 1!= brown]の[pcolor]を '[pcolor!= white and pcolor!=ブラウン] 1' –