한눈에 보기
- 무엇: ‘만약 ~이면’ 조건문과, 조건에 넣는 블록 탐지 블록 4가지(몹·블록·에이전트 탐지·에이전트 검사)를 비교합니다
- 누구: 코드작성기로 이벤트·변수를 한 번 써 본 초등 고학년~중학생 (제안)
- 몇 분: 영상 각 6분 안팎, 개념 + 업다운 게임 + 블록 탐지 실습 40분 1차시 (제안)
- 결과물: 채팅 업다운 게임, 동굴을 찾으면 알려 주는 코드, 앞 블록을 부수는 에이전트, 에이전트 발밑 블록 복사하기
- 영상은 예전 Code Connection 화면(2017·2019)입니다. 지금은 교육용 에디션에서 C키로 코드작성기를 열고, 블록 이름·위치가 조금 다를 수 있습니다(블록 모양으로 찾기)

조건문과 블록 모양
- 만약(if) ~이면 실행: 조건이 참일 때만 안의 명령을 실행
- 아니면(else): 위 조건이 모두 거짓일 때 실행 / 블록 아래 + 버튼으로 ‘이 아니고(else if)’ 조건을 더함
- 위에서부터 차례로 검사해 처음 참이 된 칸 하나만 실행합니다(블록 도움말 풍선)
| 블록 모양 | 돌려주는 것 | 들어가는 자리 | 예 |
| 각진 육각형 | 참·거짓 | 만약(if)의 조건 칸 | 블록 탐지, 에이전트 블록 탐지, 정답 = 입력값 |
| 둥근 모양 | 값(숫자·블록·아이템) | 숫자·블록·아이템이 들어가는 칸 | 랜덤 정수, 변수, 에이전트 블록 검사 |
[활동 안내] 업다운 게임 ①: 정답과 입력값 비교하기
- 게임 방법: 채팅에
게임시작→답 30처럼 숫자 입력 → 정답보다 작으면 ‘업’, 크면 ‘다운’, 같으면 ‘정답입니다.’ - 변수 두 개: ‘정답’(게임이 정한 수), ‘입력값’(플레이어가 말한 수)
- ‘답’ 채팅 명령의 매개변수를 ▼에서 변수 ‘입력값’으로 고르면 입력한 숫자가 바로 저장됩니다
- 조건 순서: ① 정답 = 입력값 → 정답 ② 정답 > 입력값 → 업 ③ 나머지 → 다운
on chat command "게임시작"
정답 에 랜덤 선택: 1 ~ 50 정수 저장
say "답 '어떤 수'라고 입력하세요."
on chat command "답" (입력값)
만약(if) 정답 = 입력값 이면 실행(then)
say "정답입니다."
이 아니고(else if) 정답 > 입력값 이면 실행(then)
say "업"
say "다시 답을 입력하세요."
아니면 실행(else)
say "다운"
say "다시 답을 입력하세요."

[활동 안내] 업다운 게임 ②: 만드는 순서와 플레이
- 변수 ‘정답’, ‘입력값’ 만들기
- ‘게임시작’ 채팅 명령: 정답에 1~50 랜덤 정수 저장, 입력 방법 안내 말하기
- ‘답’ 채팅 명령: 논리 카테고리의 ‘만약 ~이면 실행, 아니면 실행’ 블록을 넣고 + 버튼으로 조건 하나 추가
- 세 칸에 비교 조건과 말하기 넣기 → ‘업’·‘다운’ 뒤에 “다시 답을 입력하세요.”를 붙이면 더 친절한 게임
- 플레이 예(영상): 답 30 → 다운, 답 20 → 다운, 답 10 → 업, 답 15 → 다운 → 10과 15 사이 → 답 14에서 정답
- 숫자만 치면(
20) 아무 일도 없습니다. 반드시 명령어 ‘답’ 뒤에 숫자를 씁니다



블록 탐지 블록 4가지
| 메뉴 | 블록 | 모양 | 쓰는 법 |
| 몹 | 블록탐지 · 위치 · 발견하면, 다음 명령 실행 | 명령 블록 | 탐지·위치·실행할 명령이 한 세트. 이 블록 하나로 끝 |
| 블록 | 블록 탐지: (블록) 위치 (좌표) | 육각형 | 만약(if) 조건 칸에 넣기 |
| 에이전트 | 에이전트가 블록 탐지: 종류 (블록·레드스톤) 방향 | 육각형 | 에이전트 바로 옆 한 칸에 블록이 있는지(참·거짓) |
| 에이전트 | 에이전트가 블록을 검사: (블록·데이터) 방향 | 둥근 모양 | 그 칸의 블록이 무엇인지 돌려줌 → 블록 칸에 넣기 |

[활동 안내] 동굴 찾기: 몹 메뉴와 블록 메뉴로 같은 일 하기
- 발밑 20칸 아래가 비어 있으면(공기 블록) “20칸 아래 동굴을 발견했습니다!”를 띄웁니다
- 두 코드는 모양은 달라도 하는 일이 같습니다. 몹 메뉴는 명령 칸에
say대신tp같은 다른 명령도 넣을 수 있습니다 - 이벤트가 ‘걷고 있으면’이므로 뛰지 말고 걸어야 메시지가 나옵니다(▼에서 달리기 등으로 바꿀 수 있음)
플레이어가 [걷고] 있으면 실행
블록탐지: (공기 블록) 위치 ~0 ~-20 ~0
발견하면, 다음 명령 실행 "say 20칸 아래 동굴을 발견했습니다!"
플레이어가 [걷고] 있으면 실행
만약(if) 블록 탐지: (공기 블록) 위치 ~0 ~-20 ~0 이면(then) 실행
채팅창에 말하기: "20칸 아래 동굴을 발견했습니다!"



[활동 안내] 에이전트 블록 탐지: 앞 블록 부수기
- 탐지(육각형): 무한반복 + 만약 ‘에이전트가 블록 탐지: 종류 블록, 방향 앞으로’ → 에이전트가 블록 파괴 앞으로
- 에이전트 앞에 블록을 놓으면 탐지되는 순간 바로 부숩니다
- 방향은 앞·뒤·왼쪽·오른쪽·위·아래 바로 옆 칸만. ‘몇 칸 앞’은 고를 수 없습니다
무한반복 실행
만약(if) 에이전트가 블록 탐지: 종류 [블록] 방향 [앞으로] 이면(then) 실행
에이전트가 블록 파괴 [앞으로]


[활동 안내] 에이전트 블록 검사: 발밑 블록 복사하기
- 검사(둥근 모양): 채팅
1→ 에이전트 아래(down) 블록을 검사해 그 블록을~1 ~0 ~1에 놓기 - 검사 종류는 ‘데이터’가 아니라 ‘블록’으로 고릅니다
- 잔디 위면 잔디, 목재 위로 옮기면 목재가 놓입니다
- 채팅
2: 에이전트가 플레이어에게 텔레포트(에이전트를 데려오는 보조 명령)
다음 채팅명령어를 입력하면: "1"
(에이전트가 블록을 검사: 블록 [블록] 방향 [down]) 을 ~1 ~0 ~1 에 놓기



수업 팁
- 말로 먼저: 짝과 말로 업다운 게임을 해 본 뒤 “언제 업이라고 하지?”를 조건으로 바꿔 쓰게 합니다 (제안)
- 모양으로 찾기: “조건 칸에는 육각형, 블록 칸에는 둥근 블록”을 먼저 알려 주면 블록을 찾는 시간이 줄어듭니다
- 같은 문제, 다른 블록: 동굴 찾기를 몹 메뉴·블록 메뉴로 각각 만들어 코드 길이와 편리함을 비교합니다 (제안)
- 확장: 업다운 게임에 시도 횟수 변수 추가, 정답 범위 바꾸기 / 에이전트 블록 검사로 ‘밟은 블록 따라 놓기’ (제안)
- 영상의
~1 ~0 ~1은 플레이어 기준 x·z로 한 칸씩 떨어진 자리입니다(영상에서는 ‘앞으로 한 칸, 옆으로 한 칸’). 보는 방향에 따라 앞·옆이 달라질 수 있습니다 - 몹 메뉴의 ‘블록탐지 … 발견하면, 다음 명령 실행’ 블록은 지금도 공식 MakeCode 문서의 몹 고급 블록에
execute detect(mobs.executeDetect)로 올라 있습니다(2026-10 공식 문서 기준). 도구 상자에서 안 보이면 몹 메뉴의 ‘더 보기’를 펼쳐 찾습니다