В моей программе каждая черепаха (а именно глюкоза и бактерия) имеет собственную переменную, называемую массой. Процедура установки гласит, что исходная масса глюкозы и бактерий составляет 1 ммоль. Процедура to-go говорит о том, что глюкоза будет гидролизована и разделена. Таким образом, глюкоза_масса будет отличаться от исходного 1 ммоль. Процедура to-go для бактерий говорит, что, когда бактерии съедают одну глюкозу, масса бактерий будет расти от начального 1 ммоль плюс масса глюкозы (стохастическое число, определяемое в процедуре todivide_hydrolyzed_glucose), которую они потребляют раз в год. фиксированное число (например, 0,3). Я попытался использовать команду «от себя», чтобы включить переменную другой черепахи в бактериальную черепаху. Тем не менее, это дает мне сообщение об ошибке, говорящее, что «OF ожидал, что этот ввод будет блоком репортера, но вместо этого получил переменную или что-то еще».
Есть замечания или предложения по этому вопросу?
Breed [glucose a-glucose];; Food
Breed [bacteria a-bacteria] ;; Predator
glucose-own [glucose_mass]
Bacteria-own [Bacteria_mass]
установить
;;;ГЛЮКОЗА;;;
set-default-shape glucose "circle"
Create-glucose (8) ;; Create the glucose available in mmol/d,
[set glucose_mass (1) ;; in mmol
]
;;; БАКТЕРИИ;;;
Create-Bacteria (8) ;; Create the clostridiales in mmol
[set Batceria_mass (1)
]
end
to go
ask glucose
[
Hydrolyse_glucose
Divide_hydrolyzed_glucose
]
ask Bacteria
[ Bacteria_eat_glucose]
to hydrolyse_glucose
if (glucose_mass < 200) [
set glucose_mass ((glucose_mass * 0.025 + random-float 32.975) / 24)
]
end
to divide_hydrolyzed_glucose
if (glucose_mass > 1)
[
set glucose_mass (glucose_mass / 2)
hatch 1
]
end
to Bacteria_eat_glucose
let prey one-of glucose-here
if prey != nobody
[ask prey [die]
set Bacteria_mass (Bacteria_mass + ((glucose_mass of myself) * 0.3))
]
end