본문 바로가기

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

[Computer Craft] 10. Web DataBase - 소스를 편하게 불러오자. 이전 강좌에서는 소스를 편하게 붙여 넣는 방법을 소개했었는데요.타인의 서버에서는 저 방법이 안되므로 다른 방법이 필요 했었죠.그렇다고 서버 어드민에게 파일을 주면서 '이것좀 넣어주세요'라고 부탁하기도 좀 부담스럽잖아요. 1. CONFIG 파일을 수정하자. 우선 이 소스를 쓰기 위해서는 서버 설정옵션을 건들여줄 필요가 있는데요.경로 : %appdata%\.minecraft\config\ 이번 강좌에서는 http api 함수를 써야하므로 ComputerCraft.cfg 파일을 메모장으로 열어서B:enableAPI_http=false 이것을 B:enableAPI_http=true이렇게 바꾸셔야합니다. 2. 시연영상 3. 소스코드 -- save file name 메시지 를 화면에 보여준다. print("save.. 더보기
[Computer Craft] 9. DataBase - 소스를 편하게 붙여보자. (자신의 서버, 싱글에서 사용 가능) 여태까지 복붙용 소스를 올리면서, 이 소스를 어떻게 복사해야할까 고민하던분이 있었더군요.세날님의 댓글을 보고, '아차 이걸 빼먹었구나' 하는 생각이 들어 포스팅을 작성합니다. 마인크래프트에서 자신이 만든 월드를 찾아가면 saves 에 있는 computer 라는 폴더가 보이는데요. 경로 : %appdata%\.minecraft\saves\월드\computer\ 이 안에 들어가면 자신이 만들었던 모든 소스들을 볼 수 있어요.상수(0,1,2,3,4,5,…) 로 된것은 현재 작성된 프로그래밍이 든 폴더(컴퓨터, 터틀)이며,disk 폴더는 플로피 디스크의 데이터가 저장되어 있는 공간이죠.labels.txt 는 레이블이 지정된 Database 라고 보면됩니다. 열어보면 자신이 지정한 레이블을 볼 수 있죠.lasti.. 더보기
[Computer Craft] 8. LABEL (레이블) 자의건 타의건간에 컴퓨터가 아이템화 되었을때는자신이 만들어 두었던 모든 프로그래밍 자료는 소실되었죠. 정확히는 소실된것은 아니며,서버나 클라이언트쪽 월드에보면 프로그래밍한 데이터가 그대로 남아있는데요. 컴퓨터가 부서지게 되면 새로운 ID값이 부여가 되기때문에기존의 자료를 다시 사용할 수 없는거에요. 싱글에서는 얼마든지 파일을 복구가 가능하지만,자신이 운영하는 서버가 아니라면 프로그래밍 복구는 불가능합니다. 그래서 LABEL(레이블) 명령어를 통해컴퓨터가 블럭화가 되어도 데이터 유실을 방지 하는 기법을 배워봅시다. 1. 시연 영상 2. 레이블 사용법 (정의되어 있는 프로그램) 컴퓨터를 설치하고 ID 값을 입력하면 현재 컴퓨터의 번호를 볼 수 있는데요.id값은 0부터 차레대로 증가한다는점이 특징이죠. 이제 .. 더보기
[Computer Craft] 7. Computer Craft 란 무엇인가? 세날(http://capture4.tistory.com)님의 요청으로 작성된 게시물 입니다. Computer Craft 모드는 줄여서 CC 라고도 불리는 모드로써 컴퓨터크래프트 제작 페이지(http://www.computercraft.info) 에서 다운 받을 수 있는데요.이 모드는 LUA 언어를 기반으로 다루고 있기 때문에 사실상 접근하기가 매우 어려운 모드죠.조합법(http://computercraft.info/wiki/Recipes) 자체는 사실상 얼마 되지 않고 단순한편입니다. 컴퓨터크래프트는 컴퓨터와 터틀 프로그램을 지원하는데 무엇을 선택하느냐에 따라 자원을 채취 할수 있느냐 그렇지 않느냐의 차이점이 있죠. 개인적으로는 단점이라고 느낀바로는 각 월드간 프로그램이 공유가 되지 않는다는 점이죠.즉 .. 더보기
[Computer Craft] 6. 무선 조정을 해보자. rednet 6. 무선 조정을 해보자. rednet 오랜만에 컴크 강좌를 쓰네요.레드넷은 무선신호를 보내서 그 신호를 받아서 처리하는 기술인데요.이 기술을 응용하면 채팅서비스. 무선조정. 노트블럭 합주곡까지 가능해요. 이번에는 레드스톤 신호를 사용한 무선조정기술을 보도록해요 1. 타입을 변환 해보자- tonumber(문자열)- tostring(정수) tonumber 는 모든 문자를 정수형으로 변환 해주는게 있어요. 예전에 설명했었지만, 복습하는 차원에서 다시 배우도록해요local i = "1" -- i 에 1이라는 문자열을 대입 정수가 아니므로 산술 계산 불가능tonumber(i) -- 문자열 1을 정수 1로 바꿔주죠 tostring 는 tonumber 와 정반대에요local i = 1tostring(i) -- 정수.. 더보기
[Computer Craft] 5. 키보드입력을 받아보자. 이번강좌는 Os.pullEvent 중 하나인 키보드 입력이에요. 키보드외에도 많으니 이벤트를 좀더 보시고 싶으시면http://computercraft.info/wiki/Os.pullEvent위 링크로 가서 보실수 있어요. 1. 강제종료를 막아보자.여태까지 문들은 CTRL+T(강제종료) 키나 CTRL+S(시스템종료) CTRL+R(시스템 재부팅)을 통해서 프로그램을 종료 시키고 소스를 볼 수 있었죠?이소스는 강제종료를 막아주는 강력한 기능을 수행해요. 본 필자도 왜 이게 막히는지 아직 잘 몰라요. 그냥 이걸 넣으면 강제 종료를 막을수 있다는것만 알아두세요. os.pullEvent = os.pullEventRaw 위 소스는 시스템종료나 시스템재부팅은 막지 못하지만, 나중에 그것도 막는 방법을 꼭 알려드릴게요 .. 더보기
[Computer Craft] 4. 비밀번호 문 예제2 지난 강좌때는 비밀번호 문을 작성했었는데 비밀번호가 소스상에 노출되는 단점을 안고 있었죠? 그래서 이번에는 소스상에 비밀번호를 넣지 않고 다른 파일 공간에 비밀번호를 가져와 사용하는 기법을 소개해요. 1. 파일을 개방하자. fs.open() fs api중 하나인 open은.. 파일을 읽기전용이나 쓰기전용으로 읽어 올 수 있어요. 물론 이 결과는 테이블형태로 저장이됩니다. 형태는fs.open("경로",[r 또는 w 또는 a])r : 파일을 읽기전용으로 개방한다.w : 기존에 같은이름으로 된 파일이 있으면 삭제하고 쓰기전용으로 개방한다.a : 기존에 같은이름으로 된 파일이 있으면 기존의 파일 데이터 끝으로 간후 쓰기전용으로 개방한다. r은 읽기전용이니, 이미 저장된 값을 가져오는것은 눈치 채셨겠죠.하지만 w.. 더보기
[Computer Craft] 3. 비밀번호 문 예제 주절주절하나하나 알려주는것보다 샘플 소스를 통해서 따라 치면서 배우게 하는게 어떨까 싶어서 중간 과정 싹 잘라내고 강좌를 하기로 변심했어요. 1. 변수를 지정하자.음. 어린애들도 본다고 가정해서 변수의 의미를 쉽게 설명해볼게요.초등학교때 배우는 산수문제중에서1+□=5이런 문제가 있잖아요?□ 는 4가 되겠지만, 답을 구하고자 하는게 아니고 □ 에 넣을수 있는 어떤 임의의 수를 변수라 할수 있어요.□+□=10 이러면 □ 에는 다양한 숫자를 넣을수 있죠?변수는 즉, 임의의 값을 넣을수 있는 어떠한 값이라고 개념을 정하도록해요.. 컴퓨터크래프트에서는 local 을 붙여서 변수를 정할수 있어요. local password = 'chick' -- password 라는 변수에 문자열 chick 를 대입 local d.. 더보기
[Computer Craft] 2. 시간을 대기 시켜보자. (os.sleep) 버전 : 1.481주요 활동 분야 : darkfate 모드서버2. 시간을 대기 시켜보자. (os.sleep) 지난 강좌에선 redstone.setOutput() 함수를 써서 레드스톤 신호를 제어했었죠.그런데 문제가 있어요. 일일이 수정하면서 쓰기에는 불편하잖아요? 그래서 이번에는 os.sleep 함수를 통해서 문 열리고 닫히는 기술을 배워보도록 해요. 지난 시간에 썼던 api 는 아래와 같았죠? redstone.setOutput("back",true) : 레드스톤신호로 문을 열고 redstone.setOutput("back",false) : 레드스톤신로 제거로 문을 닫고 자동으로 문을 닫아 주기 위해서는 어떻게해야할까요? redstone.setOutput("back",true) redstone.setOu.. 더보기
[Computer Craft] 1. 레드스톤 신호를 제어해보자. 버전 : 1.481 서론 : 주절주절 강좌를 어떤 식으로 할지 고민했었는데요. 컴퓨터크래프트는 lua 언어사용하기 때문에 저도 이 모드를 처음 접했을때는 상당히 생소했었죠.기존에 lua 언어를 이미 접해 보신분들이라면 쉽게 사용할수 있지만, 그렇지 않은 분들이 많다고 여기기 때문이죠.실제로 제가하는 darkfate 모드서버에서도 컴퓨터크래프트가 있어서 lua 언어를 사용한 기술을 다양하게 응용을 해봤었죠.그러면 강좌 시작할게요. 1. 레드스톤 신호를 제어해보자. - redstone.setOutput 어드밴스드 컴퓨터를 우클릭해서 보면 윗 그림과 같은 화면이 보이죠. 어떤 파일이 있는가를 확인하기 위해선 ls(리눅스 명령어)를 치면 현재 저장된 파일의 리스트를 알 수 있어요. 초록색 글씨로 rom 이라는 .. 더보기