Я новичок в Netlo go и пытаюсь настроить агента (преступника) для стрельбы в другого агента (жертву), когда он находится в радиусе действия. Одна из проблем, с которой я сталкиваюсь, заключается в том, чтобы не дать пулям, когда они «вылупились» у преступника, двигаться по прямой. Другими словами, как я могу заставить черепаху сохранять свой текущий курс?
Ниже приведено то, что я безуспешно пытался.
Hatch-bullets 1 [ set size 0.1
set color white
set label ""
set benergy 10
fd 1
set current-heading heading
]
ask bullets [ ifelse any? humans-here with [pcolor = green]
[ hit-target die ]
[ set heading current-heading
fd 1
set benergy benergy - 0.5
set heading current-heading
ask humans-here [die]
if benergy = 0 [die]
]
Я надеялся, что заголовок пули (переменная) сохранит текущий курс в точке вылупления, чтобы его можно было использовать позже в течение срока службы пули, когда она движется по прямой линии. (что, к сожалению, не учитывается в обоих случаях)
Другая связанная проблема заключается в том, что одна пуля будет заштрихована за такт (или каждый второй такт), и каждая пуля должна отслеживать свой собственный курс. Пули должны двигаться по прямой линии, а не следовать за движением родителя.
Заранее большое спасибо за любую предоставленную помощь.
ps: я видел игру со снарядами, но код не помог