스크래치&센서보드로 만드는 게임 프로그래밍
한국창의과학진흥원 저 ㅣ 368쪽 ㅣ 20,000원
2015년 8월 31일
■ 책 소개(내용 요약)
스크래치는 전문적인 프로그래머를 양성하기 위한 프로그래밍 언어가 아니라 누구나 쉽게 프로그래밍에 대한 개념을 익히고 실생활에 이를 반영할 수 있도록 MIT에서 개발한 블록형 프로그래밍 언어입니다. 레고와 같이 블록을 연결하다 보면 쉽게 코딩할 수 있어 오류도 적고 이해하기 쉬우며, 빠르게 프로그래밍을 할 수 있습니다.
이 책은 알고리즘을 익히기 위한 단순한 프로그래밍이 아닌 스크래치로 다양하고 재미있는 게임들을 만들 수 있도록 따라하기로 구성되어 있습니다. 여러 게임들을 제작하면서 명령 블록들이 단순하지만 왜 사용되었는지 원리를 이해하고, 다른 프로그래밍을 작성할 때 유용하게 활용할 수 있도록 설명하고 있습니다. 또한, 사용된 명령 블록을 차근차근 되짚어 볼 수 있는 Special Tip을 통해 어떤 부분을 수정하면 프로그래밍이 어떻게 바뀌는지도 배울 수 있습니다. 마지막으로 스크래치와 센서보드를 연결하여 키보드와 마우스 대신 다양하게 입력을 받아 센서보드로 게임을 조작할 수 있는 방법도 담고 있습니다. 프로젝트를 따라하다 보면 프로그래밍 언어에 대해 좀 더 쉽게 접근할 수 있으며, 논리적인 사고와 문제 해결 능력을 키울 수 있습니다.
■ 저자 소개
저자 한국창의과학진흥원
(주)한국창의과학진흥원은 ‘소프트웨어 교육’과 ‘피지컬 컴퓨팅 교육’을 통해 ‘창의적 문제 해결 능력’을 폭넓게 익힐 수 있는 커리큘럼을 개발˙보급하는 회사입니다. 2015년 한국형 아두이노인 ‘코드이노(CODEino)’를 개발하여 새로운 교육 패러다임인 소프트웨어 교육을 초등학생부터 대학생까지 효과적으로 익힐 수 있도록 제공하고 있으며 소프트웨어 교육에 대해 지속 가능한 교보재 개발과 커리큘럼 개발에 매진하고 있는 소프트웨어 교육 전문 에듀테크 기업입니다. 국내 유수의 기업과 협업하여 자유학기제 커리큘럼을 제공하고 대학에도 소프트웨어 교육용 커리큘럼을 제공하고 있으며 해외 소프트웨어 교육 기업에도 한국창의과학진흥원의 커리큘럼을 알리기 위해 노력하고 있습니다.
■ 장별 요약
Chapter 01 처음 만나는 스크래치
스크래치는 MIT에서 만든 프로그래밍 언어로서 컴퓨터에 대한 지식이 전혀 없는 상태에서도 게임 과 놀이를 통해 자연스럽게 알고리즘과 프로그래밍 등의 소프트웨어 기초 원리를 익힐 수 있습니다. 주로 8살부터 16살을 대상으로 설계된 프로그램이지만, 그보다 어린 아이들을 포함해서 모든 연령대의 사람들이 사용하고 있습니다. 스크래치는 여러분이 만든 작품을 온라인 커뮤니티를 통해 공유할 수 있습니다.
Chapter 02 무대와 스프라이트
스크래치는 무대라는 공간에 스프라이트라는 배우들이 등장하여 공연을 하는 것과 같습니다. 무대를 공연에 잘 맞는 배경으로 꾸미고, 공연을 펼칠 배우들도 알맞은 분장이 필요하듯, 무대의 배경과 스프라이트도 프로그램을 특성에 알맞게 선택하는 것이 중요합니다.
Chapter 03 코드(CODE)로 프로그래밍 익히기
코드 스튜디오는 프로그램의 기본을 익힐 수 있는 유익한 사이트입니다. 화면도 스크래치와 유사 한 형태로 되어 있어 쉽게 익힐 수 있을 뿐만 아니라, 앵드리버드를 초록색 돼지가 있는 곳까지 이동하도록 프로그래밍 하는 단계를 통해 프로그램의 기본 구조를 모두 익힐 수 있습니다.
Chapter 04 스크래치 프로그래밍 기본 익히기
코드 클럽에서 프로그래밍의 기본적인 구성에 대해 익혔다면 이번에는 키보드를 이용해 이리 저리 움직이고 회전하는 고양이를 만들어 보겠습니다. 스크래치 무대의 기본인 좌표 개념에 대해서 도 알아보겠습니다.
Chapter 05 반복 명령 블록 익히기
스크래치에서 가장 많이 사용하는 명령 블록 중의 하나가 반복입니다. 반복은 다른 명령 블록과 사용하지 않아도 되지만 사용하면 편리한 명령 블록입니다. 반복 명령 블록을 사용하면 긴 명령 블록을 간략하게 만들 수 있으며, 코딩을 이해하는데도 많은 도움을 줍니다. 그 럼 어떤 경우에 반복 명령 블록을 사용하는지 알아보겠습니다.
Chapter 06 반복 명령 블록 익히기
생쥐로부터 치즈를 지키는 고양이를 만들어 보겠습니다. 생쥐는 화면의 이곳저곳에서 나타나 치즈가 있는 곳으로 달려가는데 고양이로 생쥐를 쫓아내는 게임입니다. 지정된 시간 동안 치즈를 지켜내면 게임이 끝납니다.
Chapter 07 숨겨진 미로
숨겨진 미로는 게임을 시작하면 벽이 잠깐 동안 화면에 표시되었다가 숨겨집니다. 방향키를 눌러 고양이가 치즈가 있는 곳까지 벽에 부딪히지 않고 안전하게 움직이는 게임입니다.
Chapter 08 다함께 춤을
‘다함께 춤을’은 춤을 추는 토끼와 사슴과 같은 모습으로 고양이가 춤을 추는 게임입니다. 방향키를 누를 때마다 모양을 바뀝니다. 만약 고양이가 다른 모습으로 춤을 추면 에너지를 감소합니다. 에너지가 모두 없어지면 게임이 끝납니다.
Chapter 09 마트 주차왕
마트에 장을 보러 갔는데, 주차된 자동차들이 많이 있네요. 다른 자동차들을 피해 지정된 위치에 주차를 해보세요. 단계를 성공할 때마다 더 많은 자동차가 나타납니다.
Chapter 10 양을 지켜라
울타리를 향해 늑대가 달려오고 있습니다. 양을 지키려면 열심히 달걀을 발사해 늑대를 맞춰야 합니다. 늑대가 울타리에 닿으면 울타리가 무너지므로 닿기 전에 쫓아내세요.
Chapter 11 우주기지를 지켜라
우주기지를 향해 우주쓰레기가 날아오고 있습니다. 레일을 따라 움직이는 우주선을 이리 저리 회전시켜 우주기지를 보호하는 게임을 만들어봅니다
Chapter 12 치킨의 역습
전 세계에서 수많은 닭들이 식탁에 오르는 것을 막고자 외계에서 닭들이 우주선을 타고 공격에 나섰습니다. 여러분은 우주선을 타고 침공해오는 닭들의 공격을 막아내야 합니다. 치킨의 역습은 예전 갤러그와 유사한 게임으로 치킨들이 다양한 방향에서 나타나 사라지는 것이 특징입니다.
Chapter 13 날아라 손오공
날아라 손오공은 키보드의 방향키를 이용해 위/아래로 움직이면서 무기를 발사하다가 늑대와 우마왕 부하, 우마왕을 맞추는 게임입니다. 이 게임에서는 자동으로 발사되는 손오공무기와 늑대, 부하 등과 부딪히면 둘 다 없어지도록 코딩하겠습니다.
Chapter 14 정글을 지켜라
정글은 산소를 만들어주고 많은 동물과 식물들이 조화롭게 살아가는 곳입니다. 그런데 이곳에 벌목꾼들이 나타나 나무를 없애고 있습니다. 여러분이 원숭이를 조정해 나무꾼에게 야자열매를 던져 쫓아내세요.
Chapter 15 전자석 전투
전자석 전투는 N극과 S극 우주선을 이끌고 지구를 침략한 외계인들을 무찌르는 게임입니다. 전자석 비행선을 조정하면서 N극미사일과 S극미사일을 발사하여 다가오는 N극과 S극 우주선을 무찔러야 합니다. N극 우주선은 S극미사일로만 S극 우주선은 N극미사일로만 무찌를 수 있습니다.
Chapter 16 스크래치와 하드웨어
스크래치는 센서보드와 아두이노라는 하드웨어를 연결하여 프로그래밍을 작성할 수 있습니다. 센서보드와 아두이노를 사용하면 컴퓨터에서 기본으로 사용하는 키보드와 마우스, 모니터 외에 새로운 입출력 장치를 이용하여 프로그래밍에 접목할 수 있습니다.
Chapter 17 코드이노 활용 준비하기
스크래치에서 센서보드, 아두이노나 코드이노와 같은 하드웨어를 이용하려면 몇 가지 준비가 필요 합니다. 센서보드는 아직 스크래치 2.0에서는 지원되지 않으며, 아두이노를 스크래치에서 사용하기 위해서는 PHP, JAVA 등 다양한 프로그램 언어나 여러 가지 설정을 거친 후에 사용할 수 있습니다. 코드이노는 스크래치에서 연결할 수 있는 제어 프로그램을 제공하므로 가장 쉽게 연결할 수 있습니다.
Chapter 18 센서보드를 이용한 코딩하기
센서란 빛, 소리, 슬라이더, 버튼, 저항 등의 값을 읽어와 컴퓨터에 전달하는 장치로서, 코드이노에는 6가지의 센서가 내장되어 있습니다. 코드이노에 내장되어 있는 센서를 이용하면 실생활에서 사 용 중인 다양한 장치를 구현하거나 이미 만들어 놓은 다양한 프로그램을 센서보드로 변환할 수 있습니다.
Chapter 19 아두이노를 이용한 코딩하기
아두이노 명령 블록은 스크래치 센서 보드 명령보다는 실제 펌웨어를 제어하기 위한 스케치(Sketch)와 유사한 구조로 되어 있습니다. 이 명령 블록을 이해하고 활용할 수 있다면 아두이노를 직접 제어할 수 있어 더욱 다양하고 유용한 프로그램 및 하드웨어를 제작할 수 있습니다.
Chapter 20 자동으로 실행되는 디지털 앨범
빛 감지 센서는 센서로 들어오는 빛이 얼마나 가려지는지를 전기 신호로 변환해주는 센서입니다. 따라서 어두울수록 빛 감지 센서의 값이 커지로 밝으면 값이 작아집니다. 빛 감지 센서는 어두워지면 자동으로 켜지는 가로등, 자동차의 헤드라이트 등에 활용됩니다.
Chapter 21 센서보드를 이용한 알람시계
슬라이더와 버튼을 이용한 알람시계를 만들어 보겠습니다. 슬라이더는 알람을 설정하는 기능을 담당하고 버튼을 누르면 알람을 켜거나 끌 수 있도록 만들겠습니다. 슬라이더 센서 값은 ‘0~1023’까지이지만, 이 값을 원하는 범위의 값으로 바꾸면 다양하게 활용할 수 있습니다.
■ 목차
Special Page 스크래치의 명령 블록
Part 1. 스크래치와의 첫 만남!
Chapter 01 처음 만나는 스크래치
Section 1. 스크래치로 만들 수 있는 작품들
Section 2. 스크래치 설치하기
Section 3. 스크래치 화면 구성
Chapter 02 무대와 스프라이트
Section 1. 새로운 무대 만들기
Section 2. 새로운 스프라이트 만들기
Section 3. 스프라이트 모양 바꾸기
Section 4. 명령 블록을 이용하여 움직이도록 만들기
Section 5. 프로젝트 저장하기
Chapter 03 코드(CODE)로 프로그래밍 익히기
Section 1. 코드로 프로그래밍 연습하기
Section 2. Play Lab으로 스토리 만들기
Chapter 04 스크래치 프로그래밍 기본 익히기
Section 1. 무대와 스프라이트 준비하기
Section 2. 동작 코딩하기
Chapter 05 반복 명령 블록 익히기
Section 1. 반복 명령 블록 익히기
Section 2. 좌표를 바꿔서 이동하기
Section 3. 지그재그로 움직이기
Part 2. 스크래치 게임 프로그래밍 Ⅰ
Chapter 06 고양이와 생쥐
Section 1. 필요한 이미지 불러오기
Section 2. 무대에 게임 종료 방법 코딩하기
Section 3. 마우스를 따라다니는 고양이 만들기
Section 4. 고양이가 지킬 접시 코딩하기
Section 5. 접시를 향해 달려가는 생쥐 만들기
Section 6. 생쥐’ 스프라이트의 나타나는 위치 지정하기
Special Tip 고양이와 생쥐 프로그램 스크립트 분석하기
Chapter 07 숨겨진 미로
Section 1. 숨겨진벽 코딩하기
Section 2. 치즈 코딩하기
Section 3. 고양이 코딩하기
Section 4. 키보드를 누르면 이동하는 고양이
Section 5. 힌트 코딩하기
Special Tip 숨겨진 미로 프로그램 스크립트 분석하기
Chapter 08 다함께 춤을
Section 1. 키보드를 누를 때마다 춤추는 고양이
Section 2. 자동으로 바뀌는 토끼와 사슴
Section 3. 에너지 코딩하기
Section 4. 음악 연주하기
Section 5. 모양을 바꾸고 점수와 에너지 바꾸기
Special Tip 다함께 춤을 프로그램 스크립트 분석하기
Chapter 09 마트 주차왕
Section 1. 단계에 따라 바뀌는 이미지
Section 2. 결과 코딩하기
Section 3. 주차 위치 표시하기
Section 4. LIFE 코딩하기
Section 5. 내자동차 코딩하기
Special Tip 키보드를 누를 때 이리저리 움직이게 코딩하기
Special Tip 마트 주차왕 프로그램 스크립트 분석하기
Chapter 10 양을 지켜라
Section 1. 대포 코딩하기
Section 2. 양 코딩하기
Section 3. 늑대 코딩하기
Section 4. 담장 코딩하기
Section 5. 달걀 코딩하기
Section 6. 무대 코딩하기
Special Tip 양을 지켜라 프로그램 스크립트 분석하기
Part 3. 스크래치 게임 프로그래밍 Ⅱ
Chapter 11 우주기지를 지켜라
Section 1. 무대 코딩하기
Section 2. 화면 중심을 기준으로 회전하는 우주선
Section 3. 우주기지 코딩하기
Section 4. 미사일 코딩하기
Section 5. 우주쓰레기 코딩하기
Special Tip 우주기지를 지켜라 프로그램 스크립트 분석하기
Chapter 12 치킨의 역습
Section 1. 우주선 코딩하기
Section 2. 닭1 코딩하기
Section 3. 알 코딩하기
Section 4. 닭과 알을 복제하기
Section 5. 우주선 에너지 코딩하기
Section 6. 스페이스키를 누를 때마다 발사되는 레이저 코딩하기
Section 7. 무대 코딩하기
Special Tip 치킨의 역습 프로그램 스크립트 분석하기
Chapter 13 날아라 손오공
Section 1. 손오공 코딩하기
Section 2. 손오공을 공격하는 부하
Section 3. 손오공에너지와 우마왕에너지 코딩하기
Section 4. 우마왕에너지 코딩하기
Section 5. 우마왕 코딩하기
Section 6. 우마왕무기 코딩하기
Section 7. 손오공이 발사하는 손오공무기 코딩하기
Special Tip 날아라 손오공 프로그램 스크립트 분석하기
Chapter 14 정글을 지켜라
Section 1. 나무 코딩하기
Section 2. 원숭이 코딩하기
Section 3. 야자 복제하기
Section 4. 방향지시기 코딩하기
Section 5. 나무꾼1 코딩하기
Section 6. 나무꾼2 코딩하기
Section 7. 무대 코딩하기
Special Tip 정글을 지켜라 프로그램 스크립트 분석하기
Chapter 15 전자석 전투
Section 1. 무대 코딩하기
Section 2. 전자석 비행기
Section 3. 보스 무기
Section 4. 보스 코딩하기
Section 5. ‘보스’ 스프라이트의 공격 방법 지정하기
Section 6. N극미사일 코딩하기
Section 7. S극미사일 코딩하기
Section 8. N극 우주선 코딩하기
Section 9. S극 우주선 코딩하기
Special Tip 전자석 전투 프로그램 스크립트 분석하기
Part 4. 스크래치와 하드웨어
Chapter 16 스크래치와 하드웨어
Section 1. 스크래치에서 사용할 수 있는 하드웨어
Chapter 17 코드이노 활용 준비하기
Section 1. 코드이노의 구성
Section 2. 코드이노 설정하기
Section 3. 포트 및 펌웨어 설치하기
Chapter 18 센서보드를 이용한 코딩하기
Section 1. 빛(조도) 센서를 이용한 코딩
Section 2. 슬라이더를 이용한 코딩하기
Section 3. 저항을 이용한 나뭇잎 피아노
Section 4. 저항을 이용한 종이컵 드럼
Section 5. 3축 센서를 이용한 코딩
Chapter 19 아두이노를 이용한 코딩하기
Section 1. 코드이노 설정과 코딩
Section 2. LED 연결하기
Section 3. 스텝 모터가 동작되도록 코딩하기
Section 4. 스텝 모터 구성하기
Chapter 20 자동으로 실행되는 디지털 앨범
Section 1. 빛 센서 알아보기
Section 2. 무대 코딩하기
Section 3. 서서히 나타났다가 사라지는 사진 효과 지정
Section 4. 크기가 달라지는 사진 효과 지정
Section 5. 색깔 효과를 이용한 사진 효과 지정
Section 6. 어안 렌즈 효과를 이용한 사진 효과 지정
Section 7. 소용돌이 효과를 이용한 사진 효과 지정
Chapter 21 센서보드를 이용한 알람시계
Section 1. 무대 코딩하기
Section 2. 시침 코딩하기
Section 3. 분침 코딩하기
Section 4. 초침 코딩하기
Section 5. 알람 코딩하기
Section 6. 버튼 코딩하기
Special Tip 코드이노와 스케치
'IT 신간' 카테고리의 다른 글
프로들의 에버노트 (0) | 2015.09.09 |
---|---|
포토샵 CC 2015 더 쉽게 배우기 (0) | 2015.08.31 |
카페24쇼핑몰 더 쉬운 사용설명서 (0) | 2015.08.10 |