컴퓨터크래프트 강좌

[컴퓨터크래프트] 19. 레드스톤 신호에 반응하기

이번 강좌는 Klsos님이 요청하셔서 쓴 글입니다.

그럼 시작해보겠습니다.

먼저 컴퓨터를 모니터랑 연결시켜야 합니다.

저번 강좌를 보셨으면 아시다시피

이렇게 모니터를 m이란 이름으로 오른쪽에 있는 주변기기에 연결합니다. (모르신다면 모니터 강좌를 보고오세요)

그 다음, 레드스톤 신호를 받아야 하겠죠?

먼저 레드스톤 신호를 확인하는 무한 루프를 만들어줍니다.

while true do로 무한루프 시작한다는거 기억 하시겠죠?

그다음 컴퓨터가 redstone이란 event를 받아야 하는데요,

Player Detector강좌때 썼던것처럼 os.pullEvent("redstone")을 하시면 됩니다.

이렇게 하면 컴퓨터가 레드스톤 신호를 받을때까지 계속 기다리죠.

그다음 만약 레드스톤 신호 받는걸 특정한 사이드에서 하고싶다면

이런 식으로 if statement를 추가해 주시면 됩니다.

만약 아니시리면

이렇게 os.pullEvent("redstone") 바로 밑에 m.write("Redstone Signal Detected")를 하시면 됩니다.

이유는 os.pullEvent("redstone")을 하시면 아시다시피 redstone이라는 event가 일어날때까지 다음 코드로 안넘어갑니다.

특정한 사이드 (예: 왼쪽)의 레드스톤 신호만 받는걸 원하신다면 이렇게 하시면 됩니다.

이렇게 하시면

레드스톤 신호를 컴퓨터 앞에다 주면 아무 반응도 하지 않지만,

레드스톤 신호를 왼쪽에 주면 모니터에 문구를 프린터합니다.

궁금증이 해결되었다 믿고, 여기서 끝내겠습니다.

감사합니다.