본 소프트웨어는 GNU GPL v3 라이선스로 배포됩니다. 자세한 내용은 LICENSE를 참조하세요.
정적 웹앱. 팀(최대 6마리)의 속성(슬롯당 최대 2개) 을 선택하면
- 공격 커버리지: 상대 타입별 팀의 최고 공격 배율 집계, 미커버(2× 불가) 열 하이라이트, 보완 공격 타입 제안
- 슬롯별 방어 요약 칩: 4×, 2×, 0×, 0.25×, 0.5×
- 남은 속성 목록
을 즉시 계산/표시합니다. (6세대 이후 타입 상성 기준, 한글 타입만 노출)
- 좌측 포켓몬 검색(한국어 이름) → 타입 자동 적용, 필요 시 별명 입력
- 우측 타입 칩(3×6) 으로 직접 선택/해제 (슬롯당 0~2개)
- 상단 버튼: 색각친화/라이트·다크/초기화/URL 복사/인쇄
- 추천(남은 자리): 개수(1-10) 입력 후 추천 생성 또는 랜덤 생성
- 카드의 팀에 추가 버튼으로 빈 슬롯에 즉시 반영
- 6칸 팀 보드: 좌측에 포켓몬 검색(한국어 이름)
- 스프라이트 표시/확대: 검색 시 front_default 스프라이트를 표시, 클릭하여 확대 보기
- 타입 선택(3×6 그리드)
- 표 마지막 행 전체에 각 방어 타입에 대한 팀의 최대 공격 배율 집계
- 미커버(2× 불가) 타입 열 배경 하이라이트 + 해당 타입을 2×로 칠 수 있는 보완 공격 타입 칩 제안
- 헤더 행/첫 열 스티키, 가로 스크롤 시 가독성 유지
- 개수(1~10) 숫자 입력 →
- 추천 생성(그리디, K개를 정확히 리스트업)
- 랜덤 생성(가중치 랜덤, K개)
- 옵션: 타입 중복 최소화, 스피드 우선, 우선 역할 물리/특수
- 카드의 팀에 추가 버튼으로 빈 슬롯에 타입/스프라이트/이름 자동 반영
앱은 /data/pokemon.min.json을 읽습니다. 항목 스키마:
{
"i": 907,
"n": "마스카나",
"t": ["grass","dark"],
"b": [76,110,70,81,70,123],
"tags": ["physical","speed"],
"s": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/907.png"
}i: 도감 번호n: 한국어 이름t: 타입 배열(영문 키)b: 종족값 6개[HP, ATK, DEF, SPATK, SPDEF, SPD]tags: 선택(역할 추론/보조)s: front_default 스프라이트 URL
샘플 데이터
/data/pokemon.sample.json이 있으면 자동 폴백됩니다.
/scripts/build-pokemon-json.mjs로 포켓덱스를 생성할 수 있습니다.
node ./scripts/build-pokemon-json.mjs --pretty > ./data/pokemon.min.json--pretty옵션을 빼면 압축(minified) 출력- 스크립트는 PokeAPI를 호출하므로 네트워크 상태에 따라 시간이 걸릴 수 있습니다.
root/
├─ index.html
├─ data/
│ └─ pokemon.min.json
├─ scripts/
│ └─ build-pokemon-json.mjs
└─ src/
├─ styles.css # 테마/레이아웃/표 스티키/하이라이트
├─ app.js # 부트스트랩/이벤트/전체 연동
├─ render.js # 팀 보드/테이블/요약 렌더
├─ compute.js # 공격/방어 집계 로직
├─ effects.js # 배율 계산, URL 인코딩/디코딩(qs)
├─ reco.js # 추천(그리디/가중 랜덤), 배지 설명
├─ state.js # 팀 상태(슬롯) 생성/토글/초기화
├─ ui.js # 헤더 버튼, 고정 헤더/스티키 보정
└─ types.js # 타입 라벨/컬러/공격 상성표
정적 사이트라 별도 빌드가 필요 없습니다.
- 상성 계산은 타입 표 기반이며, 기술/특성/아이템/날씨 등 전투 컨텍스트는 포함하지 않음
- 추천은 휴리스틱 점수 기반으로 최적해 보장은 하지 않음
- 포켓덱스가 비어 있거나 포맷이 맞지 않으면 추천 기능이 제한됨
- 타입/스프라이트 출처: PokéAPI
본 소프트웨어는 GNU GPL v3 라이선스로 배포됩니다.
자세한 내용은 LICENSE를 참조하세요.