2010-03-10 54 views
1

我正在嘗試創建一個帶有2個出口的5x5網格,並在其中放置了一些壁。換句話說,我想創造一個迷宮或迷宮。如何在NetLogo中創建迷宮牆?

我想知道是否有辦法使邊框線變粗或只改變一個面的一面的顏色。

我只想在裏面放一個特工,讓他用一些積分獎勵他來找到出口。 (Q學習算法)

有沒有人有想法?

如果這是不可能的,你可以建議類似的代碼嗎?

這裏是什麼,我想創建一個例子:

alt text http://i44.tinypic.com/2hgu1ow.png

至於問,我已爲我的一些工作(儘管它似乎效率不高已經手工完成這一點)。這是我到目前爲止:

breed [frame frames] 
to setup 
    ca 
    ask patches [ set pcolor white] 

ask patch -7 8 [ set pcolor black] 
ask patch -6 8 [ set pcolor black] 
ask patch -5 8 [ set pcolor black] 
ask patch -4 8 [ set pcolor black] 
ask patch -3 8 [ set pcolor black] 
ask patch -2 8 [ set pcolor black] 
ask patch -1 8 [ set pcolor black] 
ask patch 1 8 [ set pcolor black] 
ask patch 0 8 [ set pcolor black] 
ask patch 2 8 [ set pcolor black] 
ask patch 3 8 [ set pcolor black] 

ask patch 6 8 [ set pcolor black] 
ask patch 7 8 [ set pcolor black] 
ask patch 8 8 [ set pcolor black] 

ask patch -7 7 [ set pcolor black] 
ask patch -7 6 [ set pcolor black] 
ask patch -7 5 [ set pcolor black] 
ask patch -7 4 [ set pcolor black] 
ask patch -7 3 [ set pcolor black] 
ask patch -7 2 [ set pcolor black] 
ask patch -7 1 [ set pcolor black] 
ask patch -7 0 [ set pcolor black] 
ask patch -7 -1 [ set pcolor black] 
ask patch -7 -2 [ set pcolor black] 
ask patch -7 -3 [ set pcolor black] 
ask patch -7 -4 [ set pcolor black] 
ask patch -7 -5 [ set pcolor black] 
ask patch -7 -6 [ set pcolor black] 
ask patch -7 -7 [ set pcolor black] 

ask patch -7 -7 [ set pcolor black] 
ask patch -6 -7 [ set pcolor black] 
ask patch -5 -7 [ set pcolor black] 
ask patch -4 -7 [ set pcolor black] 
ask patch -3 -7 [ set pcolor black] 
ask patch -2 -7 [ set pcolor black] 
ask patch -1 -7 [ set pcolor black] 
ask patch 1 -7 [ set pcolor black] 
ask patch 0 -7 [ set pcolor black] 
ask patch 2 -7 [ set pcolor black] 
ask patch 3 -7 [ set pcolor black] 
ask patch 4 -7 [ set pcolor black] 
ask patch 5 -7 [ set pcolor black] 

ask patch 8 -7 [ set pcolor black] 

ask patch 8 8 [ set pcolor black] 
ask patch 8 7 [ set pcolor black] 
ask patch 8 6 [ set pcolor black] 
ask patch 8 5 [ set pcolor black] 
ask patch 8 4 [ set pcolor black] 
ask patch 8 3 [ set pcolor black] 
ask patch 8 2 [ set pcolor black] 
ask patch 8 1 [ set pcolor black] 
ask patch 8 0 [ set pcolor black] 
ask patch 8 -1 [ set pcolor black] 
ask patch 8 -2 [ set pcolor black] 
ask patch 8 -3 [ set pcolor black] 
ask patch 8 -4 [ set pcolor black] 
ask patch 8 -5 [ set pcolor black] 
ask patch 8 -6 [ set pcolor black] 

ask patch -6 5 [ set pcolor black] 
ask patch -5 5 [ set pcolor black] 
ask patch -4 5 [ set pcolor black] 
ask patch -4 4 [ set pcolor black] 
ask patch -4 3 [ set pcolor black] 
ask patch -4 2 [ set pcolor black] 
ask patch -4 -1 [ set pcolor black] 
ask patch -4 -2 [ set pcolor black] 
ask patch -4 -3 [ set pcolor black] 
ask patch -4 -4 [ set pcolor black] 
ask patch -5 -4 [ set pcolor black] 
ask patch -6 -4 [ set pcolor black] 
ask patch -1 7 [ set pcolor black] 
ask patch -1 6 [ set pcolor black] 
ask patch -1 5 [ set pcolor black] 
ask patch -1 4 [ set pcolor black] 
ask patch -1 3 [ set pcolor black] 
ask patch -1 2 [ set pcolor black] 
ask patch 2 5 [ set pcolor black] 
ask patch 2 4 [ set pcolor black] 
ask patch 2 3 [ set pcolor black] 
ask patch 2 2 [ set pcolor black] 
ask patch 5 5 [ set pcolor black] 
ask patch 5 4 [ set pcolor black] 
ask patch 5 3 [ set pcolor black] 
ask patch 5 2 [ set pcolor black] 
ask patch 5 1 [ set pcolor black] 
ask patch 5 0 [ set pcolor black] 
ask patch 5 -1 [ set pcolor black] 
ask patch 6 5 [ set pcolor black] 
ask patch 7 5 [ set pcolor black] 
ask patch -1 -1 [ set pcolor black] 
ask patch 0 -1 [ set pcolor black] 
ask patch 1 -1 [ set pcolor black] 
ask patch 2 -1 [ set pcolor black] 
ask patch 3 -1 [ set pcolor black] 
ask patch 4 -1 [ set pcolor black] 
ask patch -1 -2 [ set pcolor black] 
ask patch -1 -3 [ set pcolor black] 
ask patch -1 -4 [ set pcolor black] 
ask patch 0 -4 [ set pcolor black] 
ask patch 1 -4 [ set pcolor black] 
ask patch 2 -4 [ set pcolor black] 
ask patch 3 -4 [ set pcolor black] 
ask patch 4 -4 [ set pcolor black] 
ask patch 5 -4 [ set pcolor black] 
end 

再次,這是一種低效率的方法。如果我繼續使用這種方法,我怎樣才能將4個補丁合併到1中,以便我可以進入我的代理並進入中心?

預先感謝您。

回答

2

要突出顯示補丁的邊緣,您需要使用一隻烏龜。製作一個由一條線組成的烏龜形狀,然後創建一個具有該形狀的烏龜並相應地定位它。你可能會想要使用一個單獨的海龜品種(稱之爲「牆壁」,比如說)。

一旦你創造了烏龜,你可以保留它,如果你想稍後做一些事情,或者你可以讓它「死亡」來殺死它,但首先讓它留下自己的圖像在繪圖後面。