2017-02-17 2 views
0

У меня есть breed [walkers walker], которые ходят по дорогам в дорожной карте, представленной ссылками в Netlogo. links-own [ guiri-ids ], который я намерен быть turtle-set пешеходов, которые уже шли по ссылке. Я хотел бы использовать этот guiri-ids, чтобы выбрать из множества возможных следующих ссылок, которые я называю nextlinks, ссылки, по которым ходок не ходил раньше (новые). Если все возможные ссылки были пройдены, выберите один из них.Как выбрать еще не используемые ссылки агентом

Как можно получить набор следующих ссылок, которые набор guiri-ids не содержит меня (ходунка)?.

Я пытаюсь эту линию

let new-nextlinks nextlinks with [ guiri-ids != myself ] 

но продолжает принимать старые пути.

Спасибо ваше большое за вашу помощь

+0

Тест членства вместо равенства: https://ccl.northwestern.edu/netlogo/docs/dictionary.html#member – Alan

+0

Я не знаю, как используйте 'member? 'для получения агента. Например, 'let new-nextlinks nextlinks с [not member? сам guiri-ids] 'не работает. Можете ли вы рассказать мне что-то еще? Спасибо. – user1993416

ответ

2
breed [walkers walker] 
links-own [ guiri-ids ] 

to test 
    ca 
    crt 25 [setxy random-xcor random-ycor] 
    ask turtles [ 
    create-link-with one-of other turtles 
    ] 
    create-walkers 10 
    ask links [set guiri-ids n-of 3 walkers] 
    ask walkers [walk] 
end 

to walk 
    let _next one-of links with [not member? myself guiri-ids] 
    ifelse (_next != nobody) [ 
    ask _next [set guiri-ids (turtle-set myself guiri-ids)] 
    ] [ 
    ;do whatever you wish in this case 
    ] 
end 
+0

Благодарим за помощь – user1993416

Смежные вопросы