5. 온 가족이 모였다면 마이크로비트로 윷놀이를!

【활동 하기】


1. 논리 그룹 블록 살펴보기

2. 윷 만들기

3. 논리 그룹 블록 활용하기

설날이나 추석에 온 가족이 모여서 하는 민족 고유의 놀이하면 생각나는 것은 무엇인가? 바로 윷놀이다. 윷 놀이는 남녀노소 누구나 쉽게 즐길 수 있는 전략 게임으로 간단한 도구만 있어도 게임을 할 수 있다. 만약 윷이 없다면 어떤 도구를 사용할 수 있을까? 마이크로비트로 윷놀이에 사용할 윷을 만들어 보자.

1 논리그룹 블록 살펴보기

1
이미지. 메이크코드 마이크로비트 블록코딩의 스크린샷. 만약 참이면 실행 블록과 만약 참이면 실행, 아니면 실행 블록.

[만약(if) 참(true) 이면(then) 실행] 블록은 주어진 조건이 참인지 거짓인 지에 따라 연결되어 있는 명령 블록을 실행하거나 실행하지 않다.

[만약(if) 참(True) 이면(Then) 실행 아니면(else) 실행] 블록에서는 조건이 참일 경우와 거짓일 경우 각각 다른 명령을 실행한다.


블록 왼쪽 아래 + 버튼을 클릭하여 조건을 추가할 수 있으면 추가된 조건에 따라 실행되는 명령을 추가할 수 있다.

2
이미지. 메이크코드 마이크로비트 블록코딩의 스크린샷. 같은 경우의 비교연산 블록과 오른쪽이 왼쪽보다 작을 경우의 비교연산 블록

[비교연산] 블록은 조건 블록에서 실행 여부를 결정할 수 있도록 크기 비교에 따라 참과 거짓을 판별하도록 조건을 부여한다.


[비교연산] 블록에서는 =, ≠, <, >, ≤, ≥ 크기 비교에 대한 논리적 판별을 할 수 있는 연산자를 사용한다.

3
이미지.메이크코드 마이크로비트 블록코딩의 스크린샷. 그리고 블럭, 또는 블럭, 반대로 블럭.

참과 거짓에 대해 판별할 수 있다. 교집합인 그리고는 기준이 되는 앞과 뒤가 모두 참일 경우 만 참을 출력하고 둘 중 하나라도 거짓일 경우 거짓을 출력한다. 합집합인 경우 앞과 뒤 모두가 거짓이어야만 거짓을 출력하고 하나라도 참일 경우 참을 출력한다. 논리적 부정인 반대로 블록은 참일 경우 거짓을, 거짓일 경우 참을 출력한다.


2 윷 만들기

윷 놀이에 사용할 윷을 만들기 위해서는 몇 가지 조건이 필요할까? 윷은 어떤 순서로 작동할까? 윷놀이를 하기 위해서는 윷을 높이 던져 떨어뜨린다. 그러면 윷은 위와 아래로 구분되어 도, 개, 걸, 윷, 모 5 가지 표현을 한다. 다음과 같은 순서로 윷놀이의 윷을 만들어 보자.


1
이미지.메이크코드 마이크로비트 블록코딩의 스크린샷. 자유낙하 감지하면 실행 블록

윷놀이에서는 윷을 높이 던져 떨어지게 하는 것으로 게임이 시작한다. 마이크로비트는 가속도 센서를 사용하여 자유낙하를 측정할 수 있다. 따라서 이벤트의 발생을 [자유낙하 하면 실행하기] 블록을 사용한다.


마이크로비트로 도, 개, 걸, 윷, 모 다섯 가지를 자유낙하할 때마다 바뀌면서 도, 개, 걸, 윷, 모가 무작위로 표현이 되려면 어떻게 해야 할까? 다양한 방법이 있겠지만 이번 차시에서는 표현되어야 하는 도, 개, 걸, 윷, 모에 0~4까지의 숫자를 부여하고 자유 낙하할 때마다 0~4까지 숫자를 랜덤하게 생성하여 해당하는 숫자에 따라 도, 개, 걸, 윷, 모에 해당하는 이미지를 표현하도록 한다.


2
이미지. 메이크코드 마이크로비트 블록코딩의 스크린샷. 자유낙하 감지하면 실행 블록 안에 만약 참이면 실행 아니면 실행 블록이 들어가 있다.

자유 낙하하면 조건에 따라 실행이 되도록 4가지 조건에 따라 5가지의 표현이 되도록 [만약(if) 참(True) 이면(Then) 실행 아니면(else) 실행] 블록을 넣는다.

3
이미지. 메이크코드 마이크로비트 블록코딩의 스크린샷. 자유낙하 감지하면 실행 블록 안에, 만약 참이면 실행, 아니면서 만약 참이면 실행, 아니면서 만약 참이면 실행, 아니면서 참이면 실행, 아니면 실행 블록이 들어가 있다.

조건 블록의 왼쪽 아래 +버튼을 눌러 조건을 4가지로 추가한다.

4
이미지. 메이크코드 마이크로비트 블록코딩의 스크린샷. 자유낙하 감지하면 실행 블록 안에, 만약 0부터 4까지의 정수 랜덤값이 0이면 실행, 아니면서 만약 만약 0부터 4까지의 정수 랜덤값이 1이면 실행, 아니면서 만약 0부터 4까지의 정수 랜덤값이 2이면 실행, 아니면서 만약 0부터 4까지의 정수 랜덤값이 3이면 실행, 아니면 실행 블록이 들어가 있다.

각 조건을 해당하는 숫자와 같으면 실행이 될 수 있도록 비교 연산 블록을 각 조건에 삽입한다. 비교가 되어야 하는 앞쪽 육각형에 계산 그룹에 있는 0부터 10까지 랜덤 정숫값 블록을 넣고 0부터 4까지 랜덤 정숫값이 되도록 변경한다. 그리고 순서대로 0일 때 실행, 1일 때 실행, 2일 때 실행, 3일 때 실행이 되도록 값을 변경한다.

5
이미지. 메이크코드 마이크로비트 블록코딩의 스크린샷. 자유낙하 감지하면 실행 블록 안에, 만약 0부터 4까지의 정수 랜덤값이 0이면 실행, 아니면서 만약 만약 0부터 4까지의 정수 랜덤값이 1이면 실행, 아니면서 만약 0부터 4까지의 정수 랜덤값이 2이면 실행, 아니면서 만약 0부터 4까지의 정수 랜덤값이 3이면 실행, 아니면 실행 블록에 각각 도 개 걸 윷 모가 표현되는 LED블록이 들어가 있다.

각 조건에 따라 도, 개, 걸, 윷, 모가 표현되도록 LED출력이나 아이콘 출력 블록을 사용하여 이미지가 표현되도록 한다.


이미지. 마이크로 비트를 던져 윷놀이를 하는 동영상의 스크린샷

3 논리 그룹 블록 활용하기

조건 블록을 사용하여 다음에 나오는 물품들을 만들어 친구와 사용해 보자.


1. 엎어라 뒤집어라 편 나누기 기계
2. 가위바위보 기계
3. 주사위