Starter Microbit Basic

Starter Microbit Basic

written by sean base on following books
_images/chapter0_4.png _images/chapter0_3.png

Chapter 1: 마이크로비트 기초

컴퓨터 게임에 대해서 알아 보도록 합시다.

좋은 게임을 만들기 위해서는 다음과 같은 요소들이 필요로 합니다.

캐릭터

게임 세계에 들어가면 사람이든 동물이던 게임을 행하게 되는 주인공이 캐릭터이다. 위험성이나 경쟁을 위해서 상대 또는 적개념의 캐릭터도 이용된다.

_images/chapter1-1.png

오브젝트

모든 게임에 활용되는 모든것들을 말한다. 모든 게임에는 문을 여는 열쇠 또는 건강점수를 위해 별과 동전과 같은 객체가 사용된다. 모든 객체는 좋은것만은 아니다. 어떨때는 플레이를 방해해서 건강을 해롭게 하거나 물건을 빼앗아 가게 된다. 객체는 플레이어가 마지막 단계까지 가도록 함께 퍼즐을 만들어 냅니다.

_images/chapter1-2.png

메카닉스

게임에서는 달리기,점프,날기,객체 캡처,주문사용,무기사용등 행동에 해당하는 낱말이 있습니다. 잘 설계된 역학은 좋은 게임을 만든다.

_images/chapter1-3.png

규칙(룰)

게임의 규칙들은 플레이어에게 해야 될것과 하지 말아야 될것들에 대해서 말하고 있다. 예를 들면 벽을 통과할수 있습니까? 그것들은 당신의 길을 방해 합니까? 당신은 멈추고 생각할 수 있습니까?

_images/chapter1-4.png

목표

모든 게임은 도전을 통해 어떤 목표에 도달하도록 한다. 게임을 이기는 것이든,적을 정복하든,높은 점수를 획득하던,가능한 오랫동안 유지하고 있던간에 말이다. 대부분의 게임은 수많은 작은 목표들을 가지고 있다.

_images/chapter1-5.png

컨트롤

키보드,마우스,조이스틱,모션센서등은 좋은 콘트롤러가 된다. 플레이어가 게임 캐릭터를 완벽하게 조정할 수 있을때 재미가 있다. 따라서 컨트롤은 쉽게 익히고 컴퓨터가 빠르게 응답을 해야 된다.

_images/chapter1-6.png

게임세계

게임이 플레이 되는 세계를 생각해 보자. 그것은 2D 또는 3D로 되어 있는가? 플레이어는 위에서 바라볼 수 있는가? 플레이어를 제한하기 위해 경계나 벽을 가지고 있는가? 야외처럼 열려있는 공간인가?

_images/chapter1-7.png

어려운 레벨

게임이 너무 쉽거나 너무 어려우면 게임이 재미가 없다. 많은 게임들은 시작과 동시에 도전을 쉽게 만들고 있다. 게임을 익히는 동안 플레이어가 좀더 향상된 스킬로 갔을때 좀더 어려운 레벨등을 만든다. 올바른 어려운 레벨을 만드는것이 좋은 게임의 열쇠이다.

_images/chapter1-8.png

분위기

책과 영화와 같이 좋은 게임은 당신을 끌어 들이고 당신이 어떤 환경에서 느낄 방법들을 변화시킵니다. 여기에 게임 디자이너가 사용하는 몇가지 방법들을 소개합니다.

스토리텔링

_images/chapter1-9.png

소리

_images/chapter1-10.png

빨리 빨리

_images/chapter1-11.png

색깔변화

_images/chapter1-12.png

그래픽

_images/chapter1-13.png

게임 종류

모든 게임은 형태와 크기가 존재한다. 대략 다음의 정도로 구분한다.

정통적인 게임

_images/chapter1-14.png

롤플레이 게임

_images/chapter1-15.png

레이싱 게임

_images/chapter1-16.png

샌드박스 게임

_images/chapter1-17.png

전투 게임

_images/chapter1-18.png

전략 게임

_images/chapter1-19.png

음악댄스 게임

_images/chapter1-20.png

시뮬레이션 게임

_images/chapter1-21.png

스포츠 게임

_images/chapter1-22.png

퍼즐 게임

_images/chapter1-23.png

코딩의 원리

컴퓨터는 스스로 생각할 수 없다. 암묵적으로 어떠한 일련의 명령을 통해 동작된다. 무엇을 하고 어떤 순서대로 해야하는지 작은 조각으로 나누어져 있다면 아주 복잡한 업무도 수행할 수 있다. 이러한 컴퓨터가 이해하는 언어로 명령을 쓰는 작업을 코딩이라고 한다.

게임 계획하기

간단한 게임을 만든다고 생각하자. 앵무새가 강을 건너는 게임인데 화난 사자를 피해서 사과를 모으는 게임이다. 앵무새, 사과, 사자는 어떻게 해야 할지 한번 알아 보자.

사과

_images/chapter1-24.png

앵무새

_images/chapter1-25.png

사자

_images/chapter1-26.png

chapter 2: 자바스크립트 블럭에디터

스크래치에 대해서 알아 보도록 하자. 스크래치는 그래픽 프로그램 언어로 배우기 쉽고 어느 복잡한 프로그램을 이미 만들어진 프로그램으로 쉽게 실행할 수 있다.

2.1 스크래치로 시작하기

스크래치 프로젝트는 보통 오브젝트나 스프라이틀를 선택하는것으로 시작한다. 스크래치는 많은 종류의 스프라이트를 제공하고 본인이 직접 만들어도 된다.

스프라이트

스프라이트는 게임에서 움직이고 행동하는 캐릭터이다. 그것들은 동물부터 시작해서 사람, 피자등도 가능하다. 이 스프라이트는 스크립트를 이용해서 스크린에 나타낼수 있고 사라지게 할 수 있다.

스크립트

퍼즐과 같이 프로그래밍 하는 것을 스크립트라고 한다.

.

프로그램 실행하기

시작하기 또는 프로그램 실행하기를 시작하면 만들어 놓은 스크립트가 동작할 준비가 된다. 풀 스크린을 위해서는 왼쪽 상단의 푸른색 버튼을 누르면 큰 화면으로 볼 수 있다.

스프라이트 움직이기

전형적인 게임에서는 플레이어가 캐릭터를 움직이고 또다른 캐릭터는 자동으로 프로그램되어 있는대로 움직인다. 아래 스크립트는 프로젝트에 있는 공룡이 고양이를 쫓아 가도록 되어 있다.

_images/chapter2-1.png

2.2 온라인 스크래치

브라우저에서 scratch.mit.edu 를 치고 들어가 보자.

2.3 오프라인 스크래치

온라인으로 연결해서 하지 않고 로컬 PC에서 실행하는 프로그램을 의미한다.

인스톨

브라우저에 https://scratch.mit.edu/scratch2download 에서 받을 수 있다.

현재 1.4 ,2.0 버젼이 있고 3.0 버젼은 오픈 예정에 있다.

실행하기

스크래치 아이콘을 클릭하면 실행하게 된다. 스크래치는 윈도우,맥컴퓨터,우분투 OS에서 잘 동작을 한다. 마우스와 키보드로 동작을 하며 피지컬 컴퓨팅을 위해서 여러가지 센서등으로도 동작이 된다. 그리고 프로젝트를 저장할 수도 있다.

2.4 스크래치 살펴보기

스크래치는 다음과 같이 구성되어 있다.

_images/chapter2-2.png _images/chapter2-3.png _images/chapter2-4.png

chapter 3: 마이크로비트 내부기능

게임 만들기에 들어오신 것을 환영합니다. 여기서 안내하는대로 하나씩 해보면 간단한 게임을 만들 수 있다.

게임의 목적

이 게임은 최대한 많은 별을 모으는 게임이다. 별을 모으기 위해 고양이를 이용하고 위험한 문어를 피해야 한다.

게임에 사용되는 스프라이트는 다음과 같다.

고양이

고양이는 마우스 포인터를 쫓아 가게 만든다.

_images/chapter3-1.png

문어

자유롭게 바다를 헤험쳐 다닌다.

_images/chapter3-2.png

임의의 장소에 나타나서 그것을 터치하면 포인트가 쌓이게 된다.

_images/chapter3-3.png

스크립트 만들기

블럭들은 여러가지 색깔별로 각기 무엇을 할것인가에 대한 명령이 되어 있다.

여기서는 고양이가 계속 마우스를 쫓아가는 행동을 해보도록 하자. 그리고 배경음악으로 물소리가 나오도록 다음처럼 코딩을 해보자.

_images/chapter3-4.png

배경 만들기

이젠 배경 화면을 만들어 보자. 왼쪽 하단에 배경을 클릭해 보자. 배경화면에 계속 물소리가 나도록 코딩을 해보자.

_images/chapter3-5.png

적 만들기

이젠 문어에게 명령을 해보도록 하자. 계속 움직이는 모습을 해야 하고 조금씩 움직이다가 벽에 닿았을 경우 튕기도록 하자. 그리고 고양이와 닿았을때 게임이 멈추도록 하자.

_images/chapter3-6.png

적 더 만들기

하나의 문어를 만들었으면 클릭해서 복사하기를 하면 그대로 복사가 된다. 이름만 바꿔주면 된다. 그리고 다른 문어는 다른 방향에서 시작하도록 설정해 보자.

_images/chapter3-7.png

별 모으기

고양이가 별을 닿으면 별은 다른곳에 움직이도록 해보자.

_images/chapter3-8.png

스코어 유지하기

스코어 변수는 데이터 만들기에서 만들어서 별을 닿았을때 1씩 증가하도록 설정한다.

chapter 4: 마이크로비트 전원입출력

세계적으로 최초이고 가장 많은 인기를 끄는 게임이 미로 게임이다. 미로게임은 유령을 피해서 보물을 줍워서 빠른 시간에 통과하는것이 관건이다.

게임의 목적

배고픈 생쥐가 미로에 있다.치즈를 찾아서 가는데 사악한 벌레들을 피해가야 한다.그리고 유령도 조심해야 한다.

게임에 사용되는 스프라이트는 다음과 같다.

생쥐

_images/chapter4-1.png

벌레

_images/chapter4-2.png

유령

_images/chapter4-3.png

키보트 컨트롤

게임 콘트롤로 마우스든 키보드 또는 조이스틱을 많이 쓰는데 여기서는 키보드를 사용해보도록 하자. 각 키보드에 동작에 따라서 방향성과 움직임을 설정하면 된다.

_images/chapter4-4.png

페인트 에디터 사용하기

스프라이트나 기타 그림들은 스크래치에서 기본 제공하는 그림 그리기를 이용해서 만들 수 있다. 여기서는 간단히 이미 그려져 있는 스프라이트를 불러서 이용하자. 치즈에 대한 스크립트는 다음과 같다. 마우스가 치즈에 닿으면 점수를 올리고 pop 음을 재생한다.

_images/chapter4-5.png

고스트 스크립트 짜기

이 프로젝트에 첫번째 적을 넣는것은 치즈 쫓기 게임을 적당한 게임으로 만들어 줄것이다. 유령은 벽을 지나갈 수 있으므로 이 게임에서 적으로 적합할 것이다. 유령의 스크립트는 다음과 같다. 마우스를 보고 조금씩 계속 움직이는 스크립트이다.

_images/chapter4-6.png

미로 만들기

미로는 페인트로 여러가지를 만들 수 있다.

_images/chapter4-7.png

마우스 트랩 만들기

마우스 트랩으로 마우스가 벽에 닿으면 -5씩 뒤로 움직이도록 해보자.

_images/chapter4-8.png

벌레 만들기

벌레는 제한된 장소를 왔다 갔다 하는 정도로 코딩을 해보자. 벽에 닿으면 뒤로 후퇴하고 마우스에 닿으면 게임 오버이다.

_images/chapter4-9.png

메세지 보내기

여기서는 게임이 종료했을때 다른 스프라이트나 화면들이 처리할 수 있도록 메세지 보내는 법을 배우도록 하자. 이벤트의 방송하기를 쓰면 되고 보내는 부분과 받는 부분이 있다.

_images/chapter4-10.png

스코어 적기

스코어는 데이터에서 변수를 만들어야 한다. 치즈를 닿았을 경우 점수가 올라가도록 하는 코딩을 해보자.

_images/chapter4-11.png

게임 오버

게임오버는 게임에서 졌을 경우 나타 나도록 커다란 글씨로 만들면 된다. 여기서는 이미 만든 스프라이트를 불러서 사용해 보자.

_images/chapter4-12.png

스크립트는 브로드캐스팅 메세지를 받았을때 다음처럼 처리하면 된다.

_images/chapter4-13.png

chapter 5: 마이크로비트 디지털 신호

게임의 목적

마우스를 이용해서 스크린의 파란색 원을 움직인다.녹색원을 최대한 많이 모으고 적색은 피해야 한다. 20 포인트가 되면 이기고 -20 포인트가 되면 지게 된다.

스프라이트는 다음과 같다.

player

_images/chapter5-1.png

Friends

_images/chapter5-2.png

Enemies

_images/chapter5-3.png

스프라이트 만들기

플레이어의 기본적 스크립트는 다음과 같다.

_images/chapter5-4.png

친구와 적 만들기

친구에 대한 스크립트는 다음과 같다.

_images/chapter5-5.png

적에 대한 스크립트는 다음과 같다.

_images/chapter5-6.png

명령 가이드 만들기

명령 가이드는 다음처럼 만든다.

_images/chapter5-7.png

그리고 스크립트는 다음처럼 만들면 된다.

_images/chapter5-8.png

chapter 6: 마이크로비트 프로젝트

실 생활에서는 깰 수 없는 법칙이 있다. 예를 들면 중력의 법칙이란것은 어떤것이 올라가게 되면 떨어지는 것을 의미한다. 뛰어 오르는 원숭이 게임은 이것을 이용한 것이다.

게임의 목적

원숭이가 최대한 바나나늘 습득하는 게임이다. 가능한 원숭이가 잘 잡을 수 있도록 던져주는 게임이다.

스프라이트는 다음과 같다.

런처

_images/chapter6-1.png

원숭이

_images/chapter6-2.png

바나나

_images/chapter6-3.png

원숭이 발사하기

런처에 대한 스크립트는 다음과 같다.

_images/chapter6-4.png

바나나와 팜나무 만들기

바나나는 복제하기를 만들고 원숭이가 닿으면 하나씩 줄어드는 스크립트를 짜야 한다.

_images/chapter6-5.png

게임오버 만들기

게임 오버는 다음과 같이 만든다.

_images/chapter6-6.png

원숭이

원숭이는 다음과 같이 코딩한다.

_images/chapter6-7.png

chapter 7: 마이크로비트 프로젝트

이 게임은 빗자루를 탄 마녀가 박쥐,유령,용을 무찌르는 게임이다.

게임의 목적

마녀가 빗자루를 타고 가면서 유령과 박쥐등을 피하거나 부수는 게임이다.

스프라이트는 다음과 같다.

마녀

_images/chapter7-1.png

적들

_images/chapter7-2.png

살아있는것

_images/chapter7-3.png

배경화면 설정하기

배경화면은 리소스 디렉토리에서 이미지를 찾아 해보도록 하자.

_images/chapter7-4.png

스크립트는 다음과 같다.

_images/chapter7-5.png

마녀 조정하기

마녀의 스크립트는 다음과 같다.

_images/chapter7-6.png

박쥐 공격하기

박쥐는 일단 움직임을 나타내야 한다.

_images/chapter7-7.png

박쥐의 스크립트는 다음과 같다.

_images/chapter7-8.png

불 뿜는 용 만들기

용은 다음과 같이 코딩한다.

_images/chapter7-9.png

유령 만들기

유령은 다음과 같이 코딩한다.

_images/chapter7-10.png

게임 오버 만들기

게임오버 코딩은 다음과 같다. .. image:: ./img/chapter7/chapter7-11.png