d라이브러리









[스티브코딩쌤 - 마인크래프트] 몬스터 잡고 보상 받자!

 

 

플레이어가 몬스터를 잡은 성과를 점수로 표시해 다른 플레이어와 경쟁을 해 보면 어떨까요? 몬스터를 잡으면 랜덤 아이템도 주면서요. 이번엔 플레이어 중 누가 많은 점수를 얻는지 겨루는 게임을 만들어 볼게요. 이번 시간에 배우는 코드로도 재밌는 게임을 즐길 수 있지만, 지난 화에서 배운 몬스터 서바이벌 게임 코드에 이어서 제작해도 좋아요. 

 

첫 번째 점수 약속하기  

 

 

내가 얼마나 많은 몬스터를 잡았는지 점수를 보여 주도록 만들게요. 플레이어가 잡은 몬스터 수를 변수로 정하고 점수를 게임 화면에 표시하는 코드를 만들어 봐요. 

 

 

 

➊ ‌코드 작성기에서 채팅명령어를 ‘0’으로 약속하세요. 
➋ ‌‘플레이어-다음 치트키 실행’ 명령블록을 가져와 화면과 같이 첫 번째 명령어를 작성하세요. 몬스터를 잡은 수를 스코어보드 값 ‘point’에 저장하는 명령이에요. 이 값은 ‘점수’로 나타날 거예요.
➌ ‌같은 방법으로 두 번째와 세 번째 명령어를 작성하세요. 두 번째 명령어는 모든 플레이어들의 점수를 0점으로 정하는 명령이고, 마지막은 점수를 화면 오른쪽에 표시하는 명령이에요.
➍ ‌‘변수-변수 만들기’에서 변수 ‘점수’를 만들고 ‘점수에 저장’ 명령블록을 가져오세요.

 

 

두 번째 게임 진행 코드 

 

게임을 준비하고 몬스터를 소환하는 코드를 만들어 봐요. 지난 시간에 배운 몬스터 서바이벌 게임 코드를 그대로 사용해도 괜찮아요.

 

 


➊ ‌코드 작성기에서 채팅명령어를 ‘1’로 약속하세요. 
➋ ‌‘몹-블록이나 아이템 주기’ 명령블록을 가져와 대상을 ‘모든 플레이어’로 바꾸세요. 
➌ ‌‘블록-아이템’ 명령블록을 가져와 아이템을 ‘다이아몬드 검’으로 바꾸세요.
➍ ‌‘플레이어-다음 치트키 실행’ 명령블록을 가져와 화면과 같이 명령을 적으세요. 
➎ ‌‘게임 플레이-시간 설정’ 명령블록을 가져와 시간을 ‘밤’으로 바꾸세요.
➏ ‌‘반복-반복(repeat)’ 명령블록을 가져와 반복 횟수를 ‘100’으로 바꾸세요. 
➐ ‌‘몹-소환’, ‘위치-월드’ 명령블록을 가져와 화면과 같이 코드를 작성하세요. 자신이 만든 월드에 따라 좌푯값을 바꿔도 돼요.
➑ ‌‘몹-몬스터’ 명령블록을 가져와 몬스터를 ‘좀비’와 ‘스켈레톤’으로 바꾸세요.
➒ ‌‘반복-일시중지’ 명령블록을 가져와 시간을 ‘3000ms(3초)’으로 바꾸세요. 

 

 

세 번째 몬스터 보상 만들기

몬스터를 잡을 때마다 보상을 주는 코드를 만들어 볼게요. 먼저 점수를 올리는 보상 코드를 만들고, 다음으로 아이템을 무작위로 주는 보상 코드를 만들 거예요. 

 

 


➊ ‌‘고급-함수-함수 만들기’를 눌러 함수 ‘점수 보상’을 만드세요.
➋ ‌‘논리-만약 아니면 실행’ 명령블록을 가져와 ‘+’를 눌러 조건을 추가하세요. 
➌ ‌‘논리-비교 연산’ 명령블록과 변수 ‘점수’를 가져와 화면과 같이 조건식을 완성하세요. 
➍ ‌‘변수-점수 값 증가’ 명령블록을 가져와 연결하세요. 
➎ ‌‘플레이어-다음 치트키 실행’ 명령블록을 가져와 화면과 같이 명령어를 작성하세요. 스코어보드 값 point를 1만큼 증가시키는 명령이에요.
➏ ‌➋~➎와 같은 방법으로 나머지 코드를 완성하세요. 현재 플레이어의 점수가 높을수록 몬스터 하나를 잡을 때 올라가는 점수 값이 작아져요.

➐ ‌‘고급-함수-함수 만들기’를 눌러 함수 이름을 ‘랜덤보상’으로 정하고 매개변수 ‘수형(Number)’을 추가하세요. 
➑ ‌‘논리-만약 아니면 실행’ 명령블록을 가져와 ‘+’를 눌러 조건을 추가하세요. 
➒ ‌‘논리-비교 연산’ 명령블록을 가져와 화면과 같이 조건식을 만드세요. 함수식에 있는 매개변수 ‘num’를 끌어와 조건식에 넣으세요.
➓ ‌‘몹-다음 효과 부여하기’ 명령블록을 가져와 화면과 같이 작성하세요. 
11 ‌➑~➒와 같은 방법으로 조건식을 작성하세요. 
12 ‌‘몹-블록이나 아이템 주기’, ‘블록-아이템’ 명령블록을 가져와 화면과 같이 코드를 작성하세요. 매개변수 ‘num’에 따라 다른 보상이 주어져요. 

 

 


13 ‌‘몹-몹이 죽었다면 실행’, ‘몹-몬스터’ 명령블록을 가져와 화면과 같이 코드를 작성하세요. 플레이어가 좀비를 잡으면 아래 코드가 실행되는 명령이에요.
14 ‌‘함수-호출 랜덤보상’, ‘계산-정수 랜덤값’ 명령블록을 가져온 뒤 화면과 같이 코드를 작성하세요. 함수의 매개변수 값이 0부터 75까지의 정수 중에서 무작위로 정해져요.
15 ‌‘함수-호출 점수 보상’ 명령블록을 가져오세요.
16 ‌13~15와 같은 방법으로 스켈레톤을 잡았을 때 실행되는 코드를 작성하세요. 매개변수의 범위는 좀비가 죽었을 때보다 크게 90까지 잡았어요. 랜덤보상을 받을 가능성을 높이기 위해서죠.
17 ‌코드 시작 버튼을 누르고 ‘Alt+Tab’을 눌러 마인크래프트로 돌아가 채팅명령어 ‘0’을 실행하세요. 화면 오른쪽에 점수(스코어보드 값)가 표시돼요. 
18 ‌채팅명령어 ‘1’을 실행해 게임을 시작하세요. 몬스터를 잡으면 점수가 올라가요. 힘 효과나 황금사과도 무작위로 얻을 수 있어요.

 

 

 

잠깐! 함수와 매개변수에 대해 더 자세히 알려주세요.  


함수는 약속한 명령이 실행되는 상자라고 생각하면 쉬워요. 상자 속에 입력 값을 넣으면, 명령이 실행된 후 출력 값이 결과물로 나오지요. 입력 값에 따라 명령이 바뀌게 하는 ‘매개변수’를 상자 속에 정해 줄 수도 있어요. 예를 들어, 이번 코드에서는 매개변수 ‘num’이 75보다 크거나 같으면 힘 효과를 주는 명령이 실행되고, 그렇지 않을 때는 다른 명령이 실행되죠. 이렇게 자주 쓰는 코드를 함수로 약속해 두면 코드를 간결하게 표현할 수 있답니다.

 

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

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

2022년 10호 어린이과학동아 정보

    🎓️ 진로 추천

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