컴퓨터크래프트 강좌

[컴퓨터크래프트] 26. 컴퓨터크래프트 1.6 업데이트!


해당 강좌는 Computercraft 1.62를 사용합니다.


안녕하세요!

오랜만에 컴퓨터크래프트 강좌를 쓰는군요. 무려3달만이네요.

이번 강좌는 어제 알게된 컴퓨터크래프트 업데이트입니다.

모드 자체는 3월 말에 업데이트되었지만 전 업데이트되었다는걸 어제 알았어요.

그래도 안지 하루만에 쓰는건 아주 빨라서 대단한거 아닌가요?


26-1. 새로운 컴퓨터, 포켓컴퓨터!



컴퓨터크래프트 모드도 유행을 따르나봅니다.

요즘 스마트폰도 유행이듯이, Pocket Computer이라는 생긴건 스마트폰이고, 잘 생각해보면 노트북이라고 할수 있는 아이템이 생겼습니다.

이제는 당연하듯이 돌로 만든게 있고 Advanced, 금으로 만든게 있습니다.


사용방법은 간단합니다.

아이템을 들고 우클릭을 하면

이런 GUI가 뜹니다.

사용방법도 일반 컴퓨터와 다를게 하나도 없습니다.

프로그래밍도 똑같이 가능하고요.

위의 프로그램은 1초마다 1에서 10까지 카운트다운..이 아닌 카운트업을 하는 프로그램입니다.

프로그램 실행도 동일합니다.

그냥 들고다니면서 실행하는 컴퓨터입니다.


또한, 크래프팅으로 Wireless Modem을 붙이면 인터넷까지 가능한 노트북이 됩니다.

원격으로 밖에서 특정 프로그램을 실행할 수도 있겠군요.


또한, 이 노트북은 플레이어가 가지고 있으면 항상 실행된 상태로 남습니다. (GUI를 닫아도요.)

들고다니면서 스톱워치로도 쓸수 있겠군요.

끄는 방법은 새롭습니다.

물론 shutdown을 입력해서 끌 수도 있지만, 바닥에 던지면 몇초 후에 자동으로 꺼집니다.


그리고, 이스터에그로 숨겨둔 Falling이라는 게임이 있습니다.

실행방법은 그냥 falling을 입력하면 됩니다.

엔터

그냥 테트리스입니다.

근데 테트리스에 어떤 라인에 떨어질지 안보이고, 한 블럭이 정확히 네모가 아니라서 좀 많이 어려워요.

은근 하다보면 중독성이 있더라고요.

하지만 강좌를 써야되서 대충 끝내봤습니다.

단점이라면, 블럭을 한번에 내리는게 아닌 빠른 속도로 내리는게 불가능해요.


26-2. CraftOS에도 멀티태스킹이?


컴퓨터크래프트에서도 멀티태스킹이 가능해졌습니다!

사용방법은 foreground의 약자, fg, 혹은 background의 bg을 쓰는건데요,

foreground는 앞에 실행할때 사용됩니다.

위의 사진처럼 fg <프로그램이름>을 하신다면

자동으로 프로그램을 제일 앞의 창에 실행하게 됩니다.

순서의 앞이 아니라 그냥 실행하면 바로 그 프로그램의 창으로 이동한다는뜻입니다.


그리고 fg가 아닌 background, 배경이란 뜻을 가지고있는게 있죠.

말그대로 뒤에 실행한다는것입니다.

bg <프로그램이름> 으로 프로그램을 실행한다면, 위의 사진에 test (프로그램이름)으로 새로운 탭(Tab)이 생긴것을 보실수 있지만,

foreground처럼 바로 해당 탭으로 이동하진 않습니다. 유일하게 다른점이죠.


위에서 알아본것은 컴퓨터크래프트에 기본으로 내장되어있는 프로그램을 이용한것이고요,

그럼 직접 작성한 프로그램에서 사용하는 방법을 알아야겠죠?

shell.openTab("프로그램이름")을 사용하시면 프로그램이 새 탭에 실행됩니다.

밑에 2라는 숫자가 있는데, 그건 2번째 탭이라는 뜻입니다.

그리고 shell.switchTab(탭번호)를 입력하시면, 선택하신 탭으로 화면이 이동하게 됩니다.

위의 사진에서는 두번째 탭으로 이동하게 설정했으므로,

상단의 탭 목록에서 좌측에서 두번째인 test탭으로 자동으로 이동합니다.


26-3. 새로운 터틀?


터틀이 아주 새롭게 바뀌었습니다!

어떻게 바뀌었냐고요? 확인해보죠.

위의 사진의 터틀은 특별하기라고는 움직이는 기능밖에 없는 아주 쓸모없는 터틀입니다.

하지만 컴퓨터크래프트 버전이 1.6이라고요? 그러면 말이 달라지죠.

맘대로 왼쪽에는 칼,

그리고 오른쪽에는 곡괭이를 두는 대단한 터틀등을 만들수가 있습니다.

게다가, 크래프팅으로 만드는것이 아니기때문에 아이템교채가 자유자재입니다.

어떻게 하냐고요?

equip <슬롯> <방향>을 입력하시면 슬롯에 있는 아이템을 선택하신 방향에 둡니다.

예를들어 equip 1 left를 하면, 1번슬롯에 있는 아이템을 터틀의 왼쪽에 설치하실 수 있는겁니다.

그리고 반대로, 아이템을 빼고싶다면 unequip <방향>을 입력하시면 됩니다.


그렇게 만들어진 Melee Wireless Turtle.


그럼 이제 컴퓨터크래프트의 기본 프로그램이 아닌 직접 API를 이용해 하는방법도 알아봐야겠죠?


turtle.equip뱡향( )을 하시면 선택된 슬롯의 아이템을 가지게 됩니다.

예를들어 turtle.equipLeft( ), 혹은 turtle.equipRight( )가 가능합니다.



또한..

이제 터틀은 turtle.drop(아이템갯수), turtle.suck(아이템갯수)를 입력하면 선택한 아이템의 갯수만큼만 버리기/빼오기를 할수 있을 뿐만이 아니라,

turtle.craft(0)를 이용해 직접 아이템을 만들지는 않고 레시피가 맞는지 확인까지만 가능하게 하실수도 있습니다.


26-4. 터틀의 이름이 표시된다?


이제 터틀은 자신의 이름(label)이 터틀 위에 표시됩니다.

마치 플레이어처럼요. 이것을 이용해 pvp를 할때 플레이어의 위치를 속여서 뒷치기를 하면 재밌겠군요.

label set뿐만이 아니라, 바닐라의 이름표?(Name Tag)를 이용해 이름을 짓기도 가능합니다.


26-5. 새로운 레드넷


레드넷에 프로토콜(Protocol)이 도입되었습니다.

프로토콜은 저도 잘 모르지만, 배워본 결과 인터넷 내에 또다른 채널이라고 생각하면 될것같네요.

IRC에도 한 서버에 여러가지의 채널(방)이 있드시요.


그리고 그것을 소개하기 위해 만들어진게 chat이라는 프로그램입니다.

말그대로 컴퓨터크래프트로 채팅을 할 수 있는 프로그램인데요, 호스팅컴퓨터가 하나 있어야합니다.

chat host <채트방이름>을 이용해 호스팅을 할 수 있고요,

chat join <채팅방이름> <채팅방내에서 사용할 닉네임>을 입력하시면 채팅방에 접속이 가능합니다.

접속하면 이렇게 보입니다.

다른 유저가 접속했을때,

그리고 채팅은 이렇게 보입니다.

마인크래프트처럼 깔끔하고 멋진것 같지만, 구지 서버채팅을 사용하면 되는걸 컴크로 채팅까지 할 필요가 있나 싶네요.


그리고 API를 이용해 프로토콜이 뭔지.. 대충 알려드리겠습니다.

컴퓨터1: 일반적인 메세지를 받을때의 모습입니다.

위의 모뎀을 키고, 메세지를 받는 모드로 들어갑니다.

컴퓨터2: 이 또한 평범한 메세지를 보내는것입니다.

id 13인 컴퓨터에 Hello라는 메세지를 보내는것입니다.

컴퓨터1: 그럼 id12에서 Hello라는 메세지를 받았다고 뜨네요.

컴퓨터1: 하지만 rednet,receive( )가 아닌 rednet,receive("프로토콜")을 한다면?

컴퓨터2: 같은 메세지를 같은 컴퓨터에 그대로 보냅니다.

컴퓨터1: 아무 메세지도 오지 않았음을 확인할 수 있는데요,

컴퓨터2: 이번엔 rednet.send의 메세지 다음에 , "프로토콜이름"을 넣는다면?

컴퓨터2: 보시는것과 같이 id 12의 컴퓨터에서 Hello라는 메세지를 ftblab이라는 프로토콜으로 메세지를 받았다고 확인할 수가 있습니다.

같은 프로토콜에 접속되어 있어야 메세지를 서로 주고받을 수 있으니, 메세지의 비밀번호라고 생각해도 될것같군요.


그리고 마지막으로 Window라고 새로운 모니터 관련 API가 있는데요, 제가 모니터같은것도 잘 쓸줄 모르고 모니터도 안가르쳐드렸는데 어렵게 설명해줘봤자 못알아들을꺼잖아요?

그래서 안쓰려고요. (솔직히 설명하기 너무 귀찮아서 그래요)

그럼 이만 여기서 끝내겠습니다!

감사합니다 (꾸벅)