Dugout Value
투구·타격·예측 연구와 선수·계약·트레이드 가치를 비교하는 도구 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Interactive 3D playbook of 10 common pro-basketball offensive sets, animated step by step (Three.js). Unofficial, not affiliated with the NBA.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
10 offensive sets from pro basketball, replayed step by step on a 3D half court.
Live demo →
An interactive playbook that replays 10 offensive sets commonly run in pro basketball (NBA) on a 3D half court, step by step.
Players move at real game speed, coach-style diagram notation (cuts, dribbles, passes, screens) is drawn on the floor, and every step explains what is happening and why.
The app is available in English and Korean. Use the KO | EN toggle at the top right, or open ?lang=en directly. A Korean version of this README is collapsed at the bottom of the page.README 전문 보기 ↗An interactive playbook that replays 24 offensive sets and 12 special-situation plays commonly run in pro basketball on a 3D half court, step by step. Players move at real game speed, coach-style diagram notation (cuts, dribbles, passes, screens) is drawn on the floor, and every step explains what is happening and why. Every play also branches by defensive read — drop, switch, blitz, top lock and more, 122 reads in all counting each play's base version — so you see not just the play but how to beat each way of guarding it.
The app is available in English and Korean. Use the
KO | ENtoggle at the top right, or open?lang=endirectly. A Korean version of this README is collapsed at the bottom of the page.
| # | Play | Category | Difficulty | In one line | Defensive reads |
|---|---|---|---|---|---|
| 1 | Pick and Roll | On-ball screens | ●○○ | Screen → drive → hit the roller. The basic two-man game | Drop · Hedge · Switch · Blitz · Under |
| 2 | Pick and Pop | On-ball screens | ●○○ | The screener pops to the arc instead of rolling | Hedge · Switch · Up to touch · Rotation |
| 3 | Spain Pick and Roll | On-ball screens | ●●● | P&R plus a back screen on the roller's defender | Help on the roller · Stay home · Avoid the back screen · All switch |
| 4 | Horns (High-Low) | On-ball screens | ●●○ | Two bigs at the elbows: high P&R into a high-low pass | Big helps · Switch · Elbow denial · Force |
| 5 | Floppy | Off-ball screens | ●●○ | Shooter under the rim picks a single or staggered screen | Caught on screens · Trail · Top lock · Switch |
| 6 | Elevator Doors | Off-ball screens | ●●○ | Two screeners close the "doors" behind the shooter | Chase through · Go around · Switch · Help and recover |
| 7 | Iverson Cut | Off-ball screens | ●○○ | Wing-to-wing cut across the top of the key | Late chase · Chase under · Switch · Bump |
| 8 | Chicago | Off-ball screens | ●●○ | Pin-down screen straight into a dribble handoff | Caught on screens · Trail · Switch the handoff · Deny the handoff |
| 9 | Hammer | Motion & drive | ●●○ | Baseline drive + weak-side screen → corner three | Help · No help · Rotation switch · Take away the baseline |
| 10 | Split Action | Motion & drive | ●●● | Post entry, then the two off-ball players screen for each other | Chase the cutter · Switch · Stay with the screener · No post help |
| 11 | Side Pick and Roll | On-ball screens | ●●○ | Pick and roll on the wing, where ICE comes into play | ICE · Drop · Blitz · Switch |
| 12 | Ghost Screen | On-ball screens | ●●○ | The screener fakes the screen and slips out | Pre-switch · Show · Stay home |
| 13 | Weave | On-ball screens | ●●○ | Back-to-back dribble handoffs across the top | Trail · Switch · Under · Deny the handoff |
| 14 | Double Drag | Early offense | ●●○ | Two trailing bigs screen in a row: one pops, one rolls | Drop · Switch · Show |
| 15 | Pistol (21) | Early offense | ●●○ | An early dribble handoff from the 1 to the 2 on the wing | Drop · Show · Deny the handoff · Switch |
| 16 | Trailer Pop | Early offense | ●○○ | The trailing big screens for the ball, then pops for three | Drop · Up to touch · Switch |
| 17 | Flare Screen | Off-ball screens | ●●○ | A screen that lets the shooter fade away from the ball for a skip pass | Trail · Switch · Shortcut |
| 18 | Zipper | Off-ball screens | ●○○ | A cut from the block straight up the lane line to the top | Trail · Top lock · Switch |
| 19 | UCLA Cut | Off-ball screens | ●●○ | Pass to the wing, then cut to the rim off a high-post back screen | Caught on the screen · Help · Switch |
| 20 | Shuffle Cut | Off-ball screens | ●●○ | A diagonal cut from the far wing over a high-post screen | Caught on the screen · Switch · Help |
| 21 | Flex | System offenses | ●●● | Ball reversal, a baseline cut off a block screen, then screen the screener | Caught on the screen · Help · Switch |
| 22 | Princeton Chin | System offenses | ●●● | 2-2-1 set: slot pass, back-screen cut from the high post, then a flare screen | Caught on the screen · Help · Chase over |
| 23 | Delay | System offenses | ●●● | The center at the top hands off to a wing coming up | Trail · Wing deny · Under |
| 24 | Sideline Triangle | System offenses | ●●● | Post, wing and corner form a triangle; post entry, pinch post, blind pig | Play behind · Post deny · Full overplay |
Inbound plays and end-of-game sets. Each one shows a broadcast-style score bug next to the title (period, game clock, score, and the shot clock when it matters). The clock starts at the first catch after an inbound and stops when the last shot reaches the rim.
| # | Play | Category | Difficulty | In one line | Defensive reads |
|---|---|---|---|---|---|
| 25 | Box | Baseline out of bounds | ●●○ | Box set: a back screen at the elbow sends the big to the rim | Caught on the screen · Switch · Packed paint |
| 26 | Stack | Baseline out of bounds | ●○○ | Four in a line break at once, and the screener rolls to the rim | Stay home · Switch · Packed paint |
| 27 | Inbounder Stagger | Baseline out of bounds | ●●○ | The shooter inbounds, steps in and runs off a stagger for three | Trail · Switch · Top lock |
| 28 | Back-Screen Lob | Baseline out of bounds | ●●● | A back screen at the top for an alley-oop at the rim | Deny · Switch · Help |
| 29 | Sideline Stagger | Sideline out of bounds | ●●○ | The shooter runs the baseline, then comes up a stagger to the top for three | Trail · Top lock · Switch |
| 30 | Sideline Lob | Sideline out of bounds | ●●○ | A back screen at the elbow for a lob from the sideline | Caught on the screen · Switch · Help |
| 31 | Beat the Deny | Sideline out of bounds | ●○○ | A down screen to get the guard open, straight into a pick and roll | Normal · Deny · Switch |
| 32 | Ram | After timeout | ●●● | A wing screens the big's defender first, then the big sets the ball screen | Drop · Switch · Hedge |
| 33 | Decoy and Counter | After timeout | ●●● | Show the pin-down the defense scouted, then cut the other way | Overplay · Normal · Switch |
| 34 | Last Shot | End of game | ●●○ | Tied with 7.5 s left: hold, then a pick and roll timed to shoot with a second left | Drop · Blitz · Switch |
| 35 | Down Three | End of game | ●●○ |
Each play comes with step-by-step breakdown · when to use it · key teaching points · how defenses counter it · famous examples.
A play is only half the story; the other half is what the defense does. Every play splits at a branch point into 3–5 reads:
?read=switch#pick-and-roll opens a read directly.| Input | Action |
|---|---|
Space | Play / pause |
Enter | Skip the reading pause and play the step now |
← → | Previous / next step |
↑ ↓ | Previous / next play |
1–5 | Camera: Coach · Broadcast · Top-down board · Baseline · Ball follow |
D N L | Toggle defense · floor notation · number labels |
R | Restart |
T | Switch between light and dark mode |
/ | Search plays |
? | Show the keyboard shortcuts |
| Mouse drag / wheel | Orbit and zoom freely |
PnR) and a difficulty filter. On phones, tap the play title to open the list as a bottom sheet.#hammer opens a play directly, ?cam=top&t=3.5#hammer opens it paused at 3.5 s from the top-down camera, and ?read=blitz#pick-and-roll opens a read.KO | EN toggle switches every label, caption, and play note without restarting playback. ?lang=en or ?lang=ko forces a language; otherwise your last choice (or the browser language) is used.1× is real game speed, which is too fast to read along. So at the start of every step the playback pauses briefly: the court already shows that step's routes and highlights the players involved while you read the caption, then the action plays.
| Mode | Behavior |
|---|---|
| Auto (default) | Pause length scales with the caption length (2.5–10 s) |
| Relaxed | 1.7× longer than Auto |
| Step-by-step | Stops at every step until you press Play, Space, or Enter |
| Off | Continuous playback |
A ring countdown and a Play now button appear next to the caption. Your reading mode, speed, display toggles, language, and theme are remembered in the browser.
| Mark | Meaning |
|---|---|
| White line + arrow | Cut (movement without the ball) |
| Yellow zigzag | Dribble |
| Orange dashes | Pass |
| Cyan line + T-bar | Screen |
| Pink dots | Shot |
Offense is shown as orange numbered circles (1–5), defense as blue X1–X5. While a screen is being set, a translucent "wall" appears in front of the screener.
It is a static site with no build step. Because it uses ES modules, serve it over HTTP instead of opening the file directly:
python -m http.server 8000
# or
npx serve .
Then open http://localhost:8000.
Checks for the play data (motion limits, KO/EN parity, read structure) run on Node 21+:
npm install
npm test
index.html Layout and the Three.js import map
css/style.css UI styles and light/dark theme tokens (3-column desktop / stacked mobile)
js/main.js Entry point: scene setup, playback loop, UI wiring
js/engine.js Compiles a play into a deterministic timeline (players, defense, ball)
js/court.js Regulation half court (canvas texture) and the hoop
js/players.js Mannequin player model, poses (run, defend, screen, shoot), ball
js/notation.js Coach-board notation drawn on the floor
js/camera.js Camera presets and transitions
js/i18n.js UI strings (ko / en) and play-content localization
js/reads.js Defensive reads: builds a play for the chosen read (pure)
js/reads-ui.js Read tabs and the branch-point prompt
js/library.js Searchable, sectioned play list
js/plays/*.js Play definitions (one file per play, Korean + English content)
tests/ Play data and engine checks (npm test)
assets/logo-mark.svg Logo mark (also the favicon)
docs/design.md Design notes
Create a file in js/plays/ and register it in js/plays/index.js. Coordinates are in feet:
x: left sideline -25 to right sideline 25 (negative = offense's left)z: baseline 0 to half-court line 47; the rim is at (0, 5.25)[0, 31], wings [±18, 22], corners [±23, 3.5], elbows [±8, 19.5], blocks [±9, 8]export default {
id: 'my-play', category: 'onball', difficulty: 1, // category: onball | offball | motion | early | system | blob | slob | late | ato
aliases: ['MP', 'my set'], // extra search terms, any language
// Korean content (default)
name: '내 작전', summary: '...', when: '...', keys: ['...'], famous: '...',
counters: [{ name: '스위치', desc: '...', read: 'switch' }], // read: links to an animated read
// English content: same shape, steps are matched by index
en: {
name: 'My Play', summary: '...', when: '...', keys: ['...'], famous: '...',
counters: [{ name: 'Switch', desc: '...' }],
steps: [{ title: 'Set the screen', text: '[5] screens for [x1].' }],
reads: { // matched to the Korean reads by index
prompt: 'How does the defense play the screen?',
base: { label: 'Drop', why: '...' },
options: [{ label: 'Switch', why: '...', steps: [{ title: '...', text: '...' }] }],
},
},
start: { o1: [0, 32], o2: [-23, 3.5], o3: [23, 3.5], o4: [-19, 22], o5: [8, 18] },
ball: 'o1',
steps: [
{
title: '스크린 세팅',
dur: 1.6, // step length in seconds
text: '[5]가 [x1]에게 스크린을 겁니다.', // [1] = offense chip, [x1] = defense chip, **bold**
move: {
o5: [[2.6, 28.6]], // waypoints (starts from the current position)
o1: { path: [[-1.8, 32.6]], t: [0.25, 0.85] }, // t: active window inside the step (0–1)
},
screens: [{ by: 'o5', face: [-1.5, 29.2] }], // face: the point the screen is set toward
def: {
d1: { lag: 0.9 }, // reaction delay (looks "caught" on the screen)
d5: { path: [[3, 17.5]] }, // explicit defender path
// guard: 'o5' (switch), sag: 0 (no help-side sag)
},
ball: [
{ type: 'pass', to: 'o5', at: 0.3 }, // pass | bounce | lob | skip | handoff
{ type: 'shot', at: 0.7, pts: 2, kind: 'dunk' }, // kind: jumper | layup | dunk
],
},
],
};
To branch by defense, add a reads block. at is the number of shared steps; each option's steps replace everything after them, and the play's own remaining steps are the base read:
reads: {
at: 1,
prompt: '수비는 이 스크린을 어떻게 막을까요?',
base: { id: 'drop', label: '드롭', why: '...' },
options: [
{ id: 'switch', label: '스위치', why: '...', steps: [ /* same shape as steps above */ ] },
],
},
Any field missing from the en block falls back to Korean. Unless you script them, defenders position themselves automatically: between their man and the rim, sagging toward the paint when they are far from the ball. Run npm test after editing: it fails on unrealistic speeds, overlapping players, shot distances that do not match the points, missing translations, and reads that do not share the opening exactly.
t, so you can scrub the timeline back and forth preciselynpm test uses Node's built-in test runner; the site itself needs no installCode is released under the MIT License.
This is an unofficial, non-commercial educational project. It is not affiliated with, endorsed by, or sponsored by any professional league, team, or player. Team and player names are trademarks or names of their respective owners and appear only to describe where these publicly known basketball tactics have been used. No logos, player images, or other official assets are used.
프로 농구에서 자주 쓰이는 공격 작전 24가지와 특수 상황 작전 12가지를 3D 코트 위에서 단계별로 재생하며 배우는 인터랙티브 플레이북입니다. 선수들이 실제로 움직이고, 코트 바닥에는 코치들이 쓰는 전술판 표기(컷·드리블·패스·스크린)가 그려지며, 단계마다 지금 무슨 일이 일어나는지 한국어로 설명합니다. 작전마다 수비 대응별 분기(드롭, 스위치, 블리츠, 탑 락킹 등 기본 읽기를 포함해 모두 122가지)가 있어서, 작전 자체뿐 아니라 수비가 어떻게 나올 때 어떻게 풀어야 하는지까지 볼 수 있습니다.
▶ 바로 보기: https://hpotty36.github.io/3d-hoops-playbook/
| # | 작전 | 분류 | 난이도 | 한 줄 요약 | 수비 대응별 분기 |
|---|---|---|---|---|---|
| 1 | 픽 앤 롤 | 온볼 스크린 | ●○○ | 스크린 → 돌파 → 롤맨에게 패스, 가장 기본적인 2인 공격 | 드롭 · 헤지 · 스위치 · 블리츠 · 언더 |
| 2 | 픽 앤 팝 | 온볼 스크린 | ●○○ | 스크리너가 림 대신 3점 라인으로 빠져 슈팅 | 헤지 · 스위치 · 업 투 터치 · 로테이션 |
| 3 | 스페인 픽앤롤 | 온볼 스크린 | ●●● | 픽앤롤 + 롤맨 수비에게 거는 백스크린 | 롤맨 도움 · 슈터 고정 · 백스크린 피하기 · 올 스위치 |
| 4 | 혼즈 | 온볼 스크린 | ●●○ | 엘보의 두 빅맨, 하이 픽앤롤 → 하이-로우 | 빅맨 도움 · 스위치 · 엘보 디나이 · 한쪽으로 몰기 |
| 5 | 플로피 | 오프볼 스크린 | ●●○ | 림 아래 슈터가 싱글/스태거 스크린 중 선택 | 스크린에 걸림 · 트레일 · 탑 락킹 · 스위치 |
| 6 | 엘리베이터 도어 | 오프볼 스크린 | ●●○ | 두 스크리너가 문을 닫듯 수비를 가둠 | 뒤따라가기 · 문 바깥으로 돌기 · 스위치 · 헬프 앤 리커버 |
| 7 | 아이버슨 컷 | 오프볼 스크린 | ●○○ | 자유투 라인 위를 가로지르는 엔트리 컷 | 늦은 추격 · 언더 추격 · 스위치 · 범프 |
| 8 | 시카고 액션 | 오프볼 스크린 | ●●○ | 핀다운 스크린 → 드리블 핸드오프 | 스크린에 걸림 · 트레일 · 핸드오프 스위치 · 핸드오프 차단 |
| 9 | 해머 | 모션 & 드라이브 | ●●○ | 베이스라인 돌파 + 약한 쪽 스크린 → 코너 3점 | 도움 수비 · 노 헬프 · 로테이션 스위치 · 베이스라인 차단 |
| 10 | 스플릿 액션 | 모션 & 드라이브 | ●●● | 포스트 엔트리 후 공 없는 두 선수의 스크린 | 커터 쫓기 · 스위치 · 스크리너 고정 · 포스트 도움 금지 |
| 11 | 사이드 픽앤롤 | 온볼 스크린 | ●●○ | 윙에서 거는 픽앤롤, 아이스 수비가 등장 | 아이스 · 드롭 · 블리츠 · 스위치 |
| 12 | 고스트 스크린 | 온볼 스크린 | ●●○ | 스크린을 거는 척하다 빠지는 스크리너 | 미리 스위치 · 쇼 · 그대로 |
| 13 | 위브 | 온볼 스크린 | ●●○ | 탑에서 이어지는 연속 핸드오프 | 트레일 · 스위치 · 언더 · 핸드오프 차단 |
| 14 | 더블 드래그 | 얼리 오펜스 | ●●○ |
인바운드 작전과 막판 작전입니다. 제목 옆에 중계 화면 같은 스코어 버그(쿼터, 남은 시간, 점수, 필요할 때는 샷 클락)가 붙습니다. 시계는 인바운드 뒤 처음 공을 잡을 때 출발하고, 마지막 슛이 림에 닿으면 멈춥니다.
| # | 작전 | 분류 | 난이도 | 한 줄 요약 | 수비 대응별 분기 |
|---|---|---|---|---|---|
| 25 | 박스 | 베이스라인 인바운드 | ●●○ | 박스 대형: 엘보의 백스크린으로 빅맨이 림으로 | 스크린에 걸림 · 스위치 · 페인트 몰림 |
| 26 | 스택 | 베이스라인 인바운드 | ●○○ | 한 줄로 선 네 명이 한꺼번에 흩어지고 스크리너가 림으로 롤 | 그대로 · 스위치 · 페인트 몰림 |
| 27 | 인바운더 스태거 | 베이스라인 인바운드 | ●●○ | 공을 넣은 슈터가 들어와 스태거를 타고 3점 | 트레일 · 스위치 · 탑 락킹 |
| 28 | 백스크린 롭 | 베이스라인 인바운드 | ●●● | 탑의 백스크린으로 림 앞 앨리웁 | 디나이 · 스위치 · 도움 수비 |
| 29 | 사이드라인 스태거 | 사이드라인 인바운드 | ●●○ | 슈터가 베이스라인을 건너와 스태거를 타고 탑에서 3점 | 트레일 · 탑 락킹 · 스위치 |
| 30 | 사이드라인 롭 | 사이드라인 인바운드 | ●●○ | 엘보의 백스크린으로 사이드라인에서 롭 패스 | 스크린에 걸림 · 스위치 · 도움 수비 |
| 31 | 디나이 깨기 | 사이드라인 인바운드 | ●○○ | 다운 스크린으로 가드를 빼내 곧바로 픽 앤 롤 | 기본 수비 · 디나이 · 스위치 |
| 32 | 램 | 타임아웃 후 작전 | ●●● | 윙이 먼저 빅맨의 수비를 막고, 빅맨이 볼 스크린 | 드롭 · 스위치 · 헤지 |
| 33 | 미끼 & 역습 | 타임아웃 후 작전 | ●●● | 상대가 준비한 핀다운을 보여 주고 반대로 끊어 들어가기 | 오버플레이 · 기본 수비 · 스위치 |
| 34 | 마지막 슛 | 막판 작전 | ●●○ | 동점, 7.5초: 기다렸다가 1초 남기고 슛이 나오도록 맞춘 픽 앤 롤 | 드롭 · 블리츠 · 스위치 |
| 35 | 동점 3점 | 막판 작전 | ●●○ | 3점 뒤진 채 8초: 사이드라인에서 스태거로 동점 3점 | 트레일 · 스위치 · 탑 락킹 |
| 36 | 1초 미만 | 막판 작전 | ●●● | 0.9초: 공을 잡는 순간 시계가 흐르니 받아서 바로 던지거나 팁 인 | 디나이 · 스위치 · 오버플레이 |
작전마다 단계별 진행 · 이럴 때 쓴다 · 핵심 포인트 · 수비는 어떻게 막나 · 대표 사례가 들어 있습니다.
작전은 절반이고, 나머지 절반은 수비가 어떻게 나오느냐입니다. 모든 작전이 분기점에서 3~5가지 읽기로 갈라집니다.
?read=switch#pick-and-roll처럼 특정 읽기를 바로 열 수 있습니다.| 조작 | 기능 |
|---|---|
Space | 재생 / 일시정지 |
Enter | 읽는 시간을 건너뛰고 바로 재생 |
← → | 이전 / 다음 단계 |
↑ ↓ | 이전 / 다음 작전 |
1–5 | 카메라: 코치 · 중계 · 전술판(탑뷰) · 엔드라인 · 공 추적 |
D N L | 수비 · 전술판 표기 · 번호 라벨 켜고 끄기 |
R | 처음부터 다시 |
T | 라이트 / 다크 모드 전환 |
/ | 작전 검색 |
? | 단축키 안내 열기 |
| 마우스 드래그 / 휠 | 자유롭게 회전 · 확대 |
PnR 같은 별칭)과 난이도 필터를 쓸 수 있습니다. 휴대전화에서는 작전 제목을 누르면 목록이 아래에서 올라옵니다.#hammer처럼 작전 id를 붙이면 그 작전이 바로 열리고, ?cam=top&t=3.5#hammer처럼 붙이면 그 장면에서 멈춘 채로, ?read=blitz#pick-and-roll처럼 붙이면 그 읽기로 열립니다.KO | EN 토글로 언어를 바꿀 수 있습니다. 재생은 멈추지 않고 모든 문구와 설명이 바로 바뀝니다. ?lang=ko / ?lang=en으로 언어를 지정해 열 수도 있습니다.1배속은 실제 경기 속도라서 설명을 읽으며 따라가기엔 빠릅니다. 그래서 단계가 시작될 때마다 잠깐 멈추고, 그동안 코트에는 이번 단계의 동선과 관련 선수가 먼저 표시됩니다. 설명을 다 읽으면 그 단계가 실제 속도로 재생됩니다.
| 모드 | 동작 |
|---|---|
| 자동 (기본) | 설명 길이에 맞춰 2.5–10초 멈춤 |
| 넉넉히 | 자동보다 1.7배 길게 멈춤 |
| 단계별 | 단계마다 멈추고 재생(Space/Enter)을 누를 때까지 기다림 |
| 끄기 | 멈추지 않고 이어서 재생 |
설명 옆에 원형 카운트다운과 바로 재생 버튼이 나타납니다. 읽기 모드, 속도, 표시 옵션, 언어, 테마는 브라우저에 저장됩니다.
| 표기 | 의미 |
|---|---|
| 흰 실선 + 화살표 | 컷(공 없이 이동) |
| 노란 지그재그 | 드리블 |
| 주황 점선 | 패스 |
| 하늘색 선 + T자 | 스크린 |
| 분홍 점선 | 슛 |
공격은 주황색 원형 번호(1–5), 수비는 파란색 X1–X5로 표시합니다. 스크린을 거는 순간에는 스크리너 앞에 반투명한 '벽'이 나타납니다.
빌드 과정이 없는 정적 사이트입니다. ES 모듈을 쓰기 때문에 파일을 더블클릭하지 말고 간단한 웹 서버로 여세요.
python -m http.server 8000
그다음 브라우저에서 http://localhost:8000을 엽니다.
작전 데이터 검사(움직임 한계, 한/영 짝, 분기 구조)는 Node 21 이상에서 npm install 후 npm test로 실행합니다.
js/plays/에 파일을 하나 만들고 js/plays/index.js에 등록하면 됩니다. 좌표 단위는 피트(ft)이고, 형식은 위 영어 섹션의 예시와 같습니다. 한국어 내용은 파일 본문에, 영어 내용은 en 블록에 같은 구조로 넣습니다(빠진 항목은 한국어로 표시).
x: 왼쪽 사이드라인 -25 ~ 오른쪽 사이드라인 25 (공격 방향 기준 왼쪽이 음수)z: 베이스라인 0 ~ 하프라인 47, 림 중심은 (0, 5.25)reads 블록으로 넣습니다. at은 공유하는 단계 수이고, 각 읽기의 steps가 그 뒤를 대신합니다(형식은 위 영어 섹션 참고). aliases에는 검색용 별칭을 넣습니다.npm test를 실행하세요. 비현실적인 속도, 겹치는 선수, 점수와 맞지 않는 슛 거리, 빠진 번역, 공유 구간이 어긋난 읽기를 잡아냅니다.코드는 MIT 라이선스로 공개합니다.
이 프로젝트는 비영리·비공식 교육용 자료이며 특정 프로 리그·구단·선수와 관련이 없고, 승인이나 후원을 받지 않았습니다. 구단명과 선수 이름은 각 소유자의 상표 또는 이름이며, 공개적으로 알려진 농구 전술이 쓰인 사례를 설명하기 위해서만 언급합니다. 로고, 선수 사진 등 공식 자료는 사용하지 않습니다.
| Down three with 8 s left: a stagger for the tying three from the sideline |
| Trail · Switch · Top lock |
| 36 | Under a Second | End of game | ●●● | 0.9 s left: the catch starts the clock, so catch and shoot or tip it in | Deny · Switch · Overplay |
| 뒤따라온 빅맨 둘의 연속 스크린: 한 명은 팝, 한 명은 롤 |
| 드롭 · 스위치 · 쇼 |
| 15 | 피스톨 (21) | 얼리 오펜스 | ●●○ | 1번이 윙에서 2번에게 건네는 이른 핸드오프 | 드롭 · 쇼 · 핸드오프 차단 · 스위치 |
| 16 | 트레일러 팝 | 얼리 오펜스 | ●○○ | 늦게 따라온 빅맨이 스크린을 건 뒤 3점 라인 밖으로 팝 | 드롭 · 업 투 터치 · 스위치 |
| 17 | 플레어 스크린 | 오프볼 스크린 | ●●○ | 슈터가 공에서 멀어지며 스킵 패스를 받게 해 주는 스크린 | 트레일 · 스위치 · 지름길 |
| 18 | 지퍼 | 오프볼 스크린 | ●○○ | 블록에서 페인트 옆 선을 따라 탑까지 곧장 올라오는 컷 | 트레일 · 탑 락킹 · 스위치 |
| 19 | UCLA 컷 | 오프볼 스크린 | ●●○ | 윙에 패스한 뒤 하이포스트 백스크린을 타고 림으로 컷 | 스크린에 걸림 · 도움 수비 · 스위치 |
| 20 | 셔플 컷 | 오프볼 스크린 | ●●○ | 먼 쪽 윙에서 하이포스트 스크린을 넘는 대각선 컷 | 스크린에 걸림 · 스위치 · 도움 수비 |
| 21 | 플렉스 | 시스템 오펜스 | ●●● | 볼 리버설, 블록 스크린을 타는 베이스라인 컷, 스크리너 스크린 | 스크린에 걸림 · 도움 수비 · 스위치 |
| 22 | 프린스턴 친 | 시스템 오펜스 | ●●● | 2-2-1 대형: 슬롯 패스, 하이포스트 백스크린 컷, 플레어 스크린 | 스크린에 걸림 · 도움 수비 · 위로 쫓기 |
| 23 | 딜레이 | 시스템 오펜스 | ●●● | 탑의 센터가 올라오는 윙에게 건네는 핸드오프 | 트레일 · 윙 디나이 · 언더 |
| 24 | 사이드라인 트라이앵글 | 시스템 오펜스 | ●●● | 포스트·윙·코너의 삼각형: 포스트 엔트리, 핀치 포스트, 블라인드 피그 | 뒤에서 수비 · 포스트 디나이 · 전원 오버플레이 |