이번 장에서는 영어 단어를 맞추는 간단한 퀴즈게임을 만들어 보겠습니다. 스크래치 케릭터가 설명하는 내용을 보고 1~4번까지의 보기중에서 정답에 해당하는 번호를 선택하는 게임입니다. 5단계까지 진행되며 정답이면 score가 1점 올라 갑니다.

사용자 삽입 이미지

1. 변수 만들기

사용자 삽입 이미지
좌측과 같이 Variables의 [Make a variable] 버튼을 클릭하여 answer, score, step 3개의 변수를 만듭니다.

answer는 사용자가 선택한 1~4의 값 중 하나를 저장하는 용도록 사용합니다.

score는 점수로 정답과 일치할 때만 1씩 증가됩니다.

step은 현재 진행 단계를 나타내며 총 5개의 문제까지 진행됩니다.

score와 step만 체크 표시를 하여 사용자가 볼 수 있도록 합니다.




2. 사용자 입력 처리

1) 초기화
현재 단계(step)를 1로 점수(score)를 0으로 설정하고, 첫번째 문제인 "A round fruit..."을 출력합니다. change 메시지를 전송하여 첫번째 답들이 출력되도록 합니다.
 
사용자 삽입 이미지


2) 사용자 입력 처리
사용자가 정답을 선택하고 1~4의 숫자를 입력하였을 때 실행되는 스크립트 입니다.

사용자 삽입 이미지

[set answer to (입력 값)]
  사용자가 현재 입력한 값을 answer 변수에 저장합니다.

[broadcast [check] and wait]
  입력한 값을 정답과 비교하고 처리하도록 check 메시지를 전달합니다.

[change step by (1)]
  현재 진행단계를 1 증가합니다.

[broadcast [change] and wait]
  다음 문제를 보여 주도록 change 메시지를 전달합니다.


3. 정답 처리
 
사용자가 정답을 입력하면 check 메시지를 받게되어 실행됩니다. 각 단계의 정답을 검사 하고 정답이면 점수를 1 증가한 후에 'Good'을 2초간 출력하고, 오답이면 'Wrong'을 2초가 출력한 후에 다음 문제를 출력합니다. 

사용자 삽입 이미지

[if <(step)=(단계)>]
  현재 단계를 검사하여 각 단계마다 다른 정답들을 검사하고 다음 문제를 출력 할 수 있도록 합니다. 위의 이미지에서는 1, 2 단계만 나오고 3, 4, 5는 생략되었습니다.

[if <(answer)=(정답)>]
  각 단계마다 정답을 비교합니다. 위의 스크립트를 보면 step이 1일 경우에는 정답은 2이며 step이 2일경우에 정답은 3입니다.
 

4. 답변 처리

1) 스프라이트 생성
페인트 에디터를 클릭하여 스프라이트를 생성합니다. 좌측 도구에서 'T'라고 되어 있는 버튼을 선택 후에 아래와 같이 4개의 답변들을 입력합니다. 이 답변은 첫번째 문제의 답변으로 사용됩니다.

사용자 삽입 이미지

2) 코스튬 추가
아래와 같이 Costumes에서 New costume: [Paint] 버튼을 클릭하여 다른 문제들의 답들을 코스튬으로 추가합니다. 답들은 각 단계에 맞추어 입력하시면 됩니다.

사용자 삽입 이미지

3) 스프라이트 작성
답변 스프라이트의 스크립트는 change 메시지를 받았을 때 현재 단계에 맞는 예문 코스튬을 출력하는 단순한 작업만 합니다. 

사용자 삽입 이미지

이제 완료되었습니다. 시작 버튼을 클릭하여 각 문제에 맞는 답을 선택하여 점수를 확인해 봅니다. 각자 질문과 답을 변경하거나 추가하여 다양한 퀴즈게임을 만들 수 있습니다.

아래의 압축파일을 다운로드 받으시면 전체 소스를 보실 수 있습니다.