d라이브러리









[스티브코딩쌤 - 마인크래프트] 똑똑한 코딩 로봇 ‘에이전트’로 건축을 뚝딱!

마인크래프트에서 ‘에이전트’는 코딩 명령을 정확하게 수행하는 플레이어의 대리인이에요. 에이전트는 플레이어가 하는 작업의 대부분을 대신 해줄 수 있어요. 에이전트를 똑똑하게 활용하는 방법을 알아볼게요. 

첫 번째 에이전트로 계단을 뚝딱뚝딱!

 

➊ 코드작성기를 열고 채팅명령어 ‘0’을 입력하면 에이전트가 플레이어에게 텔레포트하도록 하세요. 플레이어가 있는 위치에서 에이전트가 건축을 시작하도록 말이에요.

 

 

잠깐!에이전트를 없앨 수는 없나요?


에이전트는 마인크래프트에서 가장 강력한 개체예요. 플레이어나 몹에게 공격을 당하지 않고, 폭발이나 화염에도 피해를 받지 않아요. 만약 에이전트가 방해되는 곳에 있다면 아래 그림과 같이 ‘에이전트가 텔레포트’ 명령블록을 이용해서 다른 곳으로 보내세요. 명령블록에서 에이전트가 이동할 좌표와 바라보는 방향을 정해줄 수 있답니다. 


 


➋ 채팅명령어 ‘1’을 입력하면 에이전트가 아이템을 가져오도록 명령블록을 쌓으세요. 에이전트가 계단을 만들 때 사용할 블록을 선택하고 개수에는 가져올 블록의 양을 최대(64)로, 슬롯은 1로 입력해 주세요. 슬롯은 블록을 보관할 아이템의 위치를 말해요. 

➌ ‘이동한 곳에 블록 놓기’ 명령블록의 값이 참으로 되어 있으면 에이전트는 이동하면서 자동으로 블록을 놓을 수 있어요. 
➍ 에이전트의 이동 방향 명령블록을 추가하세요. 더 높은 계단을 만들고 싶다면 반복 횟수를 늘리면 돼요. 
➎ 키보드에서 Alt+Tab 키를 눌러 마인크래프트로 돌아간 뒤, 채팅명령어 ‘1’을 실행하세요. 다른 위치에서 건축하고 싶다면, 플레이어를 건축할 위치로 이동시킨 다음 채팅명령어 ‘0’를 입력하세요.
 

 

 

두 번째 에이전트로 타워를 만들자!

플레이어가 타워를 건축하려면 시간이 오래 걸리고, 높은 곳에서 떨어질 수 있어 위험합니다. 에이전트가 안전하게 타워를 지어 볼게요.

 


➊ 채팅명령어를 ‘2’로 약속하고 ‘+’를 눌러 변수 num1과 num2를 추가하세요. 
➋ 에이전트가 건축할 때 사용할 블록을 가져온 뒤 개수를 최대로 정해주세요.
➌ 에이전트가 이동하며 블록을 놓고 장애물이 있으면 파괴할 수 있도록 코드를 작성하세요. 
➍ ‘반복’ 명령블록을 가져와 반복 횟수에 변수 num2를 연결하세요. 이 반복 횟수는 만들어질 타워의 층수를 의미해요. 
➎ ‘반복’ 명령블록을 가져와 반복 횟수를 4회로 입력하고 에이전트가 앞으로 이동한 뒤 회전하는 코드를 작성하세요. 여기서 ‘4회’는 만들어질 타워 벽의 갯수를 의미해요. 이동 거리 값은 변수 num1로 연결하세요. 이 값에 1을 더하면 타워의 벽의 길이가 돼요.
➏ 반복을 끝낸 뒤 에이전트가 위로 이동하여 다음 층을 건축할 수 있도록 코드를 작성하세요.
➐ Alt+Tab을 눌러 마인크래프트로 돌아가 채팅명령어 ‘2 5 10’을 실행하세요. 에이전트가 한 변의 길이가 6(num1+1)칸인 10층(num2)의 타워를 만들 거예요. 채팅명령어 ‘2’과 함께 입력하는 두 가지 변수는 다르게 입력하여 원하는 타워를 건축할 수 있어요. 
 

 

 

잠깐! 에이전트는 떨어지지 않나요?
에이전트는 날아다닐 수 있기 때문에 아래에 블록이 없더라도 떨어지지 않아요. 따라서 플레이어와 달리 자유롭게 이동하며 건축물을 지을 수 있답니다. 

 

세 번째 에이전트로 지붕을 만들어라!

➊ 타워의 지붕을 짓는 코드를 작성하기 위해 채팅명령어를 ‘3’으로 약속하고 ‘+’를 눌러 변수 num1을 추가하세요. 
➋ 지붕 블록으로 사용할 블록을 선택한 뒤 개수는 최대로 정해주세요.
➌ 에이전트를 건축 시작 위치로 이동시키는 명령을 작성하세요.
➍ ‘반복’ 명령블록을 가져와 반복 횟수를 4회로 입력하세요. 여기서 ‘4회’는 만들어질 지붕의 벽 개수를 의미해요.
➎ ‘반복’ 명령블록을 가져와 반복 횟수에 변수 num1을 넣어 에이전트가 블록을 아래에 놓고 앞으로 이동하는 코드를 작성하세요. 
➏ 에이전트가 벽을 완성하면 왼쪽으로 회전할 수 있도록 하세요.
➐ Alt+Tab을 눌러 마인크래프트로 돌아가 채팅명령어 ‘3 3’을 실행하세요. 지붕의 1층이 완성되는 것을 확인한 뒤 채팅명령어 ‘3 1’을 실행해서 지붕의 2층을 완성하세요.

 

 

잠깐!플레이어가 직접 건축하면 더 빠르지 않을까요?
예로 보여드린 건축물은 직접 건축하는 것이 더 편할 수 있어요. 하지만 건축물의 크기가 커질수록 플레이어가 건출물을 직접 만들기는 더 어려워진답니다. 지금까지 작성한 타워만들기 코드의 입력 변수만 바꿔서 더 넓고 높은 타워를 만들어 보세요!

 

네 번째 에이전트, 자동으로 길을 걷는다?!

에이전트는 주변 블록을 감지하는 기능도 있어요. 에이전트가 블록으로 만들어진 길을 감지하여 따라가는 코드를 작성해 볼게요.

➊ ‘무한반복 실행’ 명령블록을 가져온 뒤 에이전트가 자동으로 장애물을 파괴할 수 있도록 코드를 작성하세요. ‘무한반복 실행’ 명령블록은 코드실행 버튼을 누르면 바로 실행돼요.
➋ ‘만약 ~이면 실행’ 명령블록을 가져온 뒤 ‘+’버튼을 눌러 조건을 추가하세요.

 

 

 

➌ 첫 번째 조건문에 ‘에이전트가 블록 탐지’ 명령블록을 연결하여, 앞쪽에서 블록을 탐지했을 때는 에이전트가 앞으로 이동할 수 있도록 하세요.
➍ 같은 방법으로 두 번째 조건문에는 왼쪽에서 블록을 탐지했을 때 에이전트가 왼쪽으로 이동할 수 있도록 하세요. 
➎ 세 번째 조건문에서는 오른쪽에서 블록을 탐지했을 때 에이전트가 오른쪽으로 이동할 수 있도록 하세요. 
➏ 네 번째 조건문에서는 뒤쪽에서 블록을 탐지했을 때 에이전트가 뒤로 이동할 수 있도록 하세요. 
➐ 모든 조건을 만족하지 못하는 경우 채팅창에 ‘이동 대기중’이라는 메시지가 나오도록 하세요. 이 메시지가 빠르게 반복되지 않도록 명령이 2초 동안 일시 중지하도록 하세요.
➑ 코드 실행 버튼을 누르지 않은 상태에서 Alt+Tab을 눌러 마인크래프트로 돌아가 에이전트가 지나갈 길을 블록으로 만들어 주세요. 어떤 블록이든 사용해도 되고 길의 모양도 자유롭게 만드세요.

 

 

 

➒ Alt+Tab을 눌러 다시 코드 작성기로 돌아가 코드 실행 버튼을 누른 뒤 마인크래프트에서 에이전트가 블록을 따라 이동하며 블록을 파괴하는 모습을 확인하세요. 

 

잠깐! 만약 에이전트 앞에 두 갈래 길이 나온다면?


작성한 코드의 조건문을 보면 에이전트의 앞쪽, 왼쪽, 오른쪽, 뒤쪽 순서로 판단하고 있어요. 따라서 에이전트의 왼쪽과 오른쪽에 모두 블록이 있다면 에이전트는 왼쪽에 있는 블록을 먼저 감지하기 때문에 왼쪽으로 이동한답니다. 마찬가지로 세 갈래 길이 나온다면 가장 먼저 감지된 앞으로 이동하지요. 이렇게 작성된 코드의 위에서부터 아래로 차례로 실행되는 것을 ‘순차구조’라고 말해요. 

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2021년 16호 어린이과학동아 정보

  • 이상민 교사,크리에이터
  • 에디터

    이다솔 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 게임공학
이 기사를 읽은 분이 본
다른 인기기사는?