3권 · 9. 재미있는 말놀이를 해요

재미있는 말놀이를 해요

엘리오와 함께 재미있는 말놀이 게임을 만들어 보아요. 버튼을 누르면 말풍선처럼 신나는 반응이 나오는 코딩이에요 🙂

  • 대상 초등 4학년
  • 준비물 3개
  • 블록 172개
  • 산출물 말놀이 규칙을 정하고 엘리오가 즐겁게 반응하게 만들어요.

오늘 수업 한눈에

  1. 1무엇을 만들까?
  2. 2준비물
  3. 3따라해 보자
  4. 4완성 코드
  5. 5도전

3권 · 9. 재미있는 말놀이를 해요

재미있는 말놀이를 해요

엘리오와 함께 재미있는 말놀이 게임을 만들어 보아요. 버튼을 누르면 말풍선처럼 신나는 반응이 나오는 코딩이에요 🙂

오늘의 미션

말놀이 규칙을 정하고 엘리오가 즐겁게 반응하게 만들어요.

무엇을 만들까?

재미있는 말놀이를 해요 완성 모습
엘리오가 그림 힌트를 보고 말놀이를 하는 완성 모습이에요.

같은 규칙을 반복해서 쓰면 게임이 더 재미있어져요.

조건을 넣으면 엘리오가 상황에 맞게 다르게 움직여요.

소리와 움직임을 함께 쓰면 말놀이가 더 생생해져요.

준비물

  • 엘리오말놀이를 보여 주는 귀여운 로봇이에요.
  • 코딩 블록말놀이 순서와 규칙을 만드는 블록이에요.
  • 말놀이 힌트어떤 말을 떠올릴지 도와주는 힌트예요.

따라해 보자

  1. 1

    규칙 정하기

    어떤 말놀이를 할지 먼저 정해요.

  2. 2

    시작 만들기

    버튼을 누르면 놀이가 시작되게 만들어요.

  3. 3

    반응 넣기

    맞거나 틀렸을 때 엘리오가 다르게 반응하게 해요.

  4. 4

    반복해 보기

    여러 번 놀 수 있도록 다시 시작하는 흐름을 만들어요.

완성 코드

🧱완성 코드 172블록 — 블록이 아주 많아요! 눌러서 펼쳐 보기

이 작품은 코드가 길어요. 천천히 부분부분 따라 만들어 봐요. 아래는 실제 Scratch 3.0 완성 코드예요.

무대

⚑ 클릭했을 때
무한 반복하기
[게임배경음악.mp3▾] 끝까지 재생하기
[게임 시작▾] 신호를 받았을 때
[시간▾] 을(를) (60)로 정하기
무한 반복하기
(1)초 기다리기
[시간▾] 을(를) (-1)만큼 바꾸기
만약 (시간) = (0) (이)라면
[게임 끝▾] 신호 보내고 기다리기
[this script▾] 멈추기

스프라이트 1

⚑ 클릭했을 때
[점수▾] 을(를) (0)로 정하기
[문제▾]의 (all)번째 항목 삭제하기
(엘리오) 을(를) [문제▾]에 추가하기
(블루투스) 을(를) [문제▾]에 추가하기
(컴퓨터) 을(를) [문제▾]에 추가하기
(고슴도치) 을(를) [문제▾]에 추가하기
(축구공) 을(를) [문제▾]에 추가하기
(이순신) 을(를) [문제▾]에 추가하기
(파인애플) 을(를) [문제▾]에 추가하기
(글자를 차례대로 클릭해서 단어를 만들어 보세요.) 을(를) (3)초 동안 말하기
[게임 시작▾] 신호 보내기
정의하기 4글자 순서 정하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[1번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[2번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[3번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[4번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[3글자▾] 신호를 받았을 때
[순서▾]의 (all)번째 항목 삭제하기
(1) 을(를) [순서▾]에 추가하기
(2) 을(를) [순서▾]에 추가하기
(3) 을(를) [순서▾]에 추가하기
3글자 순서 정하기
[4글자▾] 신호를 받았을 때
[순서▾]의 (all)번째 항목 삭제하기
(1) 을(를) [순서▾]에 추가하기
(2) 을(를) [순서▾]에 추가하기
(3) 을(를) [순서▾]에 추가하기
(4) 을(를) [순서▾]에 추가하기
4글자 순서 정하기
정의하기 문제 만들기
[답▾] 을(를) ([문제▾]의 ((1) 부터 ([문제▾]의 항목 수) 사이의 난수)번째 항목)로 정하기
만약 (()의 길이) = (4) (이)라면
[4글자▾] 신호 보내기
아니면
[3글자▾] 신호 보내기
⚑ 클릭했을 때
무한 반복하기
만약 (()의 길이) = (4) (이)라면
만약 (클릭하는 순서) = (5) (이)라면
문제 만들기
[점수▾] 을(를) (1)만큼 바꾸기
[클릭하는 순서▾] 을(를) (1)로 정하기
만약 (()의 길이) = (3) (이)라면
만약 (클릭하는 순서) = (4) (이)라면
문제 만들기
[점수▾] 을(를) (1)만큼 바꾸기
[클릭하는 순서▾] 을(를) (1)로 정하기
정의하기 3글자 순서 정하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[1번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[2번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[선택한 순서▾] 을(를) ((1) 부터 ([순서▾]의 항목 수) 사이의 난수)로 정하기
[3번▾] 을(를) ([순서▾]의 (선택한 순서)번째 항목)로 정하기
[순서▾]의 (선택한 순서)번째 항목 삭제하기
[4번▾] 을(를) (0)로 정하기
[게임 시작▾] 신호를 받았을 때
문제 만들기
[게임 끝▾] 신호를 받았을 때
((여러분의 점수는 ) 와(과) (점수) 결합하기) 말하기
[other scripts in sprite▾] 멈추기

4번

[4글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (4번)번째 글자) 말하기
[3글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
숨기기
() 말하기
이 스프라이트를 클릭했을 때
만약 (4번) = (클릭하는 순서) (이)라면
숨기기
[클릭하는 순서▾] 을(를) (1)만큼 바꾸기
[pop▾] 재생하기
아니면
[틀렸다▾] 신호 보내기
[틀렸다▾] 신호를 받았을 때
보이기
[클릭하는 순서▾] 을(를) (1)로 정하기
[게임 시작▾] 신호를 받았을 때
y좌표를 (-140) (으)로 정하기
무한 반복하기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (100)만큼 바꾸기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (-100)만큼 바꾸기
[게임 끝▾] 신호를 받았을 때
[other scripts in sprite▾] 멈추기

1번

⚑ 클릭했을 때
[클릭하는 순서▾] 을(를) (1)로 정하기
[기다리는 시간▾] 을(를) (0.5)로 정하기
[4글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (1번)번째 글자) 말하기
[3글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (1번)번째 글자) 말하기
이 스프라이트를 클릭했을 때
만약 (1번) = (클릭하는 순서) (이)라면
숨기기
[클릭하는 순서▾] 을(를) (1)만큼 바꾸기
[pop▾] 재생하기
아니면
[틀렸다▾] 신호 보내기
[틀렸다▾] 신호를 받았을 때
보이기
[클릭하는 순서▾] 을(를) (1)로 정하기
[게임 시작▾] 신호를 받았을 때
y좌표를 (-140) (으)로 정하기
무한 반복하기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (100)만큼 바꾸기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (-100)만큼 바꾸기
[게임 끝▾] 신호를 받았을 때
[other scripts in sprite▾] 멈추기

2번

[4글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (2번)번째 글자) 말하기
이 스프라이트를 클릭했을 때
만약 (2번) = (클릭하는 순서) (이)라면
숨기기
[클릭하는 순서▾] 을(를) (1)만큼 바꾸기
[pop▾] 재생하기
아니면
[틀렸다▾] 신호 보내기
[3글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (2번)번째 글자) 말하기
[틀렸다▾] 신호를 받았을 때
보이기
[클릭하는 순서▾] 을(를) (1)로 정하기
[게임 시작▾] 신호를 받았을 때
y좌표를 (-140) (으)로 정하기
무한 반복하기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (100)만큼 바꾸기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (-100)만큼 바꾸기
[게임 끝▾] 신호를 받았을 때
[other scripts in sprite▾] 멈추기

3번

이 스프라이트를 클릭했을 때
만약 (3번) = (클릭하는 순서) (이)라면
숨기기
[클릭하는 순서▾] 을(를) (1)만큼 바꾸기
[pop▾] 재생하기
아니면
[틀렸다▾] 신호 보내기
[4글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (3번)번째 글자) 말하기
[3글자▾] 신호를 받았을 때
(기다리는 시간)초 기다리기
보이기
(()의 (3번)번째 글자) 말하기
[틀렸다▾] 신호를 받았을 때
보이기
[클릭하는 순서▾] 을(를) (1)로 정하기
[게임 시작▾] 신호를 받았을 때
y좌표를 (-140) (으)로 정하기
무한 반복하기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (100)만큼 바꾸기
((1) 부터 (2) 사이의 난수)초 기다리기
y좌표를 (-100)만큼 바꾸기
[게임 끝▾] 신호를 받았을 때
[other scripts in sprite▾] 멈추기

진짜 소스: 4.재미있는 말놀이를 해요.sb2 · 172블록

도전!

힌트를 하나 더 넣어서 나만의 말놀이 문제를 만들어 보세요!

응원하는 엘리오
엘리오

좋아요! 엘리오와 함께 생각이 톡톡 튀는 게임을 만들었어요 🎉