한눈에 보기
- 무엇: 에이전트가 스스로 판단해 길을 따라가고 미로를 빠져나오게 하고, 랜덤으로 그림을 그리고, 인벤토리를 캔버스·공책으로 쓰고, 에이전트로 게임을 만들기
- 누구: 에이전트 기본 명령과 반복을 익히고 조건문·변수를 배우는 초등 고학년~중학생
- 몇 분: 활동 하나가 1차시 안팎(게임 만들기는 2차시)
- 배우는 개념: 블록 탐지와 조건문, 알고리즘(오른손 법칙), 랜덤, 인덱스와 슬롯 번호, 나머지 연산, 변수와 문자열 연결
- 기초 명령은 ‘에이전트 실습’ 페이지

길 따라가기: 탐지하고 다시 실행하기
- 스크래치 수업의 햄스터 로봇처럼, 블록으로 만든 길을 에이전트가 스스로 판단하며 따라감. 채팅 명령
시작, 끝나면 ‘이동 종료’ - 앞 → 뒤 → 왼쪽 → 오른쪽 차례로 블록 탐지. 블록이 있는 쪽으로 1칸 가고 **‘다음 채팅명령어를 실행: 시작’**으로 자기 자신을 다시 실행
- 장애물을 파괴하기 참이라 에이전트가 길 블록을 부수며 지나감. 네 방향 모두 없으면 길 끝
다음 채팅명령어를 입력하면: "시작"
에이전트가 장애물을 파괴하기 참(true)
만약 에이전트가 블록 탐지: 블록 방향 앞으로 → 앞으로 1, 다음 채팅명령어를 실행 "시작"
아니면서 만약 … 뒤로 → 뒤로 1, "시작" 실행
아니면서 만약 … 왼쪽 → 왼쪽 1, "시작" 실행
아니면서 만약 … 오른쪽 → 오른쪽 1, "시작" 실행
아니면 → 채팅창에 말하기 "이동 종료"
- 반복문으로 바꿔 만들어 보고 두 방법 비교. 레드스톤을 감지해 따라가는 ‘자율 주행 에이전트’(숏츠)는 신호가 끊기지 않게 중간중간 레드스톤 횃불


미로 탈출: 오른손 법칙
- 이야기 도입: 미궁의 미노타우로스와 테세우스, 아리아드네의 실. 에이전트를 테세우스로
- 오른손 법칙: 오른쪽 벽만 짚고 따라가면 결국 나감
- 주변이 막혔는지에 따라 8가지 경우 → 행동은 3가지로 정리
- 오른쪽이 뚫림 → 오른쪽 회전, 앞으로 1
- 오른쪽은 막히고 앞이 뚫림 → 앞으로 1
- 나머지 → 왼쪽 회전
다음 채팅명령어를 입력하면: "미로"
반복 1000회
만약 반대로(not) 에이전트가 블록 탐지: 블록 방향 오른쪽 → 회전 오른쪽, 앞으로 1
아니면서 만약 (오른쪽 탐지) 그리고(and) 반대로(not)(앞쪽 탐지) → 앞으로 1
아니면 → 회전 왼쪽


추상화 그리기: 랜덤으로 움직이기
- 준비: 인벤토리 1~5번 슬롯에 색 블록. 이동한 곳에 블록 놓기 참 + 장애물을 파괴하기 참
- 랜덤블록(#34): 30번 반복 { 랜덤 1
5 슬롯 활성화 → 앞으로 랜덤 −55칸 → 왼쪽 회전 }. 회전이 없으면 한 줄만 그려짐 - 시작(무따기 15장): 100번 반복 { item에 랜덤 1
7 저장 → 랜덤 15 슬롯 활성화 → item=1 왼쪽 회전 / item=2 오른쪽 회전 / 나머지 앞으로 1 } - 바꿔 보기: 이동을 3칸으로(넓게), 슬롯 범위 줄이기(색 단순), 오른쪽 회전 대신 위로 이동(입체)



인벤토리로 그림 그리기
- 에이전트 인벤토리 3줄(27칸)에 블록으로 그림을 그리면 그대로 바닥에 블록 그림이 생김(영상: 금 블록·청금석 블록)
- 색 콘크리트·양털은 대표 블록(흰색) 하나로 인식 → 광석 블록·목재처럼 종류가 하나인 블록을 씀. 빈 슬롯이 있으면 멈춤
- 줄마다 반복 하나: index 0~8(9번). 슬롯 번호는 1부터, index는 0부터 → 1 + index
반복(for): index 값을 0 부터 8 까지 1씩 증가시키며
블록 채우기: 에이전트가 슬롯 (1 + index) 에서 물건의 이름을 가져오기
시작 ~(1 + index) ~0 ~1 끝 ~(1 + index) ~0 ~1 교체하기
(둘째 줄: 슬롯 10 + index, z ~2 / 셋째 줄: 슬롯 19 + index, z ~3)
- 플레이어 기준 상대 좌표라 실행 중에는 움직이지 않기



인벤토리를 공책으로: 배수 검사
- 슬롯마다 아이템 개수로 수를 적음(예: 3, 6, 9, 12, 15) →
1 3처럼 입력하면 3의 배수인지 슬롯마다 알려 줌 - 원리: 나눈 나머지가 0이면 배수. 계산의 ‘~를 ~로 나눈 나머지(mod)’ + 논리의 비교(=)
다음 채팅명령어를 입력하면: "1" 나누는 수
반복(for): index 값을 0 부터 4 까지
만약 (에이전트가 슬롯 (index + 1) 에서 블록의 갯수를 가져오기) 을 나누는 수 로 나눈 나머지 = 0 이면
채팅창에 말하기: 연결(개수, "는 ", 나누는 수, "의 배수가 맞습니다…")
아니면
채팅창에 말하기: 연결(개수, "는 ", 나누는 수, "의 배수가 아닙니다…")
- 처음엔 ‘○번째는’으로 말하다가 슬롯 개수 블록으로 바꿔 “7은 3의 배수가 아닙니다”처럼 더 정확하게


에이전트야 달려라: 구구단 달리기 게임
- 게임판: 카펫 트랙, 결승점에 감압판 → 레드스톤 → 레드스톤 램프(도착하면 불이 켜짐)
- 변수 3개: 수1, 수2, 입력값.
시작→ 수1·수2에 랜덤 1~9 저장, 채팅창에 ‘수1 곱하기 수2’ 답입력값 → 만약 수1 × 수2 = 입력값: “정답입니다.”, 앞으로 / 아니면 “틀렸습니다.”, 뒤로 → 두 경우 모두 ‘다음 채팅명령어를 실행: 시작’으로 바로 다음 문제- 플레이:
시작→답 12처럼 입력 - 변형: 이동 거리를 1 대신 입력값(답만큼 이동), 랜덤 범위를 1~19로(19단까지)



여럿이 구구달리기
- 선생님 여러 명이 함께 한 ‘에이전트 구구달리기’: 문제를 맞히면 앞으로, 틀리면 뒤로
- 가는 길에 장애물이 생겼다 없어지기를 반복 → 맞혀도 못 갈 수 있어 순발력도 필요
- 문제는 랜덤, 답은 채팅으로 입력(타이핑 속도도 중요). 라운드마다 순위
- 게임 코드는 영상에 나오지 않음. 위 ‘달려라’ 코드에 장애물을 더해 만들어 보기(제안)

에이전트 전투 게임 만들기
- 플레이어 대신 에이전트가 몬스터와 싸우는 게임(라이브 방송에서 즉석 제작). 지형 높낮이가 있으면 조종이 어려워 원 모양 평지 경기장을 만듦
- 아이템을 사용하면(on item used) 에이전트 동작(아이콘으로 보아 갑옷 네 부위): 투구 → 앞으로 1 / 흉갑 → 왼쪽 회전 / 레깅스 → 오른쪽 회전 / 부츠 → 오른쪽 회전 두 번(뒤로 돌기)
- 검 → 앞·뒤·왼쪽·오른쪽 사방 공격, 다이아몬드 → 이동하며 공격
0→ 에이전트를 플레이어에게 텔레포트,1→ 몬스터를 반복 소환(월드 822 72 180). 몬스터는 공격성이 강한 좀비 피그맨, 시간은 밤- ‘게임 시작’ 입력 → 30초 제한 시간(일시 정지로 측정, 실제로는 조금 길어짐 → 타이머를 따로 분리)

수업 팁
- 길 따라가기·미로는 학생이 길과 미로를 직접 만들고 서로 바꿔 시험하면 재미있음
- 미로 코드는 경우의 수를 먼저 종이에 그려 3가지 행동으로 줄이는 과정이 핵심(알고리즘)
- 인벤토리 활동은 빈 슬롯과 슬롯 번호(1부터) vs index(0부터) 차이에서 가장 많이 막힘
- 구구단 게임은 수학 시간과 연결. 답만큼 이동하는 변형은 큰 수일수록 위험해 전략이 생김
- 더 해 보기(숏츠): 팬케이크 정렬을 에이전트로(코드 공개), 벽과 오르막을 따라 올라가는 에이전트