■ 무엇을 만들까요?
이번 프로젝트에서 우리는 슬라이더를 이용한 벽돌깨기 게임을 만들어보겠습니다.
[그림 1. 슬라이더를 이용한 벽돌깨기 게임]
■ 준비물
아두이노(UNO), 1개 | USB 케이블, 1개 |
브레드 보드 | 엔트리 센서보드
|
■ 만들어 봅시다!
[1] 핵심 이론과 하드웨어 연결하기
[그림 2. 엔트리보드와 아두이노 연결, 슬라이딩 가변저항의 위치]
[2] 엔트리 코딩하기
벽돌깨기 게임을 만들기 위해서 필요한 오브젝트는 3가지 입니다. 공을 반사 시킬 막대 모양의 오브젝트 하나, 공 오브젝트 하나, 그리고 벽돌 오브젝트 여러개 입니다. 여기에서는 막대 모양의 오브젝트로 버스 그림의 오브젝트를 사용하겠습니다(버스 오브젝트라고 부르겠습니다). 그리고 공 오브젝트는 공 처럼 생긴 주황색 동그라미를 하나 가져오겠습니다(공 오브젝트라고 부르겠습니다). 마지막으로 벽돌 처럼 생긴 오브젝트로 박스 그림을 가져오겠습니다(벽돌 오브젝트라고 부르겠습니다).
[그림 2. 벽돌 깨기를 위해 필요한 오브젝트 3 가지]
STEP 1 | ||
첫 번째로, 막대 모양의 버스 오브젝트에서 엔트리 코딩을 시작하겠습니다. 엔트리 보드의 슬라이딩 가변 저항을 좌 우로 움직일 때마다 이 버스 오브젝트는 화면에서 좌 우로 움직여야 합니다. 그리고 좌 우로 움직이는 범위는 화면의 X 좌표값의 범위 안에 포함되어야 합니다. 슬라이딩 가변 저항을 제일 왼쪽으로 움직이면 그 값이 0 이고 가장 오른쪽으로 움직이면 1023 입니다. 즉, 슬라이딩 가변 저항의 움직임은 엔트리에서 0 ~ 1023 사이의 값으로 나타납니다. 그래서 이 값을 엔트리 화면의 X 좌표 - 200 ~ + 200 으로 변환하겠습니다. 이 정도의 변환 범위 값은 화면에서 공을 반사 시키는 데에 충분한 값입니다. 참고로 엔트리 보드의 슬라이딩 가변 저항은 아두이노의 아날로그 2번에 연결되어 있습니다.

[그림 3. 버스 오브젝트의 아날로그 센서값 변환 코드]
STEP 2 | ||
이제 벽돌 오브젝트를 선택합니다. 여기에서는 벽돌을 총 15개 복제하는 코드를 만듭니다. 벽돌을 가로로 5개, 세로로 3개씩 쌓을 거라서 "3번 반복하기"와 "5번 반복하기"를 [그림 4]의 코드처럼 사용하면 됩니다. 그리고 벽돌의 x, y좌표값을 [그림 4] 코드 처럼 조정을 해 줘야 벽돌 15개가 원하는 대로 정렬이 됩니다. 마지막으로 공이 벽돌에 닿으면 "벽돌개수" 변수를 1씩 빼면서 벽돌 복제본을 하나씩 삭제해 줍니다.

[ 그림 4. 벽돌 오브젝트 코드]
STEP 3 | ||
마지막으로 공 오브젝트를 선택합니다. 게임을 시작할 때의 메세지와 공이 떨어지는 방향을 [그림 5]의 코드처럼 설정합니다.
[ 그림 5. 공 오브젝트의 시작 코드]
STEP 4 | ||
버스 오브젝트와 벽돌 오브젝트에 공이 닿아서 반사되는 각도를 정해 줍니다.
[그림 6. 공의 반사각 ]
STEP 5 | ||
모든 벽돌이 다 삭제될 때는 게임 클리어 메세지를, 공이 아래쪽 벽에 닿아서 게임 실패가 되면 게임 오버 메세지를 추가해 줍니다.
[그림 7. 게임 클리어와 게임 오버 메세지]
■ 관련자료
- 완성코드 보기: http://bit.ly/1IFv0gS
영상 목록

엔트리는 누구나 소프트웨어 교육을 배울 수 있는 온라인 플랫폼입니다.
연관 동영상
-
재생시간03:36
엔트리 아두이노 준비하기 2015.10.20 -
재생시간02:31
'오른쪽으로 가시오.’ 반짝반짝 도로표시 만들기 2015.10.26 -
재생시간03:08
반짝반짝 빛의 축제 2015.10.26 -
재생시간03:03
도레미파솔라시도 동물 피아노 2016.01.20 -
재생시간02:02
몇층으로 갈까요? 엘리베이터 층수 나타내기 2016.01.20 -
재생시간03:12
해가지면 켜지는 가로등 만들기 2016.01.22 -
재생시간03:06
벽돌깨기 게임 만들기 2016.01.22 -
재생시간02:18
압력센서로 그림그리기 2016.01.22