나는 초보자입니다. 이미 프로그래밍 가이드 사전을 확인했습니다. 2 차선 도로 (예 : 도로 1, 도로 2) 모델을 고려 중입니다. 또한 지정된 패치 ((10 0) 및 (20 2))에 의해 지정된 거북이가 10 tick 동안 멈추는 모델을 고려하고 있습니다. 그러나 각 도로의 xcor 및 ycor에 대한 특정 매개 변수를 작성하고 지정하는 방법을 알지 못합니다 (예 : 도로 1의 xcor 및 ycor, 도로 2의 xcor 및 ycor). 또한 설정 속도 구문 내에서 매개 변수 "속도"를 작성하고 제어하는 방법을 모르겠습니다. 다음은 샘플 소형 모델입니다. 복잡성을 피하기 위해이 샘플 모델에는 단 하나의 길만 있습니다. 이 샘플 모델은 실패하고 거북은 패치 (10 0)에서 멈추지 않습니다. 아마도 귀하의 조언이 필요합니다. 고맙습니다.Netlogo : 세계의 중간에 특정 패치가있는 특정 틱에 대한 거북이를 멈추는 방법은 무엇입니까?
globals [ count-tick ]
turtles-own [ speed flag-A ]
to setup
clear-all
resize-world 0 50 min-pycor max-pycor
ask patches [ setup-road ]
reset-ticks
end
to setup-road
if (pycor < 1) and (pycor > -1) [ set pcolor white ]
end
to create-car
crt 1 [
set color blue
setxy min-pxcor 0
set heading 90
set speed 1
]
end
이것은 모델 본체입니다.
to go
if (count turtles-on patch 0 0 = 0) [
create-car
ask (turtles-on patch 0 0) [
set flag-A FALSE
]
]
ask (turtles-on patch 10 0) [
set flag-A TRUE
set count-tick 10
]
if count-tick > 0 [
set count-tick count-tick - 1
ask (turtles-on patch 10 0) with [flag-A = TRUE]
[
set color red
set speed 0
]
]
if count-tick = 0 [
ask (turtles-on patch 10 0) with [flag-A = TRUE]
[
set speed 1
set flag-A FALSE
]
]
if (count turtles-on patch max-pxcor 0 > 0) [
ask min-one-of turtles [who][
die
]
]
set-speed
tick
end
속도를 제어하는 병렬 업데이트입니다.
to set-speed
ask turtles with [ xcor < 10 ] [
let turtle-ahead one-of turtles-on patch-ahead 1
ifelse turtle-ahead = nobody
[ set speed 1
fd speed
]
[ set speed 0
]
]
ask turtles with [ 10 < max-pxcor ] [
let turtle-ahead one-of turtles-on patch-ahead 1
ifelse turtle-ahead = nobody
[ set speed 1
fd speed
]
[ set speed 0
]
]
end
내 질문에 대한 조언과 샘플 구문에 감사드립니다. 큰 도움이되었습니다. 다시 한번 감사드립니다. – goodgest
한 번에 한 가지만 코딩하는 Jen의 조언에 확실히 동의하십시오. 매우 작은 작업 프로그램으로 시작하여 한 번에 한 가지만 추가하고 계속 진행하기 전에 먼저 작동 시키십시오. –