본문 바로가기
어린이 코딩/스크래치 응용

[스크래치] 슬라이드 퍼즐 게임 만들기 - 16조각

by [바가지] 2017. 10. 19.
반응형

스크래치 

슬라이드 퍼즐 게임 만들기(16조각)

 

 

슬라이드 퍼즐 게임

 

어제 4조각 슬라이드 퍼즐 게임 만들기를 해 보았습니다.

오늘은 조금 더 다듬고 확장하여 16조각 퍼즐을 만들어 보겠습니다. 처음에는 20조각이였는데 마지막 한줄이 공간이 조금 부족하여 삭제하였습니다.

이번 포스팅을 읽고 나면 16조각 외에 100조각 등 더 많은 조각 퍼즐도 만들 수 있을 것입니다. 단, 반복작업으로인한 시간이 많이 소요됩니다. 전역에서 사용가능한 추가블록 기능이 있다면 편할 텐데 아쉬움이 남습니다.

 

그럼 16조각 슬라이드 퍼즐 게임 만들기 시작하도록 하겠습니다.

 

다음은 스프라이트 영역 부분과 변수 생성 부분입니다.

16조각의 사진이 스프라이트로 등록 되어 있고, 공백인 하나의 스프라이트가 더 있습니다.

사진이 없는 스프라이트에는 모든 스프라이트에서 사용 가능한(전역변수) 변수들의 초기설정하는 코딩부분을 넣을 것 입니다.

스프라이트

 

다음은 이미지가 없는 스프라이트에서의 화면입니다.

생성된 변수와 클릭했을 경우 변수들을 초기 설정 해 주는 부분입니다.

 

전역변수 변수초기설정

 

 

- 섞기Cnt-To : 퍼즐을 섞을 때 각 퍼즐의 이동 수 설정 부분입니다. 어렵게 하기 위해서는 이 값을 4가 아닌 더 큰수로 설정하면 됩니다. 더 복잡하게 섞이게 될테니까요. 저는 5번 이상으로 설정하니 어려워서 4번으로 설정을 하였습니다.

 

- 빈공간-X, 빈공간- Y : 빈공간 정보를 가지고 있는 변수 입니다.

 

-  X/Y 최소, 최대 값 : 퍼즐이 이동할 수 있는 영역의 조건을 나타냅니다. 이부분은 퍼즐의 조각 개수에 따라 설정을 다르게 하면 됩니다. 조각이 늘어나도 이 부분 값만 수정해 주면 됩니다.  

 

- 칸넓이+/- : 이미지의 이동 거리를 설정합니다. 조각이 많아지면 이미지를 작게 만들어야 될 것입니다. 이미지의 크기에 따라 이동해야 될 거리가 다르기 때문에 변수로 만들어서 관리하도록 하였습니다.

 

- 난수 최소/최대 : 조각을 섞을 때 발생시키는 난수의 최소, 최대 값입니다. 즉 한번 조각이 이동하고 기다리는 시간을 난수로 발생시키는데, 사용되는 최소, 최대 값을 설정하는 변수입니다.

 

(퍼즐조각 위치 정보)

 

 

다음은 퍼즐 스프라이트 부분입니다. 4조각으로 만들기 포스팅에서 설명 드렸듯이, 첫번째 스프라이트만 조금 다르고 모두 동일합니다. 추가블록을 전역변수로 만들수 있다면 정말 편할텐데 말이죠.

그런 기능이 있는데 제가 모르고 있는 건지는 잘 모르겠습니다. 

이전 포스팅과 내용은 거의 동일합니다. 단, 많은 부분들이 변수로 대체되었다는 것입니다.

 

 

변수 첫번째 스프라이트 코딩

 

움직이기 블록도 동일합니다. 단, 퍼즐 기준 위치정보를 변경했습니다. 1,1에서 0,0으로 변경했습니다.

설정 부분은 모두 변수를 만들어 사용 하고 있습니다.

 

 

다음은 두번째 ~ 마지막까지의 퍼즐 스프라이트 코딩 부분 입니다.

모두 동일합니다. 첫번째 이미지 스프라이트와 아주 조금 달르기 때문에 추가해서 올려 보았습니다. 

단, 클릭했을 때 부분은 X, Y 설정 부분만 각 퍼즐 스프라이트마다 다릅니다.

 

 

 

그리고 아래는 움직이기 코딩 부분입니다. 2번째 스프라이트부터는 모두 동일 합니다.

드래그 하셔서 다른 스프라이트 위에서 놓으시면 복사됩니다. 그 부분은 편하게 되어 있습니다.

 

 

 

여기까지 하여 포스팅이 끝이 났습니다.

 

이번에는 설명이 끝나고 실습 부분을 넣게 되네요.

 

 

설정 부분을 사용자에게 입력 받아서 사용 할 수도 있을 것입니다. 그렇게 하면 난이도 조절 및 다양한 부분들이 사용자에 의해서 제어 될 것입니다. 

 

그럼 여기까지 입니다. 혹, 궁금하신 부분이 있다면 댓글 남겨주세요.

혹, 도움이 되거나, 유용하셨다면 하트 클릭 부탁 드립니다. ^^

반응형