NetLogo 版本 3.1.5 中的错误:未定义任何名为 PICKUP-NEAREST-CIRCLE 的内容
Error in NetLogo version 3.1.5 : Nothing named PICKUP-NEAREST-CIRCLE has been defined
我是 netlogo 的初学者,我想制作一个程序,我可以将海龟拖到任何我想去的地方(通过单击海龟并将其拖到另一个地方来更改海龟的位置)
这是我在 youtube 上找到的代码,但它不起作用!!
我收到这个错误 "Nothing named PICKUP-NEAREST-CIRCLE has been defined"
globals [
previous-button-state
anybody-picked-up?
circle-picked]
to setup
ca
create-turtles 10
ask turtles[
set shape "circle"
set size 3
setxy random-xcor random-ycor
]
set anybody-picked-up? false
set previous-button-state "up"
end
to go
if mouse-inside?[
if mouse-down? and previous-button-state ="up"[
try-to-pickup-nearest-circle
ifelse anybody-picked-up?
[set previous-button-state "down-and-dragging"]
[set previous-button-state "just down"]
]
if not mouse-down? [
set anybody-picked-up? false
set previous-button-state "up"
]
]
;waite .01
end
to try-to pickup-nearest-circle
let candidate min-one-of turtles [distancexy mouse-xcor mouse-ycor]
ask condidate [
if distancexy mouse-xcor mouse-ycor < size / 2 [
set anybody-piced-up? true
set circle-picked candidate
]
]
end
您的 try-to-pickup-nearest-circle
程序中至少有三个拼写错误:第一行缺少“-”,第三行拼写错误 "condidate",以及拼写错误的“[=24=” ]在第五个。更正后,应该是
to try-to-pickup-nearest-circle
let candidate min-one-of turtles [distancexy mouse-xcor mouse-ycor]
ask candidate [
if distancexy mouse-xcor mouse-ycor < size / 2 [
set anybody-picked-up? true
set circle-picked candidate
]
]
当 NetLogo 告诉您找不到内容时,第一个要查找的地方就是拼写错误。此外,如果您在第 4 分钟左右再次查看视频,您会发现您的 go
程序缺少一个 if
块。
if mouse-down? and previous-button-state = "down-and-dragging" [
ask circle-picked [ setxy mouse-xcor mouse-ycor ]
]
这是拖动圆时实际移动圆的代码部分。加上那个,你应该没问题。
NetLogo 3.5.1 是一个很旧的版本。我建议下载最新版本。
我是 netlogo 的初学者,我想制作一个程序,我可以将海龟拖到任何我想去的地方(通过单击海龟并将其拖到另一个地方来更改海龟的位置) 这是我在 youtube 上找到的代码,但它不起作用!! 我收到这个错误 "Nothing named PICKUP-NEAREST-CIRCLE has been defined"
globals [
previous-button-state
anybody-picked-up?
circle-picked]
to setup
ca
create-turtles 10
ask turtles[
set shape "circle"
set size 3
setxy random-xcor random-ycor
]
set anybody-picked-up? false
set previous-button-state "up"
end
to go
if mouse-inside?[
if mouse-down? and previous-button-state ="up"[
try-to-pickup-nearest-circle
ifelse anybody-picked-up?
[set previous-button-state "down-and-dragging"]
[set previous-button-state "just down"]
]
if not mouse-down? [
set anybody-picked-up? false
set previous-button-state "up"
]
]
;waite .01
end
to try-to pickup-nearest-circle
let candidate min-one-of turtles [distancexy mouse-xcor mouse-ycor]
ask condidate [
if distancexy mouse-xcor mouse-ycor < size / 2 [
set anybody-piced-up? true
set circle-picked candidate
]
]
end
您的 try-to-pickup-nearest-circle
程序中至少有三个拼写错误:第一行缺少“-”,第三行拼写错误 "condidate",以及拼写错误的“[=24=” ]在第五个。更正后,应该是
to try-to-pickup-nearest-circle
let candidate min-one-of turtles [distancexy mouse-xcor mouse-ycor]
ask candidate [
if distancexy mouse-xcor mouse-ycor < size / 2 [
set anybody-picked-up? true
set circle-picked candidate
]
]
当 NetLogo 告诉您找不到内容时,第一个要查找的地方就是拼写错误。此外,如果您在第 4 分钟左右再次查看视频,您会发现您的 go
程序缺少一个 if
块。
if mouse-down? and previous-button-state = "down-and-dragging" [
ask circle-picked [ setxy mouse-xcor mouse-ycor ]
]
这是拖动圆时实际移动圆的代码部分。加上那个,你应该没问题。
NetLogo 3.5.1 是一个很旧的版本。我建议下载最新版本。