对 NetLogo 非常陌生...我有两个品种“疫苗”和“抗体”。每个都拥有一串符号(例如 ["A" "B" "C"])。我希望抗体在它们占据相同的空间并且至少有 2/3 的符号匹配(后者是问题)时去除疫苗。我一直在尝试使用“地图”功能,但无法使其正常工作。请帮忙!这是我尝试过的:
breed [vaccine vaccines]
breed [antibody antibodies]
vaccine-own [
string2
hamming-distance
]
antibody-own [
string1
]
to setup
clear-all
create-antibody 10 [ setxy random-xcor random-ycor
set string1 n-values 3 [one-of["A" "B" "C"]]]
create-vaccine 2 [ setxy random-xcor random-ycor set color red
set string2 n-values 3 [one-of["A" "B" "C"]] ]
reset-ticks
end
to go
move-antibody
remove-antigen
tick
end
to move-antibody
ask antibody [
right random 360
forward 1
]
end
to remove-antigen
ask vaccine [
if any? other antibody-here [
set hamming-distance (length remove true (map [?1 = ?2] string2 [string1] of myself))
]
if any? other antibody-here with [hamming-distance > 1] [die]
]
end