d라이브러리









[스티브코딩쌤 - 마인크래프트] 수학을 재밌게 공부하자! 퀴즈 러닝 게임

 

 

곱셈과 나눗셈 같은 연산 문제를 푸는 건 지루하지만 수학 공부에서 꼭 필요한 부분이에요. 
이번 시간에는 수학 공부를 즐겁게 하기 위해, 연산 문제를 맞히면 에이전트가 달리는 퀴즈 러닝 게임을 만들어 봐요.

 

 

 

첫 번째 게임 준비 코드 작성하기   

에이전트가 달릴 길을 만들고 에이전트를 출발 위치로 이동시키는 코드를 작성해 봐요.

 

 


➊ ‌코드 작성기에서 채팅명령어를 ‘0’으로 약속하세요. 
➋ ‌‘모양-선 모양 만들기’ 명령블록을 가져와 블록을 ‘빨간색 콘크리트’로 바꾸세요. 
➌ ‌‘위치-월드좌표’ 명령블록을 가져와 시작과 끝 좌표에 각각 연결하고 화면과 같이 좌표를 바꾸세요. 빨간 길을 x축 방향으로 50칸 길이만큼 만드는 명령이에요.
➍ ‌‘에이전트-에이전트가 텔레포트’ 명령블록을 가져오세요. 
➎ ‌‘위치-월드좌표’ 명령블록을 가져와 에이전트가 빨간 길보다 한 칸 위에 오도록 좌푯값을 입력하세요. 이어서 에이전트가 x축 방향으로 이동할 수 있도록 방향을 ‘동쪽(+x)’으로 바꾸세요.

 

 

두 번째 문제 출제 코드 작성하기

나눗셈 혹은 곱셈 문제 두 개가 무작위로 출제되도록 만들어 봐요. 이때, 나눗셈 문제는 나누어 떨어지는 조건을 만족할 때만 실행되도록 할게요.

 

 


➊ ‌코드 작성기에서 채팅명령어를 ‘1’로 약속하세요. 
➋ ‌‘변수-변수 만들기’를 눌러 변수 ‘수1’과 ‘수2’를 만들고 ‘변수 저장’ 명령블록을 가져오세요. ‘계산-정수 랜덤값’ 명령블록을 가져와 수의 범위를 정해 주세요. 수의 범위에 따라 문제의 난이도가 결정되니 적절한 값을 입력해 보세요. 
➌ ‌‘논리-만약(if) 아니면(else)’ 명령블록을 가져오세요. ‘논리-등호’, ‘계산-큰 값’, ‘계산-작은 값’, ‘나머지’ 명령블록과 변수 ‘수1’, ‘수2’를 가져와 화면과 같이 조건식을 작성하세요. 큰 수에서 작은 수를 나누고 나머지가 0인 경우에만 나눗셈 문제를 내도록 하는 명령이에요.
➍ ‌‘플레이어-말하기’ 명령블록을 가져와 대상을 ‘자기 자신’으로 바꾸세요. ‘문자열-연결한 문자열’, ‘계산-큰 값’, ‘계산-작은 값’ 명령블록을 가져와 화면과 같이 코드를 작성하세요. 
➎ ‌‘변수-변수 만들기’를 눌러 변수 ‘나눗셈’을 만들고 ‘변수 저장’ 명령블록을 가져온 뒤 ‘논리-참’ 명령블록을 가져와 연결하세요. ‘나눗셈’은 나눗셈 문제가 출제되었다는 것을 알려주는 변수예요. 
➏ ‌같은 방법으로 나눗셈 조건을 만족하지 못하는 경우의 코드도 작성해 주세요. 

 

 

잠깐! 나눗셈과 곱셈 중에서 어떤 문제가 더 많이 나올까요? 


명령을 실행해 보면 곱셈 문제가 더 많이 나올 거예요. 왜냐하면 나눗셈 문제가 나오는 조건이 까다롭기 때문이에요. 나눗셈 문제가 나오기 위해서는 변수 ‘수1’과 ‘수2’가 나누어 떨어지는 관계여야 하거든요. 즉, 무작위로 선택된 두 수가 서로 약수와 배수의 관계에 있어야 하지요. 두 수가 꼭 나누어 떨어져야 나눗셈을 할 수 있는 건 아니지만, 게임 난이도를 적절히 설정하기 위해 이런 조건을 두었답니다.

 

세 번째 답안 코드 작성하기

플레이어가 답을 입력하도록 하고, 이 답이 정답인지 비교해 결과를 말하는 코드를 작성해 봐요. 만약 플레이어가 정답을 입력하면 앞으로 3칸을, 오답을 입력하면 뒤로 1칸을 이동할 거랍니다.

 

 


➊ ‌코드 작성기에서 채팅명령어를 ‘a’로 약속하고 ‘+’를 눌러 변수 ‘num1’을 추가하세요. 
➋ ‌‘논리-만약(if) 아니면(else)’ 명령블록을 가져오세요. ‘변수-변수 나눗셈’ 명령블록을 가져와 조건식에 연결하세요. 
➌ ‌‘논리-만약(if) 아니면(else)’ 명령블록을 가져오세요. ‘논리-등호’, ‘계산-큰 값’, ‘계산-작은 값’, ‘나누기’ 명령블록과 변수     
‘수1’, ‘수2’, ‘num1’을 가져와 화면과 같이 코드를 작성하세요. 플레이어가 입력한 변수 ‘num1’이 정답인지 확인하는 명령이에요. 
➍ ‌‘플레이어-말하기’ 명령블록을 가져와 대상을 ‘자기 자신’으로 바꾸고 정답이라고 알려주는 코드를 작성하세요.
➎ ‌‘에이전트-에이전트가 이동 방향’ 명령블록을 가져와 거리 값을 ‘3’으로 바꾸세요.
➏ ‌같은 방법으로 플레이어의 답이 틀렸을 때는 에이전트가 뒤로 ‘1’ 만큼 이동하는 코드를 작성하세요. 
➐ ‌출제된 문제가 나눗셈이 아닐 때는 곱셈 문제의 답을 확인해야 해요. ‘수1’과 ‘수2’를 곱한 정답과 플레이어가 입력한 변수 ‘num1’이 같은지 확인하는 조건식을 작성하세요. 
➑ ‌앞서 코드를 작성한 방법으로 곱셈 문제가 출제된 경우에도 플레이어의 답이 정답이면 에이전트가 앞으로 3칸 이동하고, 오답이면 뒤로 1칸 이동하는 코드를 작성하세요.
➒ ‌‘플레이어-다음 채팅명령어 실행’ 명령블록을 가져와 ‘1’을 입력하세요. 답안을 작성한 뒤 다시 문제를 낼 수 있도록 채팅명령어 1을 실행하는 코드예요.
➓ ‌‘코드시작’ 버튼을 누르고 ‘Alt+Tab’을 눌러 마인크래프트로 돌아가 채팅명령어 ‘0’을 실행하세요. 빨간 길이 만들어지고 에이전트는 출발점으로 이동해요. 채팅명령어 ‘1’를 실행하면 문제가 나와요. 문제를 확인하고 채팅창에 ‘a ’를 친 뒤 답을 입력하세요. 정답이라면 에이전트가 앞으로 3칸, 오답이라면 뒤로 1칸 이동해요.

 

 

 

잠깐! 친구들과 같이 할 수 있을까요?
모든 플레이어들이 똑같은 코드를 작성하면 함께 플레이할 수 있어요. 에이전트끼리는 서로 겹치지 않기 때문에 누구의 에이전트가 먼저 도착하는지 경쟁하는 게임을 즐길 수 있어요. 문제를 알려주는 메시지도 각각의 플레이어에게만 전달되기 때문에 서로 문제가 헷갈릴 일도 없어요. 

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

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

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

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

    이다솔 기자 기자

🎓️ 진로 추천

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