Netlogo 与海龟不同的全局值
Netlogo different global values from turtles
我不明白为什么我的 netlogo 代码中出现了一些东西,但最后我发现一个全局变量将值从 turtles 更改为 turtles,这可能吗?
我注意到这一点是因为我的代码中有 2 个打印值,如下所示:
breed [players player]
breed [balls ball]
globals [
TURNS;
TEAM-OWNER
]
to setup
clear-all
reset-ticks
set TURNS 0
setup-players
setup-ball
end
to setup-ball
create-balls 1 [
setxy 0 0
set color orange
set shape "bug"
set size 2.5
]
end
to setup-players
create-players 5 [
setxy 0 0
set color white
set shape "bug"
set size 2.5
]
end
to go
set TURNS TURNS + 1
print word "this is the turns " TURNS
print ( word " values " TEAM-OWNER)
if ticks >= 1000 [ stop ]
ask players [
print ( word " values " TEAM-OWNER)
fd 2
set TEAM-OWNER "red"
]
ask balls [
fd 2
set TEAM-OWNER "black"
]
end
这可能吗?全局值不会改变所有海龟的值吗?
这是我得到的印刷品:
this is the turns 1
values 0
values 0
values red
values red
values red
values red
this is the turns 2
values black
values black
values red
values red
values red
values red
没有像黑1次?其他时候是红色的?为什么我得到 2 个黑人?
一个全局变量是全局的——它只有一个副本,所有海龟都检索和修改同一个副本。
看看你的这段代码:
ask players [
print ( word " values " TEAM-OWNER)
fd 2
set TEAM-OWNER "red"
]
ask balls [
fd 2
set TEAM-OWNER "black"
]
首先,你的每个玩家向前移动两个距离单位,然后将 TEAM-OWNER 的值设置为 "red"。如果您有 10 个玩家,则全局变量 TEAM-OWNER 被设置为红色 10 次。然后你的每一个球向前移动两个距离单位并将变量 TEAM-OWNER 设置为 "black"。只要你有一个(或多个)球,那么全局变量就会被覆盖。
全局变量用于模型中每只海龟都相同的东西。
我不明白为什么我的 netlogo 代码中出现了一些东西,但最后我发现一个全局变量将值从 turtles 更改为 turtles,这可能吗? 我注意到这一点是因为我的代码中有 2 个打印值,如下所示:
breed [players player]
breed [balls ball]
globals [
TURNS;
TEAM-OWNER
]
to setup
clear-all
reset-ticks
set TURNS 0
setup-players
setup-ball
end
to setup-ball
create-balls 1 [
setxy 0 0
set color orange
set shape "bug"
set size 2.5
]
end
to setup-players
create-players 5 [
setxy 0 0
set color white
set shape "bug"
set size 2.5
]
end
to go
set TURNS TURNS + 1
print word "this is the turns " TURNS
print ( word " values " TEAM-OWNER)
if ticks >= 1000 [ stop ]
ask players [
print ( word " values " TEAM-OWNER)
fd 2
set TEAM-OWNER "red"
]
ask balls [
fd 2
set TEAM-OWNER "black"
]
end
这可能吗?全局值不会改变所有海龟的值吗? 这是我得到的印刷品:
this is the turns 1
values 0
values 0
values red
values red
values red
values red
this is the turns 2
values black
values black
values red
values red
values red
values red
没有像黑1次?其他时候是红色的?为什么我得到 2 个黑人?
一个全局变量是全局的——它只有一个副本,所有海龟都检索和修改同一个副本。
看看你的这段代码:
ask players [
print ( word " values " TEAM-OWNER)
fd 2
set TEAM-OWNER "red"
]
ask balls [
fd 2
set TEAM-OWNER "black"
]
首先,你的每个玩家向前移动两个距离单位,然后将 TEAM-OWNER 的值设置为 "red"。如果您有 10 个玩家,则全局变量 TEAM-OWNER 被设置为红色 10 次。然后你的每一个球向前移动两个距离单位并将变量 TEAM-OWNER 设置为 "black"。只要你有一个(或多个)球,那么全局变量就会被覆盖。
全局变量用于模型中每只海龟都相同的东西。