2015-04-09 2 views
2

у меня есть этот код, чтобы обрешетка черепахи из определенных Бульоны (Nodi)NetLogo создания черепахи с одной переменной, заданной с помощью процедуры

create-nodi 1 [ 
    set hidden? true 
    set x 0 
    set y 0 
    set larg lato 
    set altez lato 
    set livello n 
    set media mean [valore] of patches with [ nel-quadrato? x Y larg ] 
    ] 

мне нужно установить переменные средства массовой информации, как среднее значение переменной VALORE (патч-переменная) патчей, которые положительно реагируют на возвращаемого nel-quadrato? (логический возврат).

Этот возвратный элемент должен иметь 3 аргумента (x, y, large) черепахи, которую я пытаюсь создать.

Я не могу найти способ выразить три аргумента в отношении черепахи, которую я создаю, а не патчи; на самом деле у меня есть эта ошибка:

you cant use x in patch contex because is turtle only 
+1

Вы можете отправить код для процедуры 'nel-quadrato? '? Один из подходов может заключаться в том, чтобы сделать эту процедуру четырьмя аргументами и иметь черепаху как один из аргументов. Если это так, вы можете передать 'self'. – JenB

+0

на данный момент является возвратом, который всегда возвращает true – AndreA

ответ

2

Вы можете использовать myself здесь, чтобы обратиться к запрашиваемая черепахи:

patches with [nel-quadrato? [x] of myself 
          [y] of myself 
          [larg] of myself] 

Если это кажется неуклюжим, еще один способ сделать то же самое было бы использовать let :

let my-x x 
let my-y y 
let my-larg larg 
patches with [nel-quadrato? my-x my-y my-larg] 

Мне также нравится предложение JenB рассмотреть возможность реорганизации.