我在使用“ask n-of #”命令時遇到了麻煩..得到了一個“預期的數字,而不是串列或塊”錯誤訊息。
添加了與此錯誤有關的主要代碼塊。想知道是否有人可以提供幫助?
目標:希望太陽能一次只能為 6 只小隊充電(小隊 1 是我的 10 只海龜品種)。下面注釋...
breed [squad1 squad1s]
turtles-own
[individual-power
solar-delay
power-count1
count-recharge1]
設定
to setup
clear-all
setup-patches
setup-turtles
reset-ticks
end
to setup-turtles
create-squad1 10
ask squad1
[
set color blue
set shape "person"
set size 1.7
set individual-power 100
set heading 90
set solar-delay 0
setxy random-xcor random-ycor
]
end
去
to go
ask squad1 [
if individual-power >= 15
[forward 1
set label individual-power
set individual-power individual-power - 1
set solar-delay solar-delay 1]
if recharge-options1 = "external-solar1" [solar-battery1]
]
tick
end
太陽能電池1代碼
**這是我需要幫助的代碼塊。我收到一條“此處的預期數字,而不是串列或阻止”訊息,其中 Netlogo 在“詢問 n-of 6 小隊 [”后立即突出顯示所有內容
to solar-battery1
ask n-of 6 squad1s [
if solar-delay >= 85
[set individual-power 15]
if solar-delay >= 91 ; increase in 6 ticks..
[set individual-power 100
set individual-power individual-power - 1
set solar-delay 0]
]
end
uj5u.com熱心網友回復:
我認為你只是把你的品種宣告倒過來了——它應該是復數形式,然后是單數形式。試試這個玩具模型:
breed [squad1s squad1]
to setup
ca
create-squad1s 10
reset-ticks
end
to go
ask n-of 6 squad1s [
fd 1
]
end
每次呼叫 時,您應該只看到 6 只海龜在移動go。請注意,如果您更改為這種更常見的結構,則需要將其他相關呼叫從 更新 ask squad1 [ ...為ask squad1s。
但是,如果您打算 squad1使用復數形式,那么您對 ??的呼叫n-of應該讀作ask n-of 6 squad1 [...。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339908.html
