나는 반 거룻배로 움직이고 나머지 절반은 잠자는 거북이들, 내 모델에 원숭이 그룹을 가지고있다. 그들이 움직일 때 그들은 과일을 먹고 그로부터 에너지를 얻습니다. 움직일 때 에너지를 잃습니다. 굶어 죽을 에너지가 -10이면 (에너지 100에서 시작합니다) 나는 진드기가 하루라고 가정합니다. 지금 일어나는 일은 이동 및 수면 상태를 추가 한 후 모두 1 개 또는 2 개의 틱으로 굶어서 그 이유를 파악할 수 없다는 것입니다. 문제는 카운트 다운 또는 틱 (tick)과 관련이 있다고 생각합니다. 아래 코드의 일부입니다. 고마워요!거북이는 반나절 동안 "자고있다"
to move
ask monkeys [
move-monkeys
set count-down count-down - 1
if count-down <= 0
[set state task sleep
set count-down 0.5 + 0.5
]
]
end
to sleep
ask monkeys [
set count-down count-down - 1
set label count-down
if count-down <= 0
[set state task move
set label ""
set count-down 0.5 + 0.5
]
]
end
to move-monkeys
ask monkeys [
set best-patch patches with-max [calories] in-radius 3
right random 360 fd 1
set energy energy - 10 ;; monkeys lose energy when they move.
if is-patch? best-patch
[ ifelse patch-here = best-patch
[eat-fruit]
[evaluate]]
if energy < 10
[output-print "starve"
set nostarve nostarve + 1
die]
]
end
'set count-down 1 '대신'set count-down 0.5 + 0.5'를 쓰는 이유는 무엇입니까? –
''카운트 다운 0.5 '만 가능합니까? 진드기가 하루라고 가정하고 나는 그들이 반나절 동안 그 주에 있기를 원한다. (어쩌면 내가 진드기와 카운트 다운에 대한 나의 이해에 완전히 틀리다 ...) 미안하다. Netlogo에 처음 온다. – Luna