2017-02-17 18 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?'來獲取代理集。例如,'讓new-nextlinks與[非會員?我自己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