Я моделирую случайное блуждание в пределах ограниченных ангелов, и я хочу вычислить среднее квадратное смещение черепах в 2D в моей модели.Все черепахи начинаются с центра.Я не уверен, как обновить координаты xy для черепах после того, как они достигли границ.Я прошу черепах отскочить назад, когда они ударились о стену, и сохранить их новые xcor и ycor.Вот мой код:
to go
ask turtles
[; head in a random direction in range (-theta, +theta)
ifelse theta = 0
[set heading heading + 0 ]
; choose a normally distributed random angel in range (-theta, +theta)
[set heading heading + random-normal 0 (theta)]
fd step-size
set xc xc + (step-size * dx)
set yc yc + (step-size * dy)
; if your next patch is blocked:
ifelse not can-move? 1
[ set heading heading + 180
fd 1 ]
;otherwise:
[rt random-float random-normal 0 (theta)]
set xcor xc
set ycor yc
set dist sqrt (xc * xc + yc * yc)]
]
Я получаю сообщение об ошибке: «Невозможно переместить черепаху за край мира. Ошибка, когда черепаха 423 работает с SET, вызываемым процедурой GO, вызываемой кнопкой« go »».Есть идеи почему?