뱀 만들기[04] – 엔트리

준비하기

이 글은 시리즈다. 이 글을 읽기 전에 읽어야 하는 글이 존재한다. 만일 이 글 부터 뱀 만들기를 시작하려면 이전버전 바로가기를 클릭하라.


지금까지 뱀과 먹이, 독먹이를 만들었다. 좌,우,상,하 화살표키로 뱀의 진행 방향을 조정할 수 있다. 뱀머리를 상징하는 뱀 눈동자도 만들었다. 뱀이 먹이를 먹으면 점수가 올라간다. 목표점수는 70점이고 먹이를 먹을때 마다 뱀의 길이도 늘어난다. 점수만큼 늘어난다.
독먹이를 먹게되면 점수를 10점 잃고 뱀의 길이도 그 만큼 짦아지게된다. -10점이면 게임 실패!!
이번엔, 게임 성공과 실패에 따라 장면이 바뀌고 게임을 더 할지 그만할지 선택하게 하는 기능을 추가하고자 한다.


장면 추가하기

영화나 드라마에서도 장면이 바뀌면 등장하는 인물도 바뀐다. 엔트리에서는 장면에 따라 스토리를 구성할 수 있고 장면이 바뀌면 오브젝트도 새롭게 구성된다.
snake025.png
장면을 추가하기 위해서는 장면1 옆의 + 탭을 눌러준다. 그러면 그림처럼 장면2라는 새로운 장면이 추가된다. 장면2에서 보일 배경을 추가하기위해 아래 +버튼을 클릭한다.


배경 추가하기

뱀이 독먹이를 피하면서도 먹이를 충분히 먹어 점수가 70점이 되면 게임이 승리로 끝난다. 그럴때 승리를 축하하는 장면으로 바뀌고 게임을 다시시작 할지 끝내기 할지를 선택하게 하고자 한다.
snake026.png
모양 탭에서 모양추가하기 버튼을 클릭하여 두개의 배경을 추가한다. 각각의 모양이름을 성공실패로 정한다.


오브젝트의 이름을 배경 으로

snake027.png
오브젝트의 이름을 배경으로 바꾸자. 오브젝트가 물건이나 등장인물인 경우 오브젝트이름을 쉽게 바꿀 수 있는데, 배경오브젝트는 그 오브젝트의 이름을 바꾸기 위해서는 먼저 자물쇠를 풀어야 한다.


배경오브젝트 블럭코딩

장면이 장면2로 바뀌는 경우는 점수가 70점에 도달했을 때 (미션성공) 과 점수가 -10점에 도달했을 때 (미션실패) 이다. 점수에 따라 보여지는 모양이 선택되도록 한다.
snake030.png
위 그림과 같이 배경오브젝트의 블럭코딩을 작성한다.


글상자오브젝트 추가하기

화면에 글씨를 출력할 수 있다. 미션성공인 경우 "참 잘하셨습니다!" 라는 글을 보여주고, 미션실패인 경우 "실패! ㅠㅠ" 라는 글을 보여주고자 한다. 이러한 오브젝트가 글상자오브젝트이다.
글상자오브젝트도 보통의 오브젝트 만들 때 처럼 + 버튼을 클릭해서 시작하고 다만, 오브젝트 선택할 때 글상자 버튼을 클릭하면 된다.
snake028.png
위 그림 처럼 글상자 오브젝트를 만든다.
snake029.png
한줄짜리 글상자와 여러줄짜리 글상자가 있는데, 한줄쓰기 버튼을 클릭하여 한줄짜리 글상자를 만들고 글상자의 내용을 일단 '내용' 이라고 한다.
snake032.png
글상자의 글씨체, 색, 배경색등을 지정할 수 있는데 이번 경우는 배경색을 투명으로 지정하자.
snake031.png
이제 위와 같이 글상자의 블럭코딩을 완성한다.


다시시작 버튼 만들기

게임을 처음부터 다시시작 하고자 하는 경우를 선택하기 위한 버튼. 그 버튼도 글상자오브젝트로 만들 수 있다.
snake033.png
위 그림과 같이 또하나의 글상자 오브젝트를 만들되, 글자색과 배경색을 적당히 선택하여 버튼처럼 보이게 하라.

snake034.png
위 그림과 같이 다시시작 글상자를 화면 내 적당히 배치하자.

snake035.png
위 그림과 같이 다시시작 글상자의 블럭코딩을 완성한다.


끝내기 버튼 만들기

다시시작 버튼 오브젝트를 복사하여 끝내기 버튼을 만들자.
snake036.png
위 그림처럼, 다시시작 글상자 오브젝트를 오른클릭하여 오브젝트를 추가한다.

snake037.png
복제한 오브젝트의 글상자 내용을 위 그림과 같이 끝내기 로 수정한다.
snake038.png
위 화면과 같이 끝내기 오브젝트를 화면내 잘 배치하고 오브젝트의 이름도 끝내기로 수정한다.
snake039.png
끝내기 오브젝트의 블럭코딩을 완성한다.

독먹이 오브젝트 블럭코딩 수정

snake040.png
독먹이를 먹게되면 점수가 10점씩 줄게 되는데 급기야 -10점 되면 장면2로 넘어가도록 블럭코딩을 수정한다.


먹이 오브젝트 블럭코딩 수정

snake041.png
먹이를 먹게되면 점수가 10점 올라가게 되는데, 70점이 되면 장면2로 넘어가도록 블럭코딩을 수정한다.


독먹이 독기 빼기

독먹이가 등장하면 점수 내기가 너무 어렵다면, 독먹이의 독기를 빼고 좀 순하게 만들자.
snake042.png
위 3개의 숫자를 그림과 같이 바꾸어 독먹이를 순하게 만들자.
코드가 완성되면 실행해 본다.

  • 점수가 -10 이 되면 실패 화면이 등장하는가?
  • 점수가 70 이 되면 성공 화면이 등장하는가?
  • 장면이 바뀌면 다시시작 버튼과 끝내기 버튼이 보이고
  • 버튼을 클릭했을 때 원하는 동작이 수행 되는가?

뱀 만들기[03] – 엔트리

준비하기

이 글은 시리즈다. 이 글을 읽기 전에 읽어야 하는 글이 존재한다. 만일 이 글 부터 뱀 만들기를 시작하려면 이전버전 바로가기를 클릭하라.


지금까지 뱀과 먹이를 만들었다. 좌,우,상,하 화살표키로 뱀의 진행 방향을 조정할 수 있다. 뱀머리를 상징하는 뱀 눈동자도 만들었다. 뱀이 먹이를 먹으면 점수가 올라간다. 점수는 최대 50점 까지 올라간다. 먹이를 먹게 되면 뱀의 길이도 늘어난다. 점수만큼 늘어난다.
이번엔 방햇군을 만들고자 한다. 방햇군의 이름을 독먹이라 칭하고, 독먹이를 먹게되면 점수를 10점 잃고 뱀의 길이도 그 만큼 짦아지게된다.


독먹이 오브젝트 만들기

+ 버튼을 클릭하여 오브젝트를 생성하는데 그림은 직접 그려야 한다.
snake018.png
위와같은 그림을 그리고 새그림을 클릭하여 저장한 후, 그림의 이름을 그림1로 바꾼다. 독먹이의 그림은 자유롭게 창작하도록 한다. 다만 그림의 크기가 먹이와 비슷한 크기로 하는 것이 좋겠다.

snake019.png
만들어진 독먹이 오브젝트의 이름을 독먹이로 바꾸고, 화면에 적당히 배치한 다음, 이동방향을 0으로 정한다.

snake020.png
위의 그림과 같은 블럭코드를 작성한다. 코드의 내용을 보면 다음과 같다.

  • 크기를 1/10 로 줄인다.
  • 무한반복
    • 뱀의 눈동자 위치에서 50만큼 앞선 위치로 이동
    • 뱀의 눈동자 방향으로 조금씩 움직인다.

코드가 제대로 만들어 졌으면 실행해 본다.

  • 독먹이가 뱀의 앞에서 나타 나서 뱀머리를 향해 움직이는가?
  • 위와 같은 사항이 무한히 반복되는가?
  • 독먹이가 뱀으로 부터 더 멀리 떨어뜨리거나 가까이 두거나 할 때 어떻게 해야 할지 생각해 두라.
  • 독먹이가 뱀머리로 향하는 시간을 더 길게 하기위해서는 어떻게 해야 하나?
  • 독먹이의 움직임을 빠르게 하거나 늦게 하려면?

점수가 30점 이상일 때 독먹이 등장 시키기

snake022.png
그림과 같이 독먹이등장 이라는 신호를 만든다.
코딩블럭으로 신호를 발생시키거나 신호가 발생했을 때 특정 코딩블럭을 실행 시킬 수 있다. 우리는 점수가 30점 이상일 때 독먹이등장 이라는 신호를 발생시키고 그 신호가 발생했을 때 독먹이를 등장시키고자 한다.

snake023.png
코딩블럭을 위 그림과 같이 수정한다.

시작버튼을 클릭했을 때

  • 크기를 1/10 로 줄인다.
  • 화면에서 감춘다.
  • 무한반복
    • 점수가 30점 이상이면 : 독먹이를 등장 시킨다.
    • 무한반복 탈출

코딩블럭을 제대로 수정하였다면 실행해 본다.

  • 점수가 30점 이상이 되면 독먹이가 등장하는 가?

독먹이를 먹으면 감점하기

독먹이를 먹으면 점수가 10점 줄어들게 하자. 뱀의 길이는 점수에 따라 정해지도록 코딩되어 있음을 기억하라. 점수가 -10점이 되면 프로그램이 멈추게 한다.
snake024.png
위 그림과 같이 코딩블럭을 수정한다. 독먹이가 뱀의 눈동자에 닿게 되면 점수를 감점하고 즉각 움직임을 중단한 다음 새로운 위치에서 재 등장하게 된다.
코딩블럭이 제대로 수정되었으면 시작하기 버튼을 클릭하여 샐행해 본다.

  • 독먹이를 먹으면 점수가 10점 줄어들고 뱀의 길이도 줄어드는가?
  • 독먹이를 계속 먹어서 점수가 -10점이 되면 게임이 종료되는가?