LUNA CODE LAB · CLASS I · WORKSHEET
자동 공격 시스템
WEEK 08 / 12 · 90분
이름
날짜
01 자동 무기 종류 — 알아서 공격하는 무기 3개! ⚔️ ⏱ 15분

버튼 안 눌러도 알아서 발사하는 무기! 데미지(공격력)와 쿨다운(다시 쏘기까지 시간)을 정해보자.

# 무기 이름 데미지 (공격력) 쿨다운 (초) 특징 (한 줄)
1
예) 자동 화살
예) 10
예) 1초
예) 가장 가까운 적
2
3
02 적 추적 — 가장 가까운 적 찾기 🎯 ⏱ 15분

무기가 어떤 적을 쏠지 어떻게 정할까? 그림으로 그려보자.

💡 거리 = √((x2-x1)² + (y2-y1)²) 가장 작은 거리를 가진 적이 가장 가까운 적!
→ 코드에서는 모든 적의 거리를 재서 제일 짧은 적을 타겟으로 정한다.
🎮 P = 내 캐릭터 / E = 적
P 위치에서 가장 가까운
적까지 선을 그어보자
LUNA CODE LAB · CLASS I · WORKSHEET
자동 공격 시스템
WEEK 08 / 12 · 90분
03 발사 방향 옵션 — 어떻게 쏠까? 🏹 ⏱ 12분

내 게임은 어떻게 적을 공격할까? 가장 마음에 드는 방식에 ✓ 표시하자.

🖱
마우스 방향
내가 마우스로 적을 가리키면 그쪽으로 발사!
🎯
자동 추적
컴퓨터가 알아서 가장 가까운 적을 찾아 발사!
💥
360도 발사
사방으로 동시에 8발! 너무 적이 많을 때 좋아!
04 내 캐릭터 디자인 — 주인공 만들기 🧙 ⏱ 12분

서바이버 게임의 주인공! 이름·직업·외모·색을 정해보자.

🏷 캐릭터 이름
⚔️ 직업 · 클래스
🎨 메인 색 2개
📝 특징 한 줄
여기에 캐릭터 그림 그리기
(정면 모습 + 색칠 OK)
05 점검 체크리스트 — 다 했는지 확인! ✓ ⏱ 3분

집에 가기 전에 모두 체크 했는지 확인하자.

자동 무기 3개를 모두 정했다
적 추적 다이어그램을 그렸다
발사 방향 옵션 1개를 골랐다
캐릭터 이름·외모를 정했다
캐릭터 그림을 그렸다
선생님께 보여드렸다 🙋
LUNA CODE LAB · CLASS I · GLOSSARY
처음 듣는 용어 사전
WEEK 08 / 12 · 용어집

이번 주에 나오는 단어들. 모르면 자연스러워요. 외울 필요 없어요.

자동 공격Auto Attack
클릭 안 해도 일정 시간마다 알아서 공격. 뱀파이어 서바이버스처럼.쿨다운 0.5초마다 미사일 펑.
atan2Math.atan2()
JavaScript 함수. 두 점 사이 각도를 계산해줘요.캐릭터→적 방향 구하기에 필수.
추적Tracking
가장 가까운 적을 찾아서 따라가는 미사일.유도탄·자동 조준.
객체Object
관련 정보를 한 묶음으로 만든 것. {데미지: 10, 쿨다운: 0.5}처럼.무기 정보 보관함.
발사 방향Direction
미사일이 날아가는 각도. 0도는 오른쪽, 90도는 위.atan2로 계산해서 결정.
가장 가까운 적Nearest Enemy
거리가 제일 짧은 적을 찾기. 자동 조준의 핵심.for문으로 모든 적 거리 비교.
거리Distance
두 점 사이 길이. Math.hypot(dx, dy)로 계산해요.피타고라스 정리 그대로.
360도 공격360° Attack
사방으로 동시에 미사일 발사. 둘러싸였을 때 최고.10도씩 36발 = 한 바퀴.
WASDWASD Keys
키보드 W·A·S·D 키로 위·왼·아래·오른 이동.FPS 게임 기본 조작.
캐릭터Character
플레이어가 조종하는 주인공. 마리오·링크·페이커처럼.player 객체로 코드에 표현.