복불복은 ‘좋고 좋지 않음’이라는 뜻의 한자어예요. 게임에서는 예상할 수 없는 무작위성을 뜻하지요. 무작위 요소는 게임 속에 불확실함을 주어 재미를 더해줘요. 이번 시간에는 정확하고 빠른 이동 기술이 필요한 파쿠르 게임에 복불복 요소를 더해서 만들어 볼게요.
첫 번째 파쿠르 월드 만들기
여러 색깔 블록을 무작위 좌표에 놓아 월드를 만들어 볼게요. 블록 아래에는 용암이 있어 플레이어가 떨어지면 죽어요.
➊ 코드 작성기에서 채팅명령어를 ‘1’로 약속하세요.
➋ ‘게임 플레이-게임 모드 변경’ 명령블록을 가져와 대상을 ‘모든 플레이어(또는 자기 자신)’으로 바꾸세요.
➌ ‘플레이어-다음 치트키 실행’ 명령블록을 가져와 화면과 같이 입력하세요. 모든 플레이어가 명령을 실행하는 당시 위치에서부활하도록 하는 명령이에요.
➍ ‘블록-블록 채우기’ 명령블록을 가져와 블록을 ‘용암’으로 바꾸고 좌표를 화면과 같이 입력하세요. 파쿠르 게임에 실패했을 때 플레이어가 용암으로 떨어지게 돼요.
➎ ‘반복-반복’ 명령블록을 가져와 횟수를 ‘50’으로 바꾸세요.
➏ ‘블록-블록 놓기’ 명령블록을 가져와 블록을 ‘흰색 콘크리트’로 바꾸고, ‘위치-랜덤 위치 선택’ 명령블록을 가져와 화면과 같이 좌표를 입력하세요.
➐ ‘작성한 블록 놓기’ 명령블록을 가져와 마우스 오른쪽 버튼을 클릭하고 ‘복사’를 누른 뒤 똑같은 명령블록을 연결하세요. 같은 방법으로 파란색 콘크리트, 빨간색 콘크리트, 노란색 콘크리트 블록을 놓는 명령을 화면과 같이 작성하세요. 흰색 콘크리트 블록은 100개, 나머지 블록들은 50개씩 놓여요.
➑ ‘게임 플레이-메시지 보여주기’ 명령블록을 가져와 모든 플레이어에게 게임 시작을 알리는 메시지가 보이게 하세요.
➒ ‘코드시작’ 버튼을 누르고 Alt+Tab을 눌러 마인크래프트로 돌아가 채팅명령어 ‘1’을 실행하세요. 평면 월드에서 실행하면 장애물이 없어서 좋아요.
➓ 게임 시작을 알리는 메시지가 나올 때까지 플레이어는 움직이면 안 돼요. 블록의 좌표가 플레이어를 중심으로 하는 상대좌표로 설정돼, 플레이어가 움직이면 블록이 의도치 않았던 곳에 설치돼요.
잠깐! 게임이 너무 쉬워요!
블록 놓기 명령의 반복 횟수를 줄이면 플레이어가 밟을 수 있는 블록이 줄어들어 게임의 난이도가 높아져요. 단, 반복 횟수를 지나치게 많이 줄이면 플레이어가 이동할 수 없는 곳이 생기니 주의하세요. 블록이 놓이는 공간은 가로 5칸, 세로 100칸으로 총 500칸이에요. 이 안에 들어갈 블록이 몇 개이면 적당할지 계산해, 자신의 실력에 맞는 반복 횟수를 찾아보세요.
두 번째 복불복 추가하기
플레이어가 이용할 수 있는 블록은 네 가지 색깔이에요. 각 블록마다 무작위로 플레이어에게 주는 효과를 추가해 볼게요.
➊ 코드 작성기에서 채팅명령어를 ‘0’으로 약속하세요.
➋ ‘변수’에서 변수 ‘복불복’을 만든 뒤 ‘시작 위치에 저장’ 명령블록을 가져오세요.
➌ ‘수학-정수 랜덤값’을 가져와 변숫값에 연결한 뒤, 1부터 3까지 정수 랜덤값이 ‘복불복’에 저장되도록 입력하세요. 세 가지 경우가 무작위적으로 발생하도록 설정한 거예요.
➍ ‘반복-무한반복 실행’ 명령블록을 가져오세요.
➎ ‘논리-만약(if)’과 ‘블록-블록 탐지’ 명령블록을 가져온 뒤 블록을 ‘빨간색 콘크리트’로 바꾸고 화면과 같이 좌표를 입력하세요. 플레이어보다 1칸 아래에 있는 위치에 빨간색 콘크리트가 있으면 조건문을 실행시키는 명령이에요.
➏ ‘논리-만약(If)’ 명령블록을 가져와 ‘+’를 눌러 조건을 추가하세요.
➐ ‘논리-비교연산’, ‘변수-복불복’ 명령블록을 가져와 ‘복불복’의 변숫값이 1이 되면 실행되는 조건문을 작성하세요. 먼저 ‘몹-소환’과 ‘몹-마법 발사’ 명령블록을 가져와 화면과 같이 코딩하세요. 플레이어보다 10칸 위에 있는 곳에서 화살이 떨어지는 명령이에요.
➑ 같은 방법으로 ‘복불복’의 변숫값이 2가 되면 실행되는 조건문을 작성하세요. 먼저 ‘몹-다음 효과 부여하기’ 명령블록을 가져와 자기 자신에게 점프강화 효과가 5초 동안 5만큼 부여되도록 코드를 작성하세요. 점프강화 효과는 플레이어가 더 높이 뛸 수 있게 해줘요.
➒ 같은 방법으로 ‘복불복’의 변숫값이 3이 될 때 공중부양 효과가 3초 동안 3만큼 부여되도록 코드를 작성하세요. 공중부양 효과는 플레이어가 서서히 떠오르도록 해주어 공중에서 이동할 수 있어요. 단, 효과가 사라지면 떨어지니 주의하세요.
➓ 위에서 작성한 코드 위에서 마우스 오른쪽 버튼을 클릭하고 ‘복사’를 눌러 똑같은 코드를 하나 더 만드세요. 새로운 코드에서는 ‘블록 탐지’ 명령블록의 블록을 ‘파란색 콘크리트’로, 마법 발사 ‘화살’이 실행되는 ‘복불복’의 변숫값을 ‘2’로 바꾸세요. 이어서 점프강화 효과가 실행되는 변숫값을 ‘3’으로 바꾸세요.
11 같은 방법으로 코드를 복사한 뒤, 노란색 콘크리트 블록을 탐지하도록 복사한 코드를 수정하세요. ‘블록 탐지’ 명령블록의 블록을 ‘노란색 콘크리트’로, 마법 발사 화살이 실행되는 ‘복불복’의 변숫값을 ‘3’으로, 점프강화 효과가 실행되는 변숫값을 ‘1’로 바꾸세요. 세 가지 색깔블록을 감지하는 코드를 작성했어요. 블록을 감지했을 때 실행되는 효과는 무작위로 선택되는 복불복 변숫값에 따라 달라져요. 예를 들어 복불복 변숫값이 1이면 빨간색 콘크리트 블록 위에서는 화살을 발사하고, 파란색 콘크리트 블록 위에서는 공중부양 효과를, 노란색 콘크리트 블록 위에서는 점프강화 효과를 부여해요.
12 ‘코드시작’ 버튼을 누르고 Alt+Tab을 눌러 마인크래프트로 돌아가 채팅명령어 ‘0’을 실행하세요. ‘복불복’의 변숫값이 1부터 3까지의 수 중에서 무작위로 정해져요. 흰색과 달리 다른 색깔 콘크리트 블록들은 어떤 효과가 부여될지 모르기 때문에 조심해서 이동해야 해요. 각 블록의 효과를 확인했다면 불리한 효과를 피하면서 신속하게 도착점까지 이동해 보세요.
잠깐! 블록의 효과로 쓸 만한 게 더 있을까요?
조건문 명령블록 아래에 다음과 같은 효과 명령블록을 넣을 수 있어요.
➊ TNT가 터져서 주변에 있는 블록들을 모두 없애 버려요. 파쿠르맵을 다시 만들어야 한다는 단점이 있어요.
➋ 화면이 어지럽게 흔들리는 멀미 효과예요. 멀미 효과가 있으면 쉽게 움직이기 어려워요.
➌ 플레이어 아래에 얼음블록을 놓아요. 플레이어가 미끄러질 수 있기 때문에 파쿠르 난이도가 올라가요.