我被这部分代码困住了。
我想在我的控制下移动我的乌龟。我的意思是,当它第一次到达一个房子时,它必须转向另一个房子。
在这个代码中,它将移动-105哪个红色补丁和房子形状在这里。
现在,我怎么能告诉这只乌龟“你在这里,你必须去那里”!?
(我使用红色补丁,因为我试图根据补丁移动海龟,但找不到任何解决方案。)
breed [cities city]
breed [flag person]
to setup
clear-all
set-default-shape cities "house"
create-flag 1
[ set SIZE 6 set shape "by" setxy -5 3 set HEADING 0 ]
create-flag 1
[ set SIZE 6 set shape "sel" setxy 12 5 set HEADING 0 ]
create-cities 1
[set color yellow set SIZE 2 setxy 8 2]
create-cities 1
[ set color yellow set SIZE 2 setxy -10 5]
ask patch -10 5 [set pcolor red]
end
to go
ask flag with [ shape = "by" ] [ facexy -10 5 forward 1 set HEADING 0 ]
end
更新
我从@jenB的答案中理解并尝试了这段代码,但它还没有按照我的要求移动谢谢你的关注,但这里有两个问题我试图用这张照片来解释。
我在这里开始了一个新的问题:
Turtles, patches and their moving sequentially from one patch to the next
最佳答案
在Netlogo字典中查找turtles-on
。从你的另一个问题,我知道你在试图使你的旗帜从一个房子到下一个顺序移动一种方法是让标志存储其目标,并在到达目标时简单地更改目标。像这样的东西(这不起作用,因为它是不完整的)
breed [cities city]
breed [flag person]
flag-own
[ target
]
to setup
clear-all
create-flag 1
[ set size 6
set shape "by"
setxy -5 3
set target patch -10 5
face target
]
< other commands >
end
to go
ask flag-on patch -10 5
[ set target patch <next place you want it to go>
face target
]
ask flag with [ shape = "by" ]
[ forward 1 ]
end
我也删除了你所有的
set heading
命令。命令face
旋转海龟,使forward
朝向海龟所面对的任何方向。命令set heading
使乌龟旋转,以便forward
与航向所给的方向一致(例如,如果告诉它前进,set heading 90
将使乌龟向右移动)。