뱀 만들기[02] – 엔트리

준비하기

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


지금까지 뱀 한마리를 만들었다. 우리가 만든 뱀은 좌,우,상,하 화살표키로 진행 방향을 조정할 수 있다. 뱀머리를 상징하는 뱀 눈동자도 만들었다. 이제 뱀 주변을 제멋대로 움직이는 먹이를 만들어 보자. 뱀이 먹이를 먹으면 점수가 올라간다. 점수는 최대 50점 까지 올라간다. 먹이를 아무리 먹어도 점수는 50점 이상 올라갈 수 없다. 먹이를 먹게 되면 뱀의 길이도 늘어난다. 점수만큼 늘어난다. 뱀의 길이를 무한정 늘릴 수 없고 어느정도 늘어나면 뱀의 몸통이 끊어지는 에러가 나타나므로 최대 점수를 50점으로 한정한다.


오브젝트 먹이 만들기

snake011.png
+를 클릭하여 먹이를 만들자. 먹이의 모양은 직접 그려야 한다. 자신이 원하는 모양으로 먹이를 그린다. 단, 뱀 머리 보다는 크기가 작게 그리는 것이 좋겠다.


snake012.png
새로 만든 오브젝트의 이름을 먹이로 바꾸고, 그림처럼 먹이를 화면에 적당이 위치시킨다.


snake013.png
화면과 같이 먹이의 블럭코드를 작성한다.
작성이 완료되었으면 실행시켜 보자.

  • 먹이의 크기는 적당한가?
  • 먹이가 화면의 무작위 위치에서 나타나는가?
  • 먹이는 제멋대로 움직이는가?
  • 먹이가 벽에 닿으면 튕기는가?

먹이를 먹으면 점수가 올라가게 하자.

snake014.png
그림과 같이 점수라는 변수를 만들자. 점수는 모든 오브젝트에서 사용하도록 선택한다.


snake015.png
변수를 만들고 난 뒤, 그림처럼 먹이의 블럭코딩을 수정한다.
제대로 수정되었으면 실행해 본다.

  • 먹이를 먹으면 점수가 10점씩 올라가는가?
  • 먹이를 먹기 전에는 점수가 0인가?
  • 먹이를 먹고 나면 먹이가 새로운 위치에서 다시 나타 나는가?

먹이를 먹으면 뱀의 몸통이 길어지게 하자.

snake016.png
뱀의 몸통이 길어지는 이유는 뱀의 오브젝트의 복사본 때문이다. 뱀 오브젝트의 코딩 블럭을 위 그림과 같이 수정하자. 수정이 제대로 완료되었으면 실행해 본다.

  • 먹이를 먹을 때 마다 뱀의 길이가 늘어 나는가?
  • 먹이를 먹기 전에는 뱀의 머리만 있는가?
  • 먹이를 많이 먹어서 뱀의 길이가 많이 늘어나게 되면 뱀의 몸통이 자꾸 끊어지는 현상이 보이는가?
  • 그런 현상은 원의 복제본을 너무 많이 생성하여 최대 복제본 한계치를 넘어섰기 때문이다.

점수의 최댓치 정하기

snake017.png
먹이의 코딩블럭을 그림과 같이 수정하자. 수정이 완료되면 실행해 본다.

  • 먹이를 아무리 먹어도 점수가 50점을 초과하지 않는가?
  • 뱀의 길이가 점수가 50점이 되면 더이상 늘어나지 않는가?
  • 우리는 왜 뱀의 길이를 무한정 늘어나게 할 수 없는가?

One thought on “뱀 만들기[02] – 엔트리”

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다