2010-03-10 110 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

要突出显示补丁的边缘,您需要使用一只乌龟。制作一个由一条线组成的乌龟形状,然后创建一个具有该形状的乌龟并相应地定位它。你可能会想要使用一个单独的海龟品种(称之为“墙壁”,比如说)。

一旦你创造了乌龟,你可以保留它,如果你想稍后做一些事情,或者你可以让它“死亡”来杀死它,但首先让它留下自己的图像在绘图后面。