스티브코딩

조건과 블록 탐지

만약·아니면 조건문, 블록 탐지 블록 4가지 비교, 업다운 게임 만들기

개념2026-10-20 갱신

한눈에 보기

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

조건문과 블록 모양

  • 만약(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 "다시 답을 입력하세요."
업다운 게임 완성 코드 (04:54)
업다운 게임 완성 코드 (04:54)

[활동 안내] 업다운 게임 ②: 만드는 순서와 플레이

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

블록 탐지 블록 4가지

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

[활동 안내] 동굴 찾기: 몹 메뉴와 블록 메뉴로 같은 일 하기

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

플레이어가 [걷고] 있으면 실행
  만약(if) 블록 탐지: (공기 블록) 위치 ~0 ~-20 ~0 이면(then) 실행
    채팅창에 말하기: "20칸 아래 동굴을 발견했습니다!"
① 몹 메뉴: 탐지·위치·명령이 한 세트 (01:31)
① 몹 메뉴: 탐지·위치·명령이 한 세트 (01:31)
② 블록 메뉴: 육각형 블록을 조건문에 (02:27)
② 블록 메뉴: 육각형 블록을 조건문에 (02:27)
③ 동굴 위를 걸으면 채팅에 메시지 (02:12)
③ 동굴 위를 걸으면 채팅에 메시지 (02:12)

[활동 안내] 에이전트 블록 탐지: 앞 블록 부수기

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

[활동 안내] 에이전트 블록 검사: 발밑 블록 복사하기

  • 검사(둥근 모양): 채팅 1 → 에이전트 아래(down) 블록을 검사해 그 블록을 ~1 ~0 ~1에 놓기
  • 검사 종류는 ‘데이터’가 아니라 ‘블록’으로 고릅니다
  • 잔디 위면 잔디, 목재 위로 옮기면 목재가 놓입니다
  • 채팅 2: 에이전트가 플레이어에게 텔레포트(에이전트를 데려오는 보조 명령)
다음 채팅명령어를 입력하면: "1"
  (에이전트가 블록을 검사: 블록 [블록] 방향 [down]) 을 ~1 ~0 ~1 에 놓기
① 블록 검사를 블록 놓기 칸에 (04:45)
① 블록 검사를 블록 놓기 칸에 (04:45)
② 에이전트 아래 잔디 → 잔디가 놓임 (05:24)
② 에이전트 아래 잔디 → 잔디가 놓임 (05:24)
③ 목재 위에서 실행 → 목재가 놓임 (05:41)
③ 목재 위에서 실행 → 목재가 놓임 (05:41)

수업 팁

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

관련 영상

관련 공식 자료

함께 보기

출처

  • 유튜브 「블록탐지 명령블록은 몇가지 있을까? / 메이크코드 #70 블록탐지명령 비교분석!」(2019-03-10)
  • 유튜브 「마인크래프트 에듀케이션 에디션 코드빌더 #24 플레이 업다운 게임!」(2017-11-11)