아마 레드스톤 다루는 사람 중에 커다란 문 만드는 걸 싫어하는 사람은 없을 겁니다.
저도 3*3까지만 만들어서 사용하다, 최근에 플라잉 머신으로 10 * 10 사이즈의 문을 만드는 데 성공해서 기쁜 마음에 포스팅해봅니다.

문을 여닫는데 핵심이 되는 플라잉 머신입니다.
플라잉 머신, 비행 엔진 뭐 다양하게 부르는 이름이 많던데 이하 플라잉 머신이라 칭하겠습니다.

주황색 옵저버가 변화를 감지하면 옵저버가 바라보는 반대 방향으로 플라잉 머신이 움직이기 시작합니다.


주황색 옵저버와 하늘색 피스톤은 유동적으로 설치할 수 있습니다.

주황색 옵저버는 바로 뒤의 꿀 블럭에 파워만 전달해주면 됩니다.
굳이 저렇게 혼자 튀어나오지 않고 꿀 블럭 옆에 붙어도 된단 소리입니다.

하늘색 피스톤은 바로 옆의 옵저버에게 변화를 감지시켜주고, 꿀 블럭에 붙어 다니기만 하면 됩니다.
끈끈이 피스톤 등으로 대체 가능합니다.
- 그래서 전 문을 닫는 플라잉 머신엔 끈끈이 피스톤을 달아두고 그 앞에 블럭을 하나 붙여뒀습니다.

문을 닫는 장치입니다.
상술한 옵저버가 꿀 블럭 옆으로 붙었고, 피스톤은 끈끈이 피스톤으로 대체한 뒤 앞에 블럭을 하나 붙여뒀습니다.

플라잉 머신에 붙은 옵저버(빨간색으로 표시)를 중앙의 옵저버(빨간색으로 표시)가 감지하고, 보라색으로 표시한 옵저버가 붙은 끈끈이 피스톤을 작동시킵니다.
보라색으로 표시한 옵저버에서 나온 신호는 레드스톤 램프를 일제히 켜고, 옵저버가 변화를 감지해 제자리로 돌아갑니다.

플라잉 머신이 들어올 때와 나갈 때 둘 다 램프에 불이 들어오긴 하지만, 딱히 나갈 때 들어온다고 장치가 고장 날 염려는 없으니 신경 쓰지 않아도 됩니다.

여기까진 쉬웠습니다.

문을 여는 파트입니다.
레드스톤 램프를 이용하면 굉장히 간단하겠지만, 닫는 파트처럼 옵저버를 옆으로 붙이고 램프를 설치하기엔 문 뒤에 만들 벽을 침범해버리고, 옵저버가 저기 붙어있는 상태에서 레드스톤 램프를 설치하면 문을 닫는 플라잉 머신에 램프가 붙어버립니다…

그래서 택한 방식이 이겁니다.
피스톤이 밀면 플라잉 머신들의 옵저버가 일제히 바뀌며 파워를 뒤에 있는 블럭에 보내며 플라잉 머신이 움직이기 시작합니다.

다만 이 방식을 사용하면, 피스톤이 정확히 하나만 움직여야 하고, 들어올 때와 나갈 때 두 번 다 작동하면 안 됩니다.

그래서 주황색으로 표시한 부분과 하늘색으로 표시한 두 부분이 각각 플라잉 머신의 상태(들어오는지 나가는지), 마지막으로 민 피스톤을 저장하는 1 Byte의 메모리 역할을 합니다.

1 byte의 메모리긴 한데, 입력 값이 여러 개는 아니니 T Flip Flop을 이용했습니다.

버튼이 붙은 블럭에 레드스톤 신호를 주면, 신호가 뒤집힙니다.
켜져 있던 상태면 꺼지고, 꺼져있던 상태면 켜집니다.

이를 끈끈이 피스톤, 옵저버와 함께 이용하면 옵저버가 2번 작동할 때마다 작동하는 회로를 만들 수 있습니다.

하늘색 부분에는 신호가 역으로 작동하는(켜지면 꺼지고 꺼지면 켜짐) 회로를 하나 추가해두면, 마지막으로 어느 피스톤을 밀었는지 기억하고 마지막에 밀지 않은 피스톤만 밀도록 할 수 있습니다.


여기까지 제가 10 * 10 피스톤 문을 만든 방법입니다.
레드스톤 초보라 굉장히 돌고 돌아 완성했습니다.

이 문 단점 하나가 문을 여는 파트 쪽엔 벽을 만들 수 없단 겁니다.
천천히 보완을 해보려 하는데, 골이 아프네요. 😵

profile

이메일은 공개되지 않습니다.

(?)

주의 : 비밀 댓글 사용 시 수정 기능을 이용할 수 있는 시간이 지나면 작성자도 내용 확인이 불가능합니다.
  • profile
    익명

    오, BE 플라잉 머신은 찾기 힘들었는데, 잘 보고 갑니다

    • author

      감사합니다~ 아무래도 자바 에디션처럼 끈끈이 피스톤이 블럭을 뱉게 할 수가 없어서 좀 까다롭습니다. 😢