2016-04-18 37 views
1

我正在修改此代碼,以便只有在沒有烏龜的情況下,烏龜纔會進入前進1的單元格。如何檢查一隻烏龜向前移動1?

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 can-move 1'而不是'如果patch-ahead 1!= nobody'。查看文檔['can-move?'](http://ccl.northwestern.edu/netlogo/docs/dictionary.html#can-move)。 –

+1

'other'在這裏是必要的,因爲'patch-ahead 1'可能實際上與龜已經站在同一個補丁,如果龜的標題不是90的倍數。如果這似乎令人驚訝,請參閱下一個補丁示例NetLogo模型庫的代碼示例部分。 –