2016-04-08 4 views
1

私はNetLogoを新しくしています。私の質問が初心者のように読めば...そうです。Netlogo、Neighbors4、エージェントカラーで選択

私は、aggressorエージェントの4つのネイバーを識別するために、neigbhors4コマンドを使用しています。次に、色と優先順位(黒、茶色と白)に基づいて4人の隣人から選択したいと思います。ネイバーの色が黒(優先順位1)の場合、次の命令セットがそのエージェントに適用されます。隣人のどれもが黒でない場合、優先順位(茶色)の次の色が指示を受けるでしょう。

これは、いくつかのタイプのリストを使用して実現するのが最適でしょうか?

答えて

1

次の回答は、初心者のための単純さを強調しています。それで、それは特定の問題について提起されています。

to-report choose-neighbor 
    let _candidates neighbors4 with [pcolor = black] 
    if any? _candidates [report one-of _candidates] 
    set _candidates neighbors4 with [pcolor = brown] 
    if any? _candidates [report one-of _candidates] 
    set _candidates neighbors4 with [pcolor = white] 
    if any? _candidates [report one-of _candidates] 
    report nobody 
end 

このコードには多くの繰り返しがあります。

to-report choose-nbr [#color] 
    let _candidates neighbors4 with [pcolor = #color] 
    report ifelse-value (any? _candidates) [one-of _candidates] [nobody] 
end 
+0

のように、このような繰り返しをサブルーチンにバンドルすることをお勧めします。私は今これを試してみるつもりです。どうもありがとうございました! – HS3

関連する問題