본문 바로가기
스크래치/스크래치 유튜브 강좌

스크래치로 만들기 - 카드 맞추기 게임 만들기 / Create a card-matching game with Scratch

by 할거없네 2019. 5. 9.

https://youtu.be/q1-XG7s8kmI

 

 

이번에 만드는 게임은 '카드 맞추기 게임'입니다.

카드를 몇초동안 암기한 후에 서로 같은 카드를 골르는 간단한 게임이죠!

이 게임을 만들면서 '복제하기'를 어떻게 잘 다루는지 배울 수 있을거 같네요.

스프라이트는 한개를 만들면 됩니다.

 

스프라이트 모양을 보면 카드 안쪽의 동물 8개의 모양과, 카드 뒷면인 검은색이 있습니다.

카드들을 배치하고 그 위에 동물 2개씩 랜덤으로 자리에 놓게 하는 것입니다.

리스트는 3개를 썼습니다.

먼저 카드리스트는 카드는 16개의 자리에서 각 2개씩 동물에 해당되는 숫자를 넣어줍니다.

이 카드리스트들은 아직 섞기 전의 카드들입니다.

 

카드 셔플은 카드를 섞은 후의 카드의 순서입니다.

총 8종류에 2개씩를 카드 리스트에 넣어줍니다.

이미 골랐던 카드는 리스트에 들어가지 않아야 하므로, 고른 카드들을 '카드 리스트'를 없애면서 중복되지 않도록 하였습니다.

 

마지막으로 열은 카드들을 기록하기 위한 리스트입니다.

카드 2개를 클릭해서 각 카드의 번호가 맞으면 열은 카드 리스트에 집어 넣는 것입니다.

열린 카드들은 다시 클릭해도 다시 점수를 주지 않도록 방지하기 위한 리스트이기도 합니다.

 

 

 

일단 주요 리스트들에 대해서 설명은 여기까지이구요, 프로그램 동작 순서에 대해서 알아보겠습니다.

 

이것이 메인 루프가 됩니다. 처음 초기화를 하고, 카드들을 복제합니다.

복제하는 수는 카드의 총 수로, 16개와 동물 16개가 되겠네요.

@card_back은 검으색 카드를, @clone_number는 동물의 번호가 됩니다.

즉, 32개의 복제본은 @card_back 이 1~16과, @clone_number가 1~16을 가지고 있습니다.

각 번호는 '자리'를 뜻하는 것이지, 각각의 모양을 뜻하지 않습니다.

즉, 1번은 첫번째, 2번은 두번째 자리를 말합니다.

여기서 모양을 결정해 주는 것은 '리스트'가 하는 역할입니다.

그다음 위에서 설명한 것과 같이 카드를 섞어 주구요...

복제가 되면 마우스로 눌렀는지 아닌지 확인하는 블럭을 넣어줍니다. 그 블록이 clon_open이 되겠네요.

마우스를 누른게 첫번째 카드인지 두번째 카드인지 확인하고,

첫번째라면 해당 카드의 번호를 저장합니다.

 

두번째라면 첫번째 카드의 번호와 비교해서 맞는지 확인하구요.

만약에 맞다면 점수를 획득하고, 틀리면 점수를 깎도록 하면 게임이 완성됩니다.

 

댓글