我被困在我的代码的这一部分。
在此代码中,它将移动-10 5,其中红色补丁和房屋形状。 现在,我怎么能告诉这只乌龟'你在这里,你必须去那里' !?
(我使用红色补丁,因为我试图根据补丁移动乌龟,但无法找到任何解决方案。)
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
答案 0 :(得分:2)
在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
将使其向右移动,如果被告知前进)。
答案 1 :(得分:0)
在NetLogo的模型库的代码示例部分中查看“移向目标示例”。如果我正确理解你的问题,它就是这样做的。