1

カメが向きを変えるとき、私は同時に学ぶ必要があります。つまり、カメが方向を変えると、プロシージャまたはレポーターがブール値を変更します。ただし、このレポーターは他の手順で呼び出されることはなく、カメが動いている間は常に実行されます(カメの方向を確認します)。NetLogoでこれを行う方法はありますか?

4

1 に答える 1

1

「永久」ボタン、つまりプロシージャを常に実行するボタンを使用して、必要なものに似たものを実現できると思います。(人々は通常、そのようなボタンを少なくとも 1 つ持っており、通常は「go」という名前が付けられています。)

追跡したい見出しが の見出しであると仮定すると、次のturtle 0ようなコードを作成できます。

globals [
  current-heading
  heading-has-changed
]

to check-heading-changes
  if [ heading ] of turtle 0 != current-heading [
    set heading-has-changed true
    set current-heading [ heading ] of turtle 0
  ]
end

コードを常に実行するにはcheck-heading-changes、「永久」ボタンから呼び出す必要があります。

現在の見出しを永遠にチェックするボタン

監視を開始するときは、忘れずに永久ボタンをクリックする必要があります。もちろん、上記のコードは、タートルを制御する他のプロシージャが実行されていることも想定していheading-has-changedますtrue

于 2012-08-01T19:20:18.857 に答える