2014-11-16 7 views
0

거북이가 빨간색 패치와 다이로 이동하는 시뮬레이션이 있는데, 그 중 n-of에있는 모든 것이/모든 거북이가 죽 자마자 오류를보고합니다. 나는 시뮬레이션이 왼쪽 거북이가없는 동안 n-of을 얻으려고하기 때문에 오류를 이해하지만 어떻게 수정해야합니까? 시뮬레이션을 마칠 때 모든 거북이가 죽었을 때 사용할 수 있습니까? 어떻게해야합니까?, 만약 그렇다면 빨간 패치로 거북이를 죽이게하는 다른 방법이 있습니까? 시뮬레이션을하면 모든 거북이가 빨간색 패치를 걷 자마자 사라져야하지만 서로를 거닐거나 걸을 수 없어 하나의 빨간색 패치에 모이게 할 수 없습니다 (500 마리의 거북이가 있음)).NetLogo : 모든 거북이가 죽었을 때 n 번째 오류가 발생했습니다.

감사합니다. 편집 : 더 이상 n-of을 필요로하지 않도록 코드를 편집했습니다. 지금, 나는 하나의 거북이가 "아래로"펜 모드를 설정할 내 코드의 일부는

to go .... ask one-of turtles [set pen-mode "down"] .... end

하고 오류 메시지가 지금 :

가 될 것으로 예상 입력 ASK 에이전트 또는 에이전트 세트가 있지만 대신 아무 것도 얻지 못했습니다. 관찰자 실행 즉시 시뮬레이션이 끝나는대로 버튼 '이동'

에 의해 호출 를 GO 절차에 의해 호출 를 ASK 동안 오류입니다.

one-of turtles 제안되었지만 지금은 모든 거북이가 펜 모드를 "내려"설정하지만, 나는 단지 하나의 거북이가 그렇게하기를 원합니다.

+1

코드와 오류 메시지를 게시해야합니다. –

답변

2

기본적으로 너는 대부분 n 거북이를 사용하고 싶습니다. 즉 적어도 n 거북이라면 n을 사용해야합니다. 그렇지 않으면 모든 거북이를 사용해야합니다.

to-report at-most-n-of [ n agentset ] 
    ifelse count agentset > n [ 
    report n-of n agentset 
    ] [ 
    report agentset 
    ] 
end 

당신은 정확히 n-of처럼 이것을 사용하지만 충분한 거북이가없는 경우 오류하지 않습니다 : 우리는 아주 쉽게 기자가이 점을 설정할 수 있습니다.

2

n-of으로 사용하고 있다는 것을 알려주지 않으므로 대체 방법을 제안하기가 어렵습니다. 그러나 선택하기에 충분한 거북이가 없을 때 충돌에서 n-of을 방지하는 방법 일반적으로 같은 것을 사용하는 것입니다 n는 가능하면 선택하려는 거북의 수입니다

n-of (min list n count turtles) turtles 

.

+0

나는 약 500 개의 갈색 패치를 가지고 있으며, 모든 패치는 1 마리의 거북이를 스폰 할 수 있습니다. 200 개의 패치에 거북이 하나 (슬라이더 포함)를 생성 할 때 200 개의 거북이가 있다고 가정하면 코드에 내가 가진 거북이의 개수를 어떻게 표시합니까? 슬라이더가 거북이가 아닌 패치를 참조하더라도 "n"이있는 위치의 슬라이더 이름을 채우는 것입니까? 아니면 내가 완전히 틀린거야? :-D – finjou

+1

위의 코드에서'count turtles '는 현재 얼마나 많은 거북이를 낳고 있는지를 나타냅니다. 'n'은 현재 가지고있는 거북 중에서 얼마나 많은 거북이를 골라 내고 싶은지입니다. 그러나 나는 당신이하려는 것을 이해하지 못하기 때문에 당신의 질문을 이해하지 못합니다. 너는 틀리지 않아. 그냥 불분명하다. 무엇을 선택하려고합니까? 무엇을 위해 그것을 선택하고 싶습니까? 질문을 수정하십시오. 약간의 코드 게시 ...적어도 "n-of"를 사용하려고하는 줄을 우리에게 보여주십시오 ... –

+0

지금 코드를 변경했지만 오류는 거의 같습니다. 예를 들어 거북이 펜 하나를 내려 놓고 싶습니다. "거북이에게 1 번 [펜 모드"아래로 "설정]을 묻습니다. 하지만 거북이가 죽 자마자 오류가 발생합니다. 나는 당신의 제안으로 그것을 고칠 수 있습니까? – finjou