본문 바로가기

마인크래프트(Minecraft)/Computer Craft

[Computer Craft] 11. <기초강좌> 터틀 입문

0. 서론


그동안 올려두었던 포스트 글은 어느정도 숙달 되었던 분들을 위해 작성을 했었죠.

그러다보니 애초 API 들을 재대로 사용할줄을 모르는 분들이 있기 때문에

기초 처음부터 작성해보자 하는 마음을 가지게 되었죠.

실제로 구글, 네이버에 검색해도 재대로된 강좌글을 단 하나도 찾지 못했습니다.

저보다 뛰어난분을 만나야 제능력이 더 올라갈텐데 말이죠.

조합법은 생략한채 본문글 들어갑니다.




1. 터틀의 종류


터틀은 기본적으로 크게 7종류의 터틀로 나뉘는데요.

처음 조합시 나오는 기본 터틀외에 6개의 다른 특징을 가진 터틀이 있습니다.


1. 채광(Mining) 터틀 : 석탄, 철, 금, 다이아몬드등 광물을 얻어낼 수 있습니다.

2. 농사(Faming) 터틀 : 땅을 갈아주고 작물을 수확할 수 있습니다.

3. 근접공격(Melee) 터틀 : 강한데미지로 몹이나 유저를 공격할 수 있습니다.

4. 벌목(Felling) 터틀 : 나무를 베어서 통나무를 얻거나 묘목을 심을 수 있습니다.

5. 채굴(Digging) 터틀 : 흙, 잔디등을 채굴이 가능합니다.

6. 조합(Crafty) 터틀 : 아이템을 조합해줍니다.

7. 기본터틀 : 다른역활 터틀을 만들기전에 만드는 터틀입니다. 자원 채취행위 및 공격행위와 조합행위는 불가능합니다.




2. 터틀의 역할의 분류(API)


터틀이 도구를 무엇을 들었느냐에 따라 다른 역활을 수행하는데요.

채광터틀 덕분에, 벌목, 채굴 터틀은 말 그대로 잉여가 되었죠. (이럴거면 만들지나 말던가..)

채광 터틀은 땅도팔수 있고, 나무도 벨 수 있고 그야말로 최고의 일꾼이죠.

허나 벌목이나, 채굴 터틀은 맞지 않는 광물을 dig 명령어로는 부술수는 있지만 자원을 얻지 못합니다.

하나더 조합터틀도 잉여가 됬는데요.

다른 터틀에 조합대를 넣으면 조합 기능까지 첨부되어서 이 터틀도 잉여가 되어 결국 다야 곡괭이나, 다야검, 다야괭이 같은것을 넣을 수 밖에 없게 되거든요

그러면 API본론으로 들어 가봅시다.


1. 공통API

모든 터틀이 사용가능한 API 입니다.

이동, 아이템 갯수, 블럭감지, 블럭비교, 아이템 줍기, 아이템 떨구기, 아이템교환, 연료체크및 충전등이 이곳에 해당됩니다.


2. 조합 AP

조합대를 넣은 터틀만이 사용할 수 있습니다.

turtle.craft([조합횟수])


3. 채광 API

도구를 가진 터틀만이 사용할 수 있습니다.

채광(Mining), 농사(Faming), 벌목(Felling), 채굴(Digging) 터틀만이 사용할 수 있습니다.

turtle.dig()
turtle.digUp()
turtle.digDown()


4. 공격 API

도구를 가진 모든 터틀이 사용할 수 있습니다

개인견해 : 만들어 본 바 없으나 검터틀이 아무래도 많은 데미지를 주지 않을까 보고 있습니다.




3. 터틀의 주요 특징


첫째. 터틀이 한칸을 이동할떄는 항상 연료 1을 소모한다. (이동 관련 함수 6개)

둘째. 터틀은 전방, 위, 아래만 감지할 수 있다.

셋째. 유저가 둘 수 없는 공간에 블럭을 놓기 가능하다. (텅빈 하늘에서 블럭을 놓거나 계단 만들때 유용)

넷째. 아이템 갯수, 연료 잔량을 측정해주는 API 외에는 모두 BOOL(참:true 거짓:false) 값을 전달한다



4. 기타 (구시렁구시렁)


예전에 마인크래프트 1.4.7에서는 터틀 프로그래밍할시 지옥에 가면

자신이 만들어 두었던 컴퓨터소스를 가져오지 못한다는 문제점에 봉착했습니다.

그래서 소스를 웹에다 올려서 다운받는 방식이나,

소스파일 폴더를 조작해야하는 번거로운 과정을 겪어야했죠.

맵 파일이 3개로 나뉘다 보니 발생한 일이였거든요

그런데 1.5.x 이후에서는World 안에 다른 월드를 넣게끔 패치되자

이전의 번거로운점이 말끔하게 해결 되었더라고요.


이해를 돕기 위해 비교 해준다면

(기억을 더듬어 작성한 것이라 1.4.7 구조는 좀 다를 수 있습니다.)


1.4.7 (서로 독립적인 구조의 월드)

┌ 월드명

NETHER

└ ENDER


1.5.x 이후

월드명 ┬ DIM-1 (Nehter)

    └ DIM1 (Ender)


덕분에 소스를 두번이나 쳐야하는 번거로움이 사라져서 정말 편고 좋더군요. :D


다음강좌부터는 터틀 API를 하나씩 보여드리도록 할게요.

이번 포스팅글은 끝