海龟、斑块及其从一个斑块到下一个斑块的顺序移动
Turtles, patches and their moving sequentially from one patch to the next
平台:NetLogo
- 问题
我想移动我的旗帜特定的 3 点
- A(-12 8)
- B(-5 12)
- C(6 4)
-在这个点行进时情节energy/time随机减少。
-到达C标志时会死亡。
我之前问过,找到了这个移动解决方案。 (当乌龟到达2点时它不会停止) - LINES1 -
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
人们建议将此代码用于任何目标。
to go
ask people [
;; if at target, choose a new random target
if distance target = 0
[ set target one-of houses
face target ]
;; move towards target. once the distance is less than 1,
;; use move-to to land exactly on the target.
ifelse distance target < 1
[ move-to target ]
[ fd 1 ]
]
tick
end
在此代码中,它们将随机移动,我不希望这样。我无法在 -LINES1-
实现这部分
我试着用一张图片来解释。
嗯,这就是问题:我怎样才能沿着这些点移动海龟并连接 energy/time 或 energy/distance 的图表。
抄送:@Seth Tisue @JenB @yacc
更新 1
-伙计们,我完成了社区援助计划的运动部分。在此代码中,您的乌龟将移动特定点,并在到达最后一点时死亡。旅行时它正在绘制海龟的数量
breed [cities city]
breed [flag person]
flag-own [target] ;;set features flag only
to setup
clear-all
reset-ticks
print "Setting up model."
set-default-shape cities "house" ;; set all cities shape by house
create-flag 1
[
set SIZE 2
set shape "turtle"
setxy -11 13
set target patch -3 12
face target
]
create-cities 1
[set color yellow set SIZE 2 setxy 8 2]
create-cities 1
[ set color yellow set SIZE 2 setxy -3 12]
create-cities 1
[ set color yellow set SIZE 2 setxy 3 3]
ask patch 3 3 [set pcolor red]
end
to go
ask flag-on patch -3 12 [
set target patch 8 2
face target
]
ask flag-on patch 8 2 [
set target patch 3 3
face target
]
ask flag-on patch 3 3 [
if distance target < 1 ;; check distance for last point
[die]]
ask flag with [ shape = "turtle" ]
[fd 1]
tick
end
您是否尝试理解已经给出的答案?在 setup
中,将 -10 5
替换为您要前往的第一个位置(即 -12 8)。然后相应地更新 go
代码。
to go
ask flag-on patch -12 8
[ set target patch -5 12
face target
]
ask flag-on patch -5 12
[ set target patch 6 4
face target
]
ask flag with [ shape = "by" ]
[ forward 1 ]
end
这只是方向和移动。您需要尝试为能量和死亡等编写一些代码。但是要循序渐进,让一些东西起作用,然后再添加下一个部分。
平台:NetLogo
- 问题
我想移动我的旗帜特定的 3 点
- A(-12 8)
- B(-5 12)
- C(6 4)
-在这个点行进时情节energy/time随机减少。
-到达C标志时会死亡。
我之前问过,找到了这个移动解决方案。 (当乌龟到达2点时它不会停止) - LINES1 -
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
人们建议将此代码用于任何目标。
to go
ask people [
;; if at target, choose a new random target
if distance target = 0
[ set target one-of houses
face target ]
;; move towards target. once the distance is less than 1,
;; use move-to to land exactly on the target.
ifelse distance target < 1
[ move-to target ]
[ fd 1 ]
]
tick
end
在此代码中,它们将随机移动,我不希望这样。我无法在 -LINES1-
实现这部分我试着用一张图片来解释。
嗯,这就是问题:我怎样才能沿着这些点移动海龟并连接 energy/time 或 energy/distance 的图表。
抄送:@Seth Tisue @JenB @yacc
更新 1
-伙计们,我完成了社区援助计划的运动部分。在此代码中,您的乌龟将移动特定点,并在到达最后一点时死亡。旅行时它正在绘制海龟的数量
breed [cities city]
breed [flag person]
flag-own [target] ;;set features flag only
to setup
clear-all
reset-ticks
print "Setting up model."
set-default-shape cities "house" ;; set all cities shape by house
create-flag 1
[
set SIZE 2
set shape "turtle"
setxy -11 13
set target patch -3 12
face target
]
create-cities 1
[set color yellow set SIZE 2 setxy 8 2]
create-cities 1
[ set color yellow set SIZE 2 setxy -3 12]
create-cities 1
[ set color yellow set SIZE 2 setxy 3 3]
ask patch 3 3 [set pcolor red]
end
to go
ask flag-on patch -3 12 [
set target patch 8 2
face target
]
ask flag-on patch 8 2 [
set target patch 3 3
face target
]
ask flag-on patch 3 3 [
if distance target < 1 ;; check distance for last point
[die]]
ask flag with [ shape = "turtle" ]
[fd 1]
tick
end
您是否尝试理解已经给出的答案?在 setup
中,将 -10 5
替换为您要前往的第一个位置(即 -12 8)。然后相应地更新 go
代码。
to go
ask flag-on patch -12 8
[ set target patch -5 12
face target
]
ask flag-on patch -5 12
[ set target patch 6 4
face target
]
ask flag with [ shape = "by" ]
[ forward 1 ]
end
这只是方向和移动。您需要尝试为能量和死亡等编写一些代码。但是要循序渐进,让一些东西起作用,然后再添加下一个部分。