(17개의 유닛이 서로 다른 작업을 하는 움짤)
유닛 객체마다 겹치지 않는 번호를 Flag에 부여하여, 각 객체마다 원하는 작업을 따로 시키기 매우 용이해진다
유닛에게 학번이나 군번을 정해준다고 이해하면 쉽다
[념][글]의 수송 및 채굴 프로세서가 활용되었다
<번호할당 프로세서>
<프로세서A>
set loop 0
read st cell1 25
jump 1 equal st 1
ubind @poly
print "이 위의 Bind에 유닛 설정"
uradar any any any distance 0 1 result
sensor flg result @flag
write 1 cell1 flg
op add loop loop 1
jump 3 lessThan loop 32
write 1 cell1 25
<프로세서B>
read ck cell1 25
jump 0 equal ck 0
set i 1
set uci 1
ubind @poly
print "이 위의 Bind에 유닛 설정"
uradar any any any distance 0 1 result
sensor flg result @flag
read ex cell1 i
op add uci uci 1
jump 16 notEqual ex 0
jump 13 notEqual flg 0
jump 15 always flg 0
jump 4 lessThan uci 24
jump 16 always flg 0
ucontrol flag i 0 0 0 0
op add i i 1
jump 3 lessThanEq i 24
set i 1
write 0 cell1 i
op add i i 1
jump 19 lessThanEq i 25
두 프로세서가 모두 같은 메모리 셀에 "cell1"이라는 이름으로 연결되어야 한다
프로세서 및 메모리 셀의 설치 위치는 상관없음(맵 구석에 짱박아놔도 된다)
정상작동 중이라면, 설정한 유닛을 선택하면 어떤 번호가 할당되었는지 알 수 있다
1~24 사이에서 무작위 순서로 부여되므로 참고
<자원 공급원 프로세서>
print "첫번째 프로세서 연결은 자원을 꺼낼 블록"
print "두번째 프로세서 연결은 필터(운송자원 명령용)"
ubind @poly
print "이 위의 Bind에 유닛 설정"
ucontrol boost 1 0 0 0 0
uradar any any any distance turret1 1 p
sensor cp p @totalItems
sensor cfp p @itemCapacity
sensor flg p @flag
jump 2 greaterThanEq cp 1
print "일할 드론의 번호를 이 밑의 Jump에 입력"
jump 16 equal flg 1
print "드론 여러대 사용 시 이 위의 Jump를 복제"
print "주의:복제된 Jump는 연결 위치가 바뀔수 있음"
print "원본 Jump가 연결된 곳으로 변경 필요"
jump 2 always flg 1
getlink c 0
getlink s 1
sensor so s @config
sensor cx c @x
sensor cy c @y
ucontrol approach cx cy 5 0 0
ucontrol itemTake c so cfp 0 0
첫번째 연결은 코어/창고 등 자원을 꺼낼 곳
두번째 연결은 어떤 자원을 꺼낼 지 명령을 내리기 위한, 아무 곳에 있어도 상관없는 필터나 언로더 등
정상작동한다면 설정한 번호의 유닛이 접근하여 해당 자원을 챙긴다
<자원 요청원 프로세서>
print "자원을 넣을 창고 등의 블록에 프로세서 연결"
ubind @poly
print "이 위의 Bind에 유닛 설정"
ucontrol boost 1 cfp 0 0 0
uradar any any any distance turret1 1 p
sensor cp p @totalItems
sensor cfp p @itemCapacity
sensor flg p @flag
jump 1 equal cp 0
print "일할 드론의 번호를 이 밑의 Jump에 입력"
jump 15 equal flg 1
print "드론 여러대 사용 시 이 위의 Jump를 복제"
print "주의:복제된 Jump는 연결 위치가 바뀔수 있음"
print "원본 Jump가 연결된 곳으로 변경 필요"
jump 1 always x false
getlink c 0
sensor cx c @x
sensor cy c @y
ucontrol approach cx cy 5 0 0
ucontrol itemDrop c cfp 0 0 0
첫번째 연결은 코어/창고 등 자원을 저장할 곳
정상작동한다면 설정한 번호의 유닛이 접근하여 가지고 있는 자원을 저장한다
<채굴 프로세서>
print "첫번째 프로세서 연결은 자원을 넣을 블록"
print "두번째 프로세서 연결은 필터(채굴자원 명령용)"
print "주의:코어에서 채굴 시 자동으로 코어에 저장됨"
ubind @poly
print "이 위의 Bind에 유닛 설정"
ucontrol boost 1 itm 0 0 0
uradar any any any distance turret1 1 u
sensor flg u @flag
print "일할 드론의 번호를 이 밑의 Jump에 입력"
jump 14 equal flg 2
print "드론 여러대 사용 시 이 위의 Jump를 복제"
print "주의:복제된 Jump는 연결 위치가 바뀔수 있음"
print "원본 Jump가 연결된 곳으로 변경 필요"
jump 3 always flg 2
getlink c 0
getlink f 1
sensor it u @totalItems
sensor itf u @firstItem
sensor itm u @itemCapacity
sensor cx c @x
sensor cy c @y
sensor oref f @config
jump 25 equal it 0
jump 29 notEqual itf oref
jump 29 equal it itm
ulocate ore core true oref ox oy found building
ucontrol approach ox oy 9 0 0
ucontrol mine ox oy 0 0 0
jump 3 notEqual it itm
ucontrol approach cx cy 6 0 0
ucontrol itemDrop c itm 0 0 0
첫번째 연결은 코어/창고 등 자원을 저장할 곳
두번째 연결은 어떤 자원을 채굴할 지 명령을 내리기 위한, 아무 곳에 있어도 상관없는 필터나 언로더 등
정상작동한다면 설정한 번호의 유닛이 해당 자원을 채굴하여 저장소에 넣는다
채굴 장소 주변에 코어가 있을 경우 채굴한 자원들이 즉시 코어로 이동되므로 주의
모든 프로세서 코드에는 설정법이 설명되어 있다
유닛 설정 및 번호 지정에 대해선 이 설명들을 읽을 것
프로세서 활용에 익숙하다면, 수송과 채굴 외의 다른 작업도 특정 번호만 지정해서 수행시키는 코드는 쉽게 만들 수 있을 것
이 때 번호할당 프로세서를 활용하면 유용하다
<예제 설계도>
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
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.