-
명령어에 대해 알아보자!Program/NetLogo 2019. 3. 13. 11:29
안녕하세요. Teemol입니다!
이번 글은 NetLogo에서 사용하는 명령어를 몇 가지만 알아보려고 합니다. (모든 명령어를 쓰면 찾아서 보기도 힘들 것 같습니다.)
observer 기준으로 설명하겠습니다.
NetLogo는 띄어쓰기를 주의해야 합니다.
예를 들어 1+2+3을 입력하면 하나의 값으로 인식합니다.
1 + 2 + 3 이런 식으로 구분을 띄어쓰기로 해줘야 합니다.
; ;(명령어는 아니지만 코드에서 사용할 수 있습니다.)
주석입니다.
;도 동일합니다.
clear-all
입력된 내용을 모두 초기화합니다.
one-of
랜덤으로 하나
ask one-of patches [ ?? ] 배경 중 하나
ask one-of turtles [ ?? ] 거북이 중 하나
set color one-of base-colors 베이스 색상 중 하나
other
명령이 실행되는 자신을 제외한 나머지
repeat 0 [ ?? ]
명령을 0 번 실행합니다.
거북이 관련
create-turtles 0
create-turtles 1로 거북이 1개를 생성할 수 있습니다.
crt 1 명령어도 동일합니다.
ask turtles [ die ]
존재하는 모든 거북이를 죽입니다.
breed [ ? ? ]
거북이의 품종을 정의합니다.
하지만 모두 거북이에 포함됩니다.
예를 들어,
breed [ dogs dog ]
breed [ cats cat ]
로 새로운 거북이를 정의한 뒤
crt 1
create-dogs 1
create-cats 1
로 거북이 강아지 고양이를 하나씩 만들면
ask turtles [ set color red ] 명령을 내릴 경우 3가지 모두 빨간색으로 변경됩니다.
ask dogs [ set color blue ] 명령을 내릴 경우 create-dog로 만들어진 항목만 색이 변경됩니다. (create-cat)도 동일
ask turtle 0(거북이) 1(강아지) 2(고양이)로 각 항목에 접근이 가능합니다.
ask dog 0으로는 접근이 불가능합니다. ask dog 1로는 접근이 가능합니다. (cat의 경우 ask cat 1로 접근이 가능합니다)
ask turtle 0 [ ?? ]
0번 거북이에게 명령을 내립니다.
ask turtles [ forward 0 ]
모든 거북이를 앞으로 이동합니다.
ask turtles [ forward 2 ] 거북이를 앞으로 2칸 이동시킵니다.
fd 2 명령어도 동일합니다.
ask turtle 0 [ forward 1 ]
ask turtles [ back 0 ]
모든 거북이를 뒤로 이동합니다.
ask turtles [ back 1 ] 거북이를 뒤로 1칸 이동시킵니다.
bk 1 명령어도 동일합니다.
ask turtles [ set color blue ]
거북이의 색상을 파란색으로 변경합니다.
ask turtles [ setxy random-xcor random-ycor]
모든 거북이들의 좌표를 랜덤으로 설정합니다.
ask turtles [ setxy random-pxcor random-pycor ]
모든 거북이들의 좌표를 patch중심의 랜덤으로 합니다.
ask turtle 0 [ move-to turtle 1 ]
0번 거북이를 1번 거북이의 위치로 이동합니다.
patch로도 이동할 수 있습니다.
ask tutlres [ set heading 0 ]
모든 거북이들이 위를 보도록 설정합니다.
패치 관련
ask patches [ set pcolor blue ]
배경 색상을 파란색으로 변경합니다.
ask patch 0 0 [ set pcolor green ]
patch 0 0 위치의 색상을 녹색으로 변경합니다.
위치는 시뮬레이션의 중앙이 0,0입니다.
링크 관련
ask turtle 0 [ create-link-with turtle 1 ]
0번 거북이와 1번 거북이를 연결합니다.
ask links [ die ]
링크를 모두 지웁니다.
ask turtle 0 [ ask link-neighbors [ set color blue ] ]
0번 거북이와 연결된 거북이들의 색상을 파란색으로 변경합니다.
명령어는 조금씩 추가될 수도 있습니다 !
감사합니다.
'Program > NetLogo' 카테고리의 다른 글
Code를 사용해보자! (0) 2019.03.14 CommandCenter를 사용해보자! (0) 2019.03.12 NetLogo란? (0) 2019.03.11